Function at 0x40bd50
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 [0x44a888]
mov dword [esp + 0x40], 0x813787d3
mov dword [esp + 0x44], 0x8d29833a
mov dword [esp + 0x48], 0x893a8f38
mov dword [esp + 0x4c], 0x95fb8b2b
mov dword [esp + 0x50], 0x91e097eb
mov dword [esp + 0x54], 0x9df293e0
mov dword [esp + 0x58], 0x99c79ff4
mov dword [esp + 0x5c], 0xe52c9b33
mov dword [esp + 0x60], 0xe157e748
mov dword [esp + 0x64], 0xed5fe359
mov dword [esp + 0x68], 0xe9b8ef8c
mov dword [esp + 0x6c], 0xf58aebb4
mov dword [esp + 0x70], 0xf186f787
mov dword [esp + 0x74], 0xfd82f386
mov dword [esp + 0x78], 0xf99effb9
mov dword [esp + 0x7c], 0xc551fba1
mov dword [esp + 0x80], 0xc1b8c772
mov dword [esp + 0x84], 0xcd87c3bc
mov dword [esp + 0x88], 0xc976cfac
mov dword [esp + 0x8c], 0xd5b6cbb6
mov dword [esp + 0x90], 0xd1b6d7bf
mov dword [esp + 0x94], 0xdd62d393
mov dword [esp + 0x98], 0xd96adf6c
mov dword [esp + 0x9c], 0x2583db77
mov dword [esp + 0xa0], 0x2184278b
mov dword [esp + 0xa4], 0x2d892375
mov dword [esp + 0xa8], 0x295f2f90
mov dword [esp + 0xac], 0x35572b57
mov dword [esp + 0xb0], 0x3140374d
mov dword [esp + 0xb4], 0x3d4c334d
mov dword [esp + 0xb8], 0x39563f5c
mov dword [esp + 0xbc], 0x5723b6d
mov dword [esp + 0xc0], 0x1510758
mov dword [esp + 0xc4], 0xd760354
mov dword [esp + 0xc8], 0x9ba0f6c
mov dword [esp + 0xcc], 0x15bf0ba3
mov dword [esp + 0xd0], 0x117617bb
mov dword [esp + 0xd4], 0x1dbd1359
mov dword [esp + 0xd8], 0x19ab1fb1
mov dword [esp + 0xdc], 0x65711ba9
mov dword [esp + 0xe0], 0x612b6704
mov dword [esp + 0xe4], 0x6dd063c8
mov dword [esp + 0xe8], 0x69d96fdd
mov dword [esp + 0xec], 0x751b6bc7
mov dword [esp + 0xf0], 0x71057707
mov dword [esp + 0xf4], 0x7d04730b
mov dword [esp + 0xf8], 0x79087f0c
mov dword [esp + 0xfc], 0x450c7b08
mov dword [esp + 0x100], 0x41264734
mov dword [esp + 0x104], 0x4de1431d
mov dword [esp + 0x108], 0x49ed4fe2
mov dword [esp + 0x10c], 0x55e14bfa
mov dword [esp + 0x110], 0x51295725
mov dword [esp + 0x114], 0x5d2b532d
mov dword [esp + 0x118], 0x59235f2a
mov dword [esp + 0x11c], 0xa55a5b26
mov byte [esp + 0x122], 0
mov word [esp + 0x120], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xe2
ja 0x40bffe
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x40]
mov esi, ecx
and esi, 0xfd6d0a21
xor ecx, 0x7d6d0a21
lea ecx, [ecx + esi*2]
xor ecx, edx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
add cl, 0x5b
mov edx, dword [esp]
mov byte [esp + edx + 0x40], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xe3
jb 0x40bfc0
mov ebx, dword [esp + 0x46c]
mov esi, 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 + 0x10], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444f24]
xor ebp, ebp
mov eax, dword [case.0x40c026.33]
xor edi, edi
jmp case.0x40c026.30
mov ecx, dword [esp + 0x454]
mov eax, dword [0x44a88c]
mov dword [esp + 0x40], 0x979698df
mov byte [esp + 0x44], 0
mov dword [esp], 0
mov edx, dword [esp]
cmp edx, 4
ja 0x40c0ab
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp]
mov esi, dword [esp]
movzx esi, byte [esp + esi + 0x40]
mov edi, edx
and edi, 0xc38457e6
xor edx, 0xc38457e6
lea edx, [edx + edi*2]
xor edx, esi
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x14]
add dl, 0x82
mov esi, dword [esp]
mov byte [esp + esi + 0x40], dl
inc dword [esp]
mov edx, dword [esp]
cmp edx, 5
jb 0x40c070
movzx edx, word [esp + 0x40]
push 0
push edx
push ecx
push dword [esp + 0x1c]
call eax
xor ecx, ecx
mov dword [esp + 0xc], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444f2c]
xor edi, edi
xor ebp, ebp
mov esi, dword [esp + 0x468]
jmp 0x40c4e6
mov eax, dword [0x44a890]
mov dword [esp + 8], 0x41c64744
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x14]
cmp ecx, 3
ja 0x40c142
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
movzx edx, byte [esp + edx + 8]
lea esi, [ecx + edx]
add esi, 0xea24b171
add ecx, 0xea24b171
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0x40], esi
mov ecx, dword [esp + 0x40]
add cl, 0xcb
mov edx, dword [esp + 0x14]
mov byte [esp + edx + 8], cl
inc dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
cmp ecx, 4
jb 0x40c100
mov ecx, dword [esp + 0x458]
mov edx, dword [esp + 8]
mov dword [esp + 0x40], 0x438d41b0
mov dword [esp + 0x44], 0x47b245b7
mov word [esp + 0x48], 0x4948
mov dword [esp + 0x4a], 0
mov byte [esp + 0x4e], 0
mov dword [esp], 0
mov esi, dword [esp]
cmp esi, 0xe
ja 0x40c1c7
mov esi, dword [esp]
mov edi, dword [esp]
movzx edi, byte [esp + edi + 0x40]
lea ebx, [esi + edi]
add ebx, 0x9970c990
add esi, 0x90
and esi, edi
mov edi, ebx
not edi
and edi, esi
add edi, esi
not esi
and esi, ebx
sub esi, edi
mov dword [esp + 0x14], esi
mov ebx, dword [esp + 0x14]
add bl, 0x30
mov esi, dword [esp]
mov byte [esp + esi + 0x40], bl
inc dword [esp]
mov esi, dword [esp]
cmp esi, 0xf
jb case.default.0x40c1e1
push edx
push 0
push 0
push 0
push ecx
push ebp
push dword [esp + 0x24]
call eax
xor ecx, ecx
mov dword [esp + 4], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444f34]
xor edi, edi
xor ebp, ebp
mov ebx, dword [esp + 0x46c]
mov esi, dword [esp + 0x468]
jmp 0x40c4dc
mov esi, dword [esp + 0x464]
mov edx, dword [esp + 0x460]
mov ecx, dword [esp + 0x45c]
movzx eax, byte [0x44a9c0]
mov ebx, dword [esp + 0x46c]
jmp dword [eax*4 + 0x444f3c]
mov edi, ecx
mov dword [esp + 0x14], 0xe97beba1
mov dword [esp + 0x18], 0xed43ef79
mov dword [esp + 0x1c], 0xd179d343
mov dword [esp + 0x20], 0xd5b6d78e
mov dword [esp + 0x24], 0xd97bdb75
mov dword [esp + 0x28], 0xdd74df7d
mov dword [esp + 0x2c], 0xc151c37d
mov dword [esp + 0x30], 0xc567c759
mov dword [esp + 0x34], 0xc955cb62
mov dword [esp + 0x38], 0xcd8dcf58
mov dword [esp + 0x3c], 0x33cc
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2b
ja 0x40c2de
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x14]
lea edx, [eax + ecx]
add edx, 0x7b52b6d7
add eax, 0x7b52b6d7
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
add al, 0xcd
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2c
jb 0x40c2a0
movzx eax, word [esp + 0x14]
test ax, ax
je 0x40c302
lea ebp, [esp + 0x40]
lea ecx, [esp + 0x16]
mov word [ebp], ax
add ebp, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c2f0
mov word [ebp], 0
movzx eax, word [0x44a9c2]
test ax, ax
je 0x40c336
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebp + ecx], ax
movzx eax, word [ecx + 0x44a9c4]
add ecx, 2
test ax, ax
jne 0x40c320
add ebp, ecx
mov word [ebp], 0
lea eax, [esp + 0x40]
push 0x20000000
push 0xffffffffffffffff
push eax
push dword [esp + 0x10]
call dword [0x44a89c]
mov ecx, edi
mov edx, dword [esp + 0x460]
xor edi, edi
mov eax, ecx
neg eax
mov eax, 0
sbb eax, eax
push 0
push esi
push esi
push edx
push eax
push ecx
push dword [esp + 0x1c]
call dword [0x44a8a0]
xor ecx, ecx
test eax, eax
setne cl
xor ebp, ebp
mov esi, dword [esp + 0x468]
jmp dword [ecx*4 + 0x444f44]
push 0
push dword [esp + 8]
call dword [0x44a8a4]
xor ecx, ecx
test eax, eax
setne cl
xor edi, edi
xor ebp, ebp
jmp dword [ecx*4 + 0x444f4c]
mov dword [esp + 0x40], 0
xor edi, edi
lea ebx, [esp + 0x14]
xor ebp, ebp
nop
nop
lea eax, [esp + 0x40]
push eax
push dword [esp + 8]
call dword [0x44a8a8]
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 + 0x444f54]
add eax, edi
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
push eax
push ebp
call fcn.0043c620
add esp, 8
mov esi, eax
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x444f5c]
mov ebp, dword [esp + 4]
jmp dword [0x444f68]
mov dword [esp + 0x14], 0
lea eax, [esi + edi]
push ebx
push dword [esp + 0x44]
push eax
push ebp
call dword [0x44a8ac]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 0x14], 0
lea eax, [esi + edi]
push ebx
push dword [esp + 0x44]
push eax
push ebp
call dword [0x44a8ac]
jmp dword [0x444f70]
add edi, dword [esp + 0x14]
mov eax, 1
mov ebp, esi
mov esi, dword [esp + 0x468]
jmp dword [eax*4 + 0x444f74]
xor eax, eax
mov esi, dword [esp + 0x468]
jmp dword [eax*4 + 0x444f74]
jmp dword [eax*4 + 0x444f7c]
jmp 0x40c3c0
jmp dword [0x445030]
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x444f84]
jmp dword [0x444f90]
mov byte [ebp + edi], 0
nop
mov byte [ebp + edi], 0
jmp dword [0x444f94]
mov ebx, dword [esp + 0x46c]
push dword [esp + 4]
call dword [0x44a8b4]
push dword [esp + 0xc]
call dword [0x44a8b4]
push dword [esp + 0x10]
call dword [0x44a8b4]
mov eax, dword [case.0x40c026.33]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x444fac]
jmp dword [0x444fcc]
xor eax, eax
test ebp, ebp
setne al
jmp dword [eax*4 + 0x444fd4]
jmp dword [0x444fe0]
mov dword [esi], ebp
jmp dword [0x444fc0]
test ebp, ebp
setne al
add esp, 0x440
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebx], edi
jmp dword [0x445010]
push ebp
call fcn.0043a150
add esp, 4
push ebp
call fcn.0043a150
add esp, 4
jmp dword [0x444fe4]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x444ffc]
rol byte [eax], 0x3b
rol byte [eax], 0xcc
rol byte [eax], 0xdc
rol byte [eax], 0xe8
rol dword [eax], 0xff
rol dword [eax], 0x5b
ret