UPX0:00401935 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ UPX0:00401935 UPX0:00401935 EncryptLogs proc near ; CODE XREF: sub_4022CA+A65 p UPX0:00401935 ; SendLogs+3B p UPX0:00401935 push ebx UPX0:00401936 push esi UPX0:00401937 push edi UPX0:00401938 push ebp UPX0:00401939 mov edi, offset aAbcdefghijklmn ; UPX0:0040193E xor esi, esi UPX0:00401940 test ecx, ecx UPX0:00401942 jle loc_4019D8 UPX0:00401948 UPX0:00401948 loc_401948: ; CODE XREF: EncryptLogs+9D j UPX0:00401948 cmp esi, 20 UPX0:0040194B jbe short loc_401957 UPX0:0040194D mov byte ptr [edx], 0Dh UPX0:00401950 inc edx UPX0:00401951 mov byte ptr [edx], 0Ah UPX0:00401954 inc edx UPX0:00401955 xor esi, esi UPX0:00401957 UPX0:00401957 loc_401957: ; CODE XREF: EncryptLogs+16 j UPX0:00401957 xor ebx, ebx UPX0:00401959 mov bl, [eax] UPX0:0040195B sar ebx, 2 UPX0:0040195E mov bl, [edi+ebx] UPX0:00401961 mov [edx], bl UPX0:00401963 xor ebx, ebx UPX0:00401965 mov bl, [eax] UPX0:00401967 inc edx UPX0:00401968 and ebx, 3 UPX0:0040196B shl ebx, 4 UPX0:0040196E cmp ecx, 1 UPX0:00401971 jle short loc_40197C UPX0:00401973 movzx ebp, byte ptr [eax+1] UPX0:00401977 sar ebp, 4 UPX0:0040197A jmp short loc_40197E UPX0:0040197C ; -------------------------------------------------------------------------UPX0:0040197C UPX0:0040197C loc_40197C: ; CODE XREF: EncryptLogs+3C j UPX0:0040197C xor ebp, ebp UPX0:0040197E UPX0:0040197E loc_40197E: ; CODE XREF: EncryptLogs+45 j UPX0:0040197E or ebx, ebp UPX0:00401980 mov bl, [edi+ebx] UPX0:00401983 mov [edx], bl UPX0:00401985 inc edx UPX0:00401986 cmp ecx, 1 UPX0:00401989 jle short loc_4019AD UPX0:0040198B xor ebx, ebx UPX0:0040198D mov bl, [eax+1] UPX0:00401990 shl ebx, 2 UPX0:00401993 and ebx, 3Ch UPX0:00401996 cmp ecx, 2 UPX0:00401999 jle short loc_4019A4 UPX0:0040199B movzx ebp, byte ptr [eax+2] UPX0:0040199F sar ebp, 6 UPX0:004019A2 jmp short loc_4019A6 UPX0:004019A4 ; -------------------------------------------------------------------------UPX0:004019A4 UPX0:004019A4 loc_4019A4: ; CODE XREF: EncryptLogs+64 j UPX0:004019A4 xor ebp, ebp UPX0:004019A6 UPX0:004019A6 loc_4019A6: ; CODE XREF: EncryptLogs+6D j UPX0:004019A6 or ebx, ebp UPX0:004019A8 mov bl, [edi+ebx] UPX0:004019AB jmp short loc_4019AF UPX0:004019AD ; -------------------------------------------------------------------------UPX0:004019AD UPX0:004019AD loc_4019AD: ; CODE XREF: EncryptLogs+54 j UPX0:004019AD mov bl, 3Dh UPX0:004019AF UPX0:004019AF loc_4019AF: ; CODE XREF: EncryptLogs+76 j UPX0:004019AF mov [edx], bl UPX0:004019B1 inc edx UPX0:004019B2 cmp ecx, 2 UPX0:004019B5 jle short loc_4019C4 UPX0:004019B7 xor ebx, ebx UPX0:004019B9 mov bl, [eax+2] UPX0:004019BC and ebx, 3Fh UPX0:004019BF mov bl, [edi+ebx] UPX0:004019C2 jmp short loc_4019C6 UPX0:004019C4 ; -------------------------------------------------------------------------UPX0:004019C4 UPX0:004019C4 loc_4019C4: ; CODE XREF: EncryptLogs+80 j UPX0:004019C4 mov bl, 3Dh UPX0:004019C6 UPX0:004019C6 loc_4019C6: ; CODE XREF: EncryptLogs+8D j UPX0:004019C6 mov [edx], bl UPX0:004019C8 inc edx UPX0:004019C9 inc esi UPX0:004019CA sub ecx, 3 UPX0:004019CD add eax, 3 UPX0:004019D0 test ecx, ecx UPX0:004019D2 jg loc_401948 UPX0:004019D8 UPX0:004019D8 loc_4019D8: ; CODE XREF: EncryptLogs+D j UPX0:004019D8 mov byte ptr [edx], 0 UPX0:004019DB mov eax, edx UPX0:004019DD pop ebp UPX0:004019DE pop edi UPX0:004019DF pop esi UPX0:004019E0 pop ebx UPX0:004019E1 retn UPX0:004019E1 EncryptLogs endp