Function at 0x40c060
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, 0x44c
mov eax, dword [0x442a0c]
mov dword [esp + 0x4c], 0x21972773
mov dword [esp + 0x50], 0x3d9923aa
mov dword [esp + 0x54], 0x398a3f88
mov dword [esp + 0x58], 0x354b3b9b
mov dword [esp + 0x5c], 0x3140377b
mov dword [esp + 0x60], 0xd523340
mov dword [esp + 0x64], 0x9a70f74
mov dword [esp + 0x68], 0x5bc0bb3
mov dword [esp + 0x6c], 0x1b707b8
mov dword [esp + 0x70], 0x1d8f0389
mov dword [esp + 0x74], 0x19481f7c
mov dword [esp + 0x78], 0x157a1bb4
mov dword [esp + 0x7c], 0x11661767
mov dword [esp + 0x80], 0x6d621366
mov dword [esp + 0x84], 0x690e6f29
mov dword [esp + 0x88], 0x65d16bc1
mov dword [esp + 0x8c], 0x612867d2
mov dword [esp + 0x90], 0x7d27632c
mov dword [esp + 0x94], 0x79f67f1c
mov dword [esp + 0x98], 0x75367b36
mov dword [esp + 0x9c], 0x7116770f
mov dword [esp + 0xa0], 0x4dc27333
mov dword [esp + 0xa4], 0x49fa4ffc
mov dword [esp + 0xa8], 0x45e34bf7
mov dword [esp + 0xac], 0x41e447fb
mov dword [esp + 0xb0], 0x5df94315
mov dword [esp + 0xb4], 0x592f5fd0
mov dword [esp + 0xb8], 0x55175b17
mov dword [esp + 0xbc], 0x5120571d
mov dword [esp + 0xc0], 0xad1c531d
mov dword [esp + 0xc4], 0xa9d6afcc
mov dword [esp + 0xc8], 0xa5f2abfd
mov dword [esp + 0xcc], 0xa1f1a708
mov dword [esp + 0xd0], 0xbdd6a3f4
mov dword [esp + 0xd4], 0xb90abfdc
mov dword [esp + 0xd8], 0xb50fbb03
mov dword [esp + 0xdc], 0xb1d6b70b
mov dword [esp + 0xe0], 0x8d0db3e9
mov dword [esp + 0xe4], 0x893b8f31
mov dword [esp + 0xe8], 0x85f18b39
mov dword [esp + 0xec], 0x81db87e4
mov dword [esp + 0xf0], 0x9d308338
mov dword [esp + 0xf4], 0x99299f2d
mov dword [esp + 0xf8], 0x95eb9b27
mov dword [esp + 0xfc], 0x91e597e7
mov dword [esp + 0x100], 0xede493db
mov dword [esp + 0x104], 0xe998ef9c
mov dword [esp + 0x108], 0xe59ceb98
mov dword [esp + 0x10c], 0xe186e794
mov dword [esp + 0x110], 0xfd41e34d
mov dword [esp + 0x114], 0xf95dff42
mov dword [esp + 0x118], 0xf541fb4a
mov dword [esp + 0x11c], 0xf1b9f785
mov dword [esp + 0x120], 0xcdbbf3bd
mov dword [esp + 0x124], 0xc983cfba
mov dword [esp + 0x128], 0xc5cacb86
mov dword [esp + 0x12c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xe3
ja 0x40c303
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x4c]
add ecx, 0x31777e09
xor ecx, edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
add cl, 0xd3
mov edx, dword [esp]
mov byte [esp + edx + 0x4c], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe4
jb 0x40c2d0
mov edi, dword [esp + 0x478]
lea ebx, [esp + 0x4c]
push 0
push 0
push 0
push 0
push ebx
call eax
mov esi, eax
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x43daa0]
xor ebx, ebx
mov eax, dword [case.0x40c322.42]
xor ebp, ebp
jmp case.0x40c322.40
mov ebp, dword [esp + 0x460]
mov edi, dword [0x442a10]
mov dword [esp + 0x4c], 0xd1ceccb1
mov word [esp + 0x50], 0
mov byte [esp + 0x52], 0
jmp dword [0x43daa8]
push 0
push ebx
call dword [0x442a28]
xor ecx, ecx
test eax, eax
setne cl
xor ebp, ebp
mov dword [esp + 4], 0
jmp dword [ecx*4 + 0x43dae8]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x10], 0
lea ebp, [esp + 0x14]
mov dword [esp + 4], 0
mov dword [esp + 0x44], esi
jmp 0x40c3c6
mov ebx, edi
mov eax, 1
jmp dword [eax*4 + 0x43db10]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xc]
lea eax, [esp + 0x4c]
push eax
push ebx
call dword [0x442a2c]
test eax, eax
setne cl
mov eax, dword [esp + 0x4c]
test eax, eax
setne dl
and dl, cl
movzx ecx, dl
jmp dword [ecx*4 + 0x43daf0]
mov ecx, dword [esp + 0x10]
add eax, ecx
inc eax
push eax
mov edi, dword [esp + 8]
push edi
call fcn.00435df0
add esp, 8
mov ebx, eax
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x43daf8]
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
jmp dword [0x43db04]
mov dword [esp + 0x14], 0
lea eax, [ebx + esi]
push ebp
push dword [esp + 0x50]
push eax
push edi
call dword [0x442a30]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x14], 0
lea eax, [ebx + esi]
push ebp
push dword [esp + 0x50]
push eax
push edi
call dword [0x442a30]
jmp dword [0x43db08]
add esi, dword [esp + 0x14]
mov dword [esp + 0x10], esi
mov dword [esp + 4], ebx
xor eax, eax
mov esi, dword [esp + 0x44]
jmp dword [eax*4 + 0x43db10]
xor eax, eax
mov ecx, dword [esp + 4]
test ecx, ecx
setne al
mov ebp, dword [esp + 0x10]
jmp dword [eax*4 + 0x43db18]
jmp dword [0x43db24]
mov byte [ecx + ebp], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx + ebp], 0
jmp dword [0x43db2c]
mov eax, dword [case.0x40c7ea.8]
mov edi, dword [esp + 0x478]
mov ebx, dword [esp + 0xc]
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [ecx], ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x43db6c]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x43db70]
mov dword [edi], ebp
test ebx, ebx
setne al
add esp, 0x44c
pop esi
pop edi
pop ebx
pop ebp
ret
xor ebp, ebp
xor ebx, ebx
mov edi, dword [esp + 0x478]
push esi
call dword [0x442a38]
mov eax, dword [case.0x40c322.42]
nop
nop
nop
jmp eax
xor eax, eax
mov ecx, dword [esp + 0x474]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x43db50]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x43db58]
push ebx
call fcn.00433e80
add esp, 4
jmp case.0x40c322.46
push ebx
call dword [0x442a38]
mov ebx, dword [esp + 4]
jmp 0x40c551
xor ebp, ebp
xor ebx, ebx
push dword [esp + 0x48]
call dword [0x442a38]
jmp 0x40c501
mov dword [esp + 0x14], 0x33c531f3
mov dword [esp + 0x18], 0x3fd53dcb
mov dword [esp + 0x1c], 0x3bd739d1
mov dword [esp + 0x20], 0xc7e6c5fe
mov dword [esp + 0x24], 0xc325c127
mov dword [esp + 0x28], 0xcf20cd2f
mov dword [esp + 0x2c], 0xcb3fc92f
mov dword [esp + 0x30], 0xd731d52b
mov dword [esp + 0x34], 0xd32bd132
mov dword [esp + 0x38], 0xdf1bdd2c
mov word [esp + 0x3c], 0xd9d8
mov dword [esp + 0x3e], 0
mov byte [esp + 0x42], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2e
ja 0x40c5fe
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x14]
add eax, 0xd17fc974
xor eax, ecx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
add al, 0xbc
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2f
jb 0x40c5d0
movzx eax, word [esp + 0x14]
test ax, ax
je 0x40c621
lea ebx, [esp + 0x4c]
lea ecx, [esp + 0x16]
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c610
mov word [ebx], 0
movzx eax, word [0x442b46]
test ax, ax
je 0x40c655
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx + ecx], ax
movzx eax, word [ecx + 0x442b48]
add ecx, 2
test ax, ax
jne 0x40c640
add ebx, ecx
mov word [ebx], 0
lea eax, [esp + 0x4c]
push 0x20000000
push 0xffffffffffffffff
push eax
push dword [esp + 0x18]
call dword [0x442a20]
xor ebp, ebp
mov ecx, dword [esp + 0x468]
mov eax, ecx
neg eax
mov eax, 0
sbb eax, eax
push 0
mov edx, dword [esp + 0x474]
push edx
push edx
push dword [esp + 0x478]
push eax
push ecx
mov ebx, dword [esp + 0x24]
push ebx
call dword [0x442a24]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 4], 0
jmp dword [ecx*4 + 0x43dae0]
movzx eax, byte [0x442b44]
jmp dword [eax*4 + 0x43dad8]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43dab8]
mov ecx, dword [0x442a14]
mov dword [esp + 4], ecx
mov dword [esp + 0x14], 0x119e1f1c
mov word [esp + 0x18], 0
mov byte [esp + 0x1a], 0
mov dword [esp], 0
mov edx, dword [esp]
cmp edx, 6
ja 0x40c740
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp]
mov edi, dword [esp]
movzx edi, byte [esp + edi + 0x14]
add edx, 0xa7dfb685
xor edx, edi
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x4c]
add dl, 0x67
mov edi, dword [esp]
mov byte [esp + edi + 0x14], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 7
jb 0x40c710
mov edx, dword [esp + 0x14]
mov dword [esp + 0x4c], 0x79cb7bb4
mov dword [esp + 0x50], 0x7dca7fcd
mov word [esp + 0x54], 0x737c
mov dword [esp + 0x56], 0
mov dword [esp + 8], 0
mov edi, dword [esp + 8]
cmp edi, 0xd
ja 0x40c7c0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [esp + 8]
mov ebp, dword [esp + 8]
movzx ebp, byte [esp + ebp + 0x4c]
lea ecx, [edi + ebp]
add ecx, 0x302624bf
add edi, 0x302624bf
and edi, ebp
add edi, edi
sub ecx, edi
mov dword [esp], ecx
mov ecx, dword [esp]
add cl, 0x45
mov edi, dword [esp + 8]
mov byte [esp + edi + 0x4c], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0xe
jb 0x40c780
push edx
push 0
push 0
push 0
push dword [esp + 0x474]
push ebx
mov dword [esp + 0x60], eax
push eax
call dword [esp + 0x20]
xor ecx, ecx
mov dword [esp + 0xc], eax
test eax, eax
setne cl
mov edi, dword [esp + 0x478]
jmp dword [ecx*4 + 0x43dac0]
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x40c82e
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x4c]
add eax, 0x6dc200ad
xor eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add al, 0x9f
mov ecx, dword [esp]
mov byte [esp + ecx + 0x4c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb 0x40c800
movzx eax, word [esp + 0x4c]
push 0
push eax
push ebp
push esi
call edi
jmp dword [0x43dab4]
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x40c87e
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x4c]
add eax, 0x6dc200ad
xor eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add al, 0x9f
mov ecx, dword [esp]
mov byte [esp + ecx + 0x4c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb 0x40c850
movzx eax, word [esp + 0x4c]
push 0
push eax
push ebp
push esi
call edi
jmp case.0x40c322.2
ret
lds eax, [eax]
mov ecx, 0x10040c6
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx + 0x700040c6], bh
mov byte [eax], 0x5d
lds eax, [eax]
inc eax
lds eax, [eax]
pop esi
ret