Function at 0x40c220
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, 0x440
mov eax, dword [0x442c10]
mov dword [esp + 0x40], 0x79eb7b0f
mov dword [esp + 0x44], 0x65f167fe
mov dword [esp + 0x48], 0x61f663f0
mov dword [esp + 0x4c], 0x6d3f6f0f
mov dword [esp + 0x50], 0x69386b37
mov dword [esp + 0x54], 0x95b69738
mov dword [esp + 0x58], 0x91eb93bc
mov dword [esp + 0x5c], 0x9d0c9f07
mov dword [esp + 0x60], 0x990b9bf0
mov dword [esp + 0x64], 0x851b8701
mov dword [esp + 0x68], 0x81f083a4
mov dword [esp + 0x6c], 0x8dae8ffc
mov dword [esp + 0x70], 0x89da8bd3
mov dword [esp + 0x74], 0xb5e6b7da
mov dword [esp + 0x78], 0xb192b3f1
mov dword [esp + 0x7c], 0xbd29bfc9
mov dword [esp + 0x80], 0xb9e0bb2e
mov dword [esp + 0x84], 0xa5e3a7e4
mov dword [esp + 0x88], 0xa13aa384
mov dword [esp + 0x8c], 0xadf2affa
mov dword [esp + 0x90], 0xa98aabfb
mov dword [esp + 0x94], 0xd546d7e7
mov dword [esp + 0x98], 0xd146d344
mov dword [esp + 0x9c], 0xdda7dfbb
mov dword [esp + 0xa0], 0xd9b4dbb7
mov dword [esp + 0xa4], 0xc551c7ad
mov dword [esp + 0xa8], 0xc193c358
mov dword [esp + 0xac], 0xcd93cf9b
mov dword [esp + 0xb0], 0xc998cb95
mov dword [esp + 0xb4], 0xf5acf795
mov dword [esp + 0xb8], 0xf1daf3d4
mov dword [esp + 0xbc], 0xfdb6ff85
mov dword [esp + 0xc0], 0xf989fb80
mov dword [esp + 0xc4], 0xe5b2e78c
mov dword [esp + 0xc8], 0xe176e3c4
mov dword [esp + 0xcc], 0xed7bef77
mov dword [esp + 0xd0], 0xe9caeb87
mov dword [esp + 0xd4], 0x157d17a1
mov dword [esp + 0xd8], 0x11871379
mov dword [esp + 0xdc], 0x1d491f81
mov dword [esp + 0xe0], 0x19571b3c
mov dword [esp + 0xe4], 0x5980770
mov dword [esp + 0xe8], 0x1910395
mov dword [esp + 0xec], 0xd5f0f6b
mov dword [esp + 0xf0], 0x9550b53
mov dword [esp + 0xf4], 0x3564374f
mov dword [esp + 0xf8], 0x31603364
mov dword [esp + 0xfc], 0x3d6c3f60
mov dword [esp + 0x100], 0x391a3b6c
mov dword [esp + 0x104], 0x25492745
mov dword [esp + 0x108], 0x214d234e
mov dword [esp + 0x10c], 0x2db92fbe
mov dword [esp + 0x110], 0x29712b7d
mov dword [esp + 0x114], 0x550f5775
mov dword [esp + 0x118], 0x510f5306
mov dword [esp + 0x11c], 0x5d5e5f0a
mov byte [esp + 0x122], 0
mov word [esp + 0x120], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xe2
ja 0x40c4c3
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x40]
add ecx, 0x23f95d6b
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0xe9
mov edx, dword [esp]
mov byte [esp + edx + 0x40], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe3
jb 0x40c490
mov ebx, dword [esp + 0x46c]
mov edi, dword [esp + 0x468]
lea ebp, [esp + 0x40]
push 0
push 0
push 0
push 0
push ebp
call eax
xor ecx, ecx
mov dword [esp + 0x3c], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43da4c]
xor esi, esi
xor eax, eax
test edi, edi
setne al
xor ebp, ebp
jmp dword [eax*4 + 0x43dacc]
mov dword [edi], esi
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x43dafc]
mov ecx, dword [esp + 0x454]
mov eax, dword [0x442c14]
mov dword [esp], 0x5756480f
mov dword [esp + 0xc], 0
mov edx, dword [esp + 0xc]
cmp edx, 3
ja 0x40c58a
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0xc]
movzx esi, byte [esp + esi]
lea edi, [edx + esi]
add edx, 0x8e
and edx, esi
sub edi, edx
add edi, 0xc6b0118e
mov esi, edi
xor esi, edx
not edx
and edx, edi
add edx, edx
sub edx, esi
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x40]
add dl, 0x3a
mov esi, dword [esp + 0xc]
mov byte [esp + esi], dl
inc dword [esp + 0xc]
mov edx, dword [esp + 0xc]
cmp edx, 4
jb 0x40c540
movzx edx, word [esp]
push 0
push edx
push ecx
push dword [esp + 0x48]
call eax
xor ecx, ecx
mov dword [esp + 8], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43da54]
xor ebp, ebp
xor esi, esi
mov edi, dword [esp + 0x468]
jmp 0x40ca56
mov esi, dword [esp + 0x458]
jmp dword [0x43da5c]
xor eax, eax
test esi, esi
setne al
mov ebp, edi
jmp dword [eax*4 + 0x43daa4]
mov byte [esi + ebp], 0
mov eax, dword [case.0x40c4eb.12]
mov edi, dword [esp + 0x468]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [0x442c18]
mov dword [esp + 0xc], 0x77f60908
mov word [esp + 0x10], 0
mov byte [esp + 0x12], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x40c650
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0xc]
add ecx, 0xf30a213e
xor ecx, edx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x40]
add cl, 0xca
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x40c620
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x40], 0xf1bf0fbc
mov dword [esp + 0x44], 0xf546f345
mov word [esp + 0x48], 0xf7f4
mov dword [esp + 0x4a], 0
mov dword [esp + 4], 0
mov edx, dword [esp + 4]
cmp edx, 0xd
ja 0x40c6cd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 4]
mov ebx, dword [esp + 4]
movzx ebx, byte [esp + ebx + 0x40]
lea edi, [edx + ebx]
add edx, 0x7d
and edx, ebx
add edx, edx
sub edi, edx
add edi, 0xde2307d
mov dword [esp], edi
mov edx, dword [esp]
add dl, 0x8f
mov edi, dword [esp + 4]
mov byte [esp + edi + 0x40], dl
inc dword [esp + 4]
mov edx, dword [esp + 4]
cmp edx, 0xe
jb 0x40c690
push ecx
push 0
push 0
push 0
push esi
push ebp
push dword [esp + 0x20]
call eax
mov eax, dword [0x442c18]
mov dword [esp + 0xc], 0x77f60908
mov word [esp + 0x10], 0
mov byte [esp + 0x12], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x40c740
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0xc]
add ecx, 0xf30a213e
xor ecx, edx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x40]
add cl, 0xca
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x40c710
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x40], 0xf1bf0fbc
mov dword [esp + 0x44], 0xf546f345
mov word [esp + 0x48], 0xf7f4
mov dword [esp + 0x4a], 0
mov dword [esp + 4], 0
mov edx, dword [esp + 4]
cmp edx, 0xd
ja 0x40c7bd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 4]
mov edi, dword [esp + 4]
movzx edi, byte [esp + edi + 0x40]
lea ebx, [edx + edi]
add edx, 0x7d
and edx, edi
add edx, edx
sub ebx, edx
add ebx, 0xde2307d
mov dword [esp], ebx
mov edx, dword [esp]
add dl, 0x8f
mov edi, dword [esp + 4]
mov byte [esp + edi + 0x40], dl
inc dword [esp + 4]
mov edx, dword [esp + 4]
cmp edx, 0xe
jb 0x40c780
push ecx
push 0
push 0
push 0
push esi
push ebp
push dword [esp + 0x20]
call eax
jmp dword [0x43da68]
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp + 0x38], 0
xor esi, esi
mov edi, dword [esp + 0x468]
jmp dword [eax*4 + 0x43da6c]
movzx eax, byte [0x442d48]
jmp dword [eax*4 + 0x43da74]
mov dword [esp + 0xc], 0xe177e759
mov dword [esp + 0x10], 0xdd77e371
mov dword [esp + 0x14], 0xd941df47
mov dword [esp + 0x18], 0xd5badb92
mov dword [esp + 0x1c], 0xd177d775
mov dword [esp + 0x20], 0xcd4cd34d
mov dword [esp + 0x24], 0xc959cf6d
mov dword [esp + 0x28], 0xc56bcb41
mov dword [esp + 0x2c], 0xc14dc766
mov dword [esp + 0x30], 0x3d85c350
mov dword [esp + 0x34], 0x3f3c
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2b
ja 0x40c89e
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0xc]
add eax, 0x6d1d5759
xor eax, ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
add al, 0x43
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2c
jb 0x40c870
movzx eax, word [esp + 0xc]
test ax, ax
je 0x40c8c2
lea ebp, [esp + 0x40]
lea ecx, [esp + 0xe]
mov word [ebp], ax
add ebp, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c8b0
mov word [ebp], 0
movzx eax, word [0x442d4a]
test ax, ax
je 0x40c8f6
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebp + ecx], ax
movzx eax, word [ecx + 0x442d4c]
add ecx, 2
test ax, ax
jne 0x40c8e0
add ebp, ecx
mov word [ebp], 0
lea eax, [esp + 0x40]
push 0x20000000
push 0xffffffffffffffff
push eax
push ebx
call dword [0x442c24]
xor ebp, ebp
mov ecx, dword [esp + 0x45c]
mov eax, ecx
neg eax
mov eax, 0
sbb eax, eax
push 0
mov edx, dword [esp + 0x468]
push edx
push edx
push dword [esp + 0x46c]
push eax
push ecx
push ebx
call dword [0x442c28]
xor ecx, ecx
test eax, eax
setne cl
xor esi, esi
jmp dword [ecx*4 + 0x43da7c]
push 0
push ebx
call dword [0x442c2c]
xor ecx, ecx
test eax, eax
setne cl
xor ebp, ebp
xor esi, esi
jmp dword [ecx*4 + 0x43da84]
mov dword [esp + 0x38], ebp
jmp dword [0x43dabc]
mov dword [esp + 0x40], 0
xor edi, edi
xor esi, esi
jmp case.0x40c4eb.20
mov dword [esp + 0xc], 0
mov ecx, eax
add ecx, ebp
lea edx, [esp + 0xc]
push edx
push dword [esp + 0x44]
push ecx
push ebx
mov esi, eax
call dword [0x442c34]
add ebp, dword [esp + 0xc]
mov edi, ebp
xor eax, eax
jmp dword [eax*4 + 0x43da9c]
lea eax, [esp + 0x40]
push eax
push ebx
call dword [0x442c30]
test eax, eax
setne cl
mov eax, dword [esp + 0x40]
test eax, eax
setne dl
and dl, cl
movzx ecx, dl
jmp dword [ecx*4 + 0x43da8c]
mov ebp, edi
add eax, edi
inc eax
push eax
push esi
call fcn.00436380
add esp, 8
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x43da94]
mov eax, 1
jmp dword [eax*4 + 0x43da9c]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x43dafc]
mov dword [ebx], ebp
test esi, esi
setne al
add esp, 0x440
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x43daec]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x43dae4]
push dword [esp + 8]
call dword [0x442c3c]
mov ebx, dword [esp + 0x46c]
mov ebp, dword [esp + 0x38]
push dword [esp + 0x3c]
call dword [0x442c3c]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x43dacc]
push esi
call fcn.00433ff0
add esp, 4
push esi
call fcn.00433ff0
add esp, 4
jmp dword [0x43daf8]
push ebx
call dword [0x442c3c]
push ebx
call dword [0x442c3c]
jmp dword [0x43dac8]
les eax, [eax]
adc al, 0xc5
inc eax
add byte [edx - 0x45ffbf3b], ch
lds eax, [eax]
fadd st(6), st(0)
inc eax
add dl, dh
lds eax, [eax]
lds eax, [eax]
rol bh, cl
inc eax
add byte [ecx - 0x36], al
inc eax
add bl, dh
mov dword [eax], case.0x40c4eb.10
add eax, ecx
inc eax
add byte [ecx - 0x37], ch
inc eax
add byte [esi - 0x37], cl
inc eax
add byte [ecx - 0x37], ch
inc eax
add byte [ebx - 0x37], dh
inc eax
add bh, al
lds eax, [eax]
in al, 0xc9
inc eax
add byte [eax + 0x10040c9], dl
retf 0x40