Function at 0x40c160
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x23c
mov eax, dword [0x44a904]
mov dword [esp + 0x3c], 0x23bd215d
mov dword [esp + 0x40], 0x27bf25ae
mov dword [esp + 0x44], 0x5bc659c4
mov dword [esp + 0x48], 0x5f015d3d
mov dword [esp + 0x4c], 0x530c5105
mov dword [esp + 0x50], 0x57765504
mov dword [esp + 0x54], 0x4b3d4910
mov dword [esp + 0x58], 0x4fd04dd5
mov dword [esp + 0x5c], 0x43dd4124
mov dword [esp + 0x60], 0x47d545d3
mov dword [esp + 0x64], 0x7b047958
mov dword [esp + 0x68], 0x7f5e7d08
mov dword [esp + 0x6c], 0x73227121
mov dword [esp + 0x70], 0x7726752a
mov dword [esp + 0x74], 0x6b4a6923
mov dword [esp + 0x78], 0x6ff76d1b
mov dword [esp + 0x7c], 0x633461fe
mov dword [esp + 0x80], 0x672d6530
mov dword [esp + 0x84], 0x9b1299b8
mov dword [esp + 0x88], 0x9fca9dca
mov dword [esp + 0x8c], 0x93b291c9
mov dword [esp + 0x90], 0x970695d5
mov dword [esp + 0x94], 0x8b168918
mov dword [esp + 0x98], 0x8ff98de9
mov dword [esp + 0x9c], 0x83e081e5
mov dword [esp + 0xa0], 0x871f85ff
mov dword [esp + 0xa4], 0xbbe5b92c
mov dword [esp + 0xa8], 0xbfedbde9
mov dword [esp + 0xac], 0xb3ecb1e7
mov dword [esp + 0xb0], 0xb7e0b5e7
mov dword [esp + 0xb4], 0xabf2a988
mov dword [esp + 0xb8], 0xafd6add7
mov dword [esp + 0xbc], 0xa3dfa1d4
mov dword [esp + 0xc0], 0xa7faa5d8
mov dword [esp + 0xc4], 0xdb46d9f8
mov dword [esp + 0xc8], 0xdf45dd45
mov dword [esp + 0xcc], 0xd3f2d1b5
mov dword [esp + 0xd0], 0xd7b3d593
mov dword [esp + 0xd4], 0xcb51c9ab
mov dword [esp + 0xd8], 0xcf97cd53
mov dword [esp + 0xdc], 0xc381c1e0
mov dword [esp + 0xe0], 0xc754c55c
mov dword [esp + 0xe4], 0xfb67f967
mov dword [esp + 0xe8], 0xffa1fd99
mov dword [esp + 0xec], 0xf3a3f1a1
mov dword [esp + 0xf0], 0xf7a8f5bd
mov dword [esp + 0xf4], 0xebb4e9b8
mov dword [esp + 0xf8], 0xefb0edbc
mov dword [esp + 0xfc], 0xe3c2e1b0
mov dword [esp + 0x100], 0xe787e597
mov dword [esp + 0x104], 0x1b7b197e
mov dword [esp + 0x108], 0x1f871d8e
mov dword [esp + 0x10c], 0x1347114f
mov dword [esp + 0x110], 0x17411547
mov dword [esp + 0x114], 0xb590956
mov dword [esp + 0x118], 0xf0e0d5a
mov byte [esp + 0x11c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xe0
ja 0x40c3f3
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x3c]
add ecx, 0x4f10f738
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0xe8
mov edx, dword [esp]
mov byte [esp + edx + 0x3c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe1
jb 0x40c3c0
lea edi, [esp + 0x3c]
push 0
push 0
push 0
push 0
push edi
call eax
mov esi, eax
xor eax, eax
test esi, esi
setne al
xor ebx, ebx
jmp dword [eax*4 + 0x44502c]
mov eax, dword [0x44a908]
mov dword [esp + 0x3c], 0xe9eaec39
mov word [esp + 0x40], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 5
ja 0x40c470
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x3c]
add ecx, 0x304a5f57
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0x4d
mov edx, dword [esp]
mov byte [esp + edx + 0x3c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 6
jb 0x40c440
movzx ecx, word [esp + 0x3c]
push 0
push ecx
push 0x44a938
push esi
call eax
xor ecx, ecx
mov dword [esp + 8], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445034]
xor ebx, ebx
jmp dword [0x44507c]
mov eax, dword [0x44a90c]
mov dword [esp + 4], 0x4fce4948
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xc]
cmp ecx, 3
ja 0x40c501
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
movzx edx, byte [esp + edx + 4]
add ecx, 0xf3f87af2
xor ecx, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x3c]
mov edx, ecx
xor edx, 0xba
and ecx, 0x45
add ecx, ecx
sub ecx, edx
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 4], cl
inc dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ecx, 4
jb 0x40c4c0
mov ecx, dword [esp + 0x250]
mov edx, dword [esp + 4]
mov dword [esp + 0x3c], 0x95b0b5c
mov dword [esp + 0x40], 0x56a0765
mov dword [esp + 0x44], 0x304
mov byte [esp + 0x48], 0
mov dword [esp], 0
mov ebx, dword [esp]
cmp ebx, 0xc
ja 0x40c570
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esp]
mov ebp, dword [esp]
movzx ebp, byte [esp + ebp + 0x3c]
add ebx, 0xc5db5303
xor ebx, ebp
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0xc]
add bl, 0xf1
mov ebp, dword [esp]
mov byte [esp + ebp + 0x3c], bl
inc dword [esp]
mov ebx, dword [esp]
cmp ebx, 0xd
jb 0x40c540
push edx
push 0
push 0
push 0
push ecx
push edi
push dword [esp + 0x20]
call eax
mov ebp, eax
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x44503c]
xor ebx, ebx
jmp 0x40c7bd
mov eax, dword [esp + 0x268]
mov ebx, dword [esp + 0x264]
xor ecx, ecx
test eax, eax
setg cl
jmp dword [ecx*4 + 0x445044]
movzx eax, byte [0x44aa3c]
jmp dword [eax*4 + 0x44504c]
push eax
push eax
push eax
push eax
push ebp
call dword [0x44a914]
movzx eax, byte [0x44aa3c]
jmp dword [eax*4 + 0x44504c]
mov dword [esp + 0xc], 0xcf5dc98f
mov dword [esp + 0x10], 0xc35dcd5f
mov dword [esp + 0x14], 0xc7a3c159
mov dword [esp + 0x18], 0xfbdac58a
mov dword [esp + 0x1c], 0xff9df99b
mov dword [esp + 0x20], 0xf368fd9b
mov dword [esp + 0x24], 0xf76bf193
mov dword [esp + 0x28], 0xeb89f57f
mov dword [esp + 0x2c], 0xef67e98e
mov dword [esp + 0x30], 0xe3afed7c
mov word [esp + 0x34], 0xe1e0
mov dword [esp + 0x36], 0
mov byte [esp + 0x3a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2e
ja 0x40c68e
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0xc]
lea edx, [eax + ecx]
add edx, 0x34cd9d52
add eax, 0x34cd9d52
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
add al, 0x66
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2f
jb 0x40c650
movzx eax, word [esp + 0xc]
test ax, ax
je 0x40c6b1
lea edi, [esp + 0x3c]
lea ecx, [esp + 0xe]
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c6a0
mov word [edi], 0
movzx eax, word [0x44aa3e]
test ax, ax
je 0x40c6e5
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi + ecx], ax
movzx eax, word [ecx + 0x44aa40]
add ecx, 2
test ax, ax
jne 0x40c6d0
add edi, ecx
mov word [edi], 0
mov eax, dword [0x44a918]
mov dword [esp + 0xc], 0x81666764
mov word [esp + 0x10], 0
mov byte [esp + 0x12], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 6
ja 0x40c753
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 4]
mov edx, dword [esp + 4]
movzx edx, byte [esp + edx + 0xc]
add ecx, 0xd8816519
xor ecx, edx
mov dword [esp], ecx
mov ecx, dword [esp]
add cl, 0x83
mov edx, dword [esp + 4]
mov byte [esp + edx + 0xc], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 7
jb 0x40c720
lea ecx, [esp + 0x3c]
push dword [esp + 0xc]
push 0xffffffffffffffff
push ecx
push ebp
call eax
xor eax, eax
mov edx, dword [esp + 0x254]
mov ecx, edx
neg ecx
sbb eax, eax
push 0
push ebx
push dword [esp + 0x264]
push dword [esp + 0x264]
push eax
push edx
push ebp
call dword [0x44a91c]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x445054]
xor ebx, ebx
jmp 0x40c7b6
mov edi, dword [esp + 0x260]
jmp dword [0x44505c]
mov eax, ebx
add esp, 0x23c
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
call dword [0x44a930]
push dword [esp + 8]
call dword [0x44a930]
jmp dword [0x44507c]
push 0
push ebp
call dword [0x44a920]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x445074]
mov bl, 1
jmp 0x40c7b6
push esi
call dword [0x44a930]
push esi
call dword [0x44a930]
jmp dword [0x445084]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44506c]
jmp 0x40c7b6
mov dword [esp + 0x3c], 0
lea eax, [esp + 0x3c]
push eax
push ebx
push edi
push ebp
call dword [0x44a92c]
mov dword [esp + 0x3c], 0
lea eax, [esp + 0x3c]
push eax
push ebx
push edi
push ebp
call dword [0x44a92c]
jmp dword [0x445064]
mov dword [eax], case.0x40c40d.1
xchg edx, eax
les eax, [eax]
lcall 0x40c5, 0x8f0040c4
add byte [esi - 1308606267], dl
lds eax, [eax]
rol ch, 0x40
add byte [ecx - 57], ah
inc eax
add cl, bl
lds eax, [eax]
cwde
mov dword [eax], case.0x40c791.1
enter 0x40, 0x10
enter 64, 0xfffffffffffffffe
mov dword [eax], case.0x40c791.3
push cs
enter 64, 0xffffffffffffffcd
mov dword [eax], case.0x40c791.6
out 0xc7, al
inc eax
add cl, dh
mov dword [eax], case.0x40c40d.21
test eax, 0xea0040c7
mov dword [eax], 1
add dword [eax], eax
add byte [eax], al
test eax, 0x10040c7
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebp - 0x32], ch
inc eax
add cl, dh
leave
inc eax
add byte [edi - 0x32], ah
inc eax
add byte [ebx], dl
retf 0x40