Function at 0x4032e0
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push 0xffffffffffffffff
push 0x415452
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x57c
push ebp
push esi
push edi
push 0x10
push 0x40
lea ecx, [esp + 0x54]
call fcn.004132a0
lea ecx, [esp + 0x4c]
mov dword [esp + 0x590], 0
mov dword [esp + 0x4c], vtable.CryptoPP::MD5.0
call fcn.00414880
mov edi, dword [esp + 0x598]
mov al, 0x19
mov byte [esp + 0x40], al
mov byte [esp + 0x45], al
mov dl, 0x15
mov cl, 0xd
mov al, 0x51
mov dword [esp + 0x590], 1
test edi, edi
mov byte [esp + 0x2c], 0x86
mov byte [esp + 0x2d], 3
mov byte [esp + 0x2e], 0x1b
mov byte [esp + 0x2f], dl
mov byte [esp + 0x30], cl
mov byte [esp + 0x31], 0xac
mov byte [esp + 0x32], 0xc
mov byte [esp + 0x33], 0x47
mov byte [esp + 0x34], cl
mov byte [esp + 0x35], 0x10
mov byte [esp + 0x36], 0x8f
mov byte [esp + 0x37], 0x16
mov byte [esp + 0x38], 0x2b
mov byte [esp + 0x39], 0xdf
mov byte [esp + 0x3a], 0xa3
mov byte [esp + 0x3b], 0xc0
mov byte [esp + 0x3c], 0xc9
mov byte [esp + 0x3d], 0xe
mov byte [esp + 0x3e], 0x3a
mov byte [esp + 0x3f], 0x17
mov byte [esp + 0x41], 0x80
mov byte [esp + 0x42], 0x78
mov byte [esp + 0x43], cl
mov byte [esp + 0x44], 0x94
mov byte [esp + 0x46], dl
mov byte [esp + 0x47], 0x13
mov byte [esp + 0x48], al
mov byte [esp + 0x49], 0xa8
mov byte [esp + 0xc], 0x3d
mov byte [esp + 0xd], 0x7e
mov byte [esp + 0xe], al
mov byte [esp + 0xf], 0x56
mov byte [esp + 0x10], 0xa4
mov byte [esp + 0x11], 0xc5
mov byte [esp + 0x12], dl
mov byte [esp + 0x13], 0x1f
mov byte [esp + 0x14], 0x41
mov byte [esp + 0x15], 0xb5
mov byte [esp + 0x16], 0x49
mov byte [esp + 0x17], 0x26
mov byte [esp + 0x18], 0xa8
mov byte [esp + 0x19], 0x83
mov byte [esp + 0x1a], 0x24
mov byte [esp + 0x1b], 0xbf
mov byte [esp + 0x1c], 0x52
mov byte [esp + 0x1d], 0x4e
mov byte [esp + 0x1e], 0x87
mov byte [esp + 0x1f], al
mov byte [esp + 0x20], cl
mov byte [esp + 0x21], 0x2b
mov byte [esp + 0x22], al
mov byte [esp + 0x23], 0x3c
mov byte [esp + 0x24], 0x9f
mov byte [esp + 0x25], 0x6f
mov byte [esp + 0x26], 0xb0
mov byte [esp + 0x27], 0x86
mov byte [esp + 0x28], 0x9d
mov byte [esp + 0x29], 0x10
je 0x40348a
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x84]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x40349f
lea ecx, [esp + 0x84]
push 0x103
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [esp + 0x84]
push 0x41ad48
push edx
call fcn.0040a74a
mov esi, eax
add esp, 8
test esi, esi
jne 0x4034d1
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
push eax
mov dword [esp + 0x594], 3
push ecx
jmp 0x403500
push 2
push 0
push esi
call fcn.0040a9f7
add esp, 0xc
test eax, eax
push esi
je 0x403525
call fcn.0040a69c
add esp, 4
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
push edx
mov dword [esp + 0x594], 5
push eax
lea ecx, [esp + 0x64]
call fcn.004038b0
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
mov edx, edi
xor eax, eax
rep stosd dword es:[edi], eax
push edx
call fcn.00405b1e
add esp, 4
jmp 0x4036dd
call fcn.0040a874
mov ebp, eax
add esp, 4
sub ebp, 0x14
jns 0x40356a
push esi
call fcn.0040a69c
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
mov edx, edi
xor eax, eax
rep stosd dword es:[edi], eax
push edx
call fcn.00405b1e
mov edi, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edx, edi
xor eax, eax
rep stosd dword es:[edi], eax
push edx
call fcn.00405b1e
add esp, 0xc
jmp 0x4036dd
push 0
push 0
push esi
call fcn.0040a9f7
add esp, 0xc
lea ecx, [esp + 0x2c]
push 0x1e
push ecx
lea ecx, [esp + 0x54]
call fcn.00413350
test ebp, ebp
jle 0x4035d3
push esi
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x18c]
push 0x400
lea edx, [esp + 0x190]
push 1
push edx
rep stosd dword es:[edi], eax
call fcn.0040a75d
add esp, 0x10
test eax, eax
je 0x4035d3
sub ebp, eax
jns 0x4035bd
add eax, ebp
push eax
lea eax, [esp + 0x18c]
push eax
lea ecx, [esp + 0x54]
call fcn.00413350
test ebp, ebp
jg 0x40358b
xor eax, eax
mov cl, byte [esp + eax + 0x2c]
mov dl, byte [esp + eax + 0xc]
xor dl, cl
mov byte [esp + eax + 0xc], dl
inc eax
cmp eax, 0x1e
jb 0x4035d5
lea edx, [esp + 0xc]
push 0x1e
push edx
lea ecx, [esp + 0x54]
call fcn.00413350
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x4c]
lea edi, [eax + 0x34]
call dword [eax + 0x1c]
push eax
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x54]
call dword [edi]
push 2
push 0xfffffffffffffff0
push esi
call fcn.0040a9f7
add esp, 0xc
test eax, eax
push esi
je 0x40365a
call fcn.0040a69c
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
mov edx, edi
xor eax, eax
rep stosd dword es:[edi], eax
push edx
call fcn.00405b1e
mov edi, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edx, edi
xor eax, eax
rep stosd dword es:[edi], eax
push edx
call fcn.00405b1e
add esp, 0xc
jmp 0x4036dd
push 0x10
lea ecx, [esp + 0x190]
push 1
push ecx
call fcn.0040a75d
push esi
call fcn.0040a69c
add esp, 0x14
mov ecx, 4
lea edi, [esp + 0x70]
lea esi, [esp + 0x188]
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
mov edi, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, edi
jne 0x4036bc
xor eax, eax
push edx
rep stosd dword es:[edi], eax
call fcn.00405b1e
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, edi
xor eax, eax
rep stosd dword es:[edi], eax
push edx
call fcn.00405b1e
add esp, 8
mov eax, 1
jmp 0x4036df
xor eax, eax
push edx
rep stosd dword es:[edi], eax
call fcn.00405b1e
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, edi
xor eax, eax
rep stosd dword es:[edi], eax
push edx
call fcn.00405b1e
add esp, 8
xor eax, eax
mov ecx, dword [esp + 0x588]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x588
ret 4