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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xe8
cmp dword [ecx + 0x20], 0
je 0x40a537
mov esi, ecx
movzx eax, byte [ecx]
mov byte [esp + 0xb], 0
test eax, eax
je 0x40a53e
cmp al, 0x64
jb 0x40a54d
lea ecx, [eax + eax*4]
lea ecx, [eax + ecx*8]
movzx ecx, cx
shr ecx, 0xc
imul edx, ecx, 0x64
sub al, dl
movzx eax, al
mov edx, eax
and edx, 2
mov edi, eax
or eax, 2
imul eax, edx
xor edx, 2
and edi, 0x7d
imul edi, edx
movzx eax, word [edi + eax + 0x43e528]
mov word [esp + 9], ax
mov edx, 1
mov eax, ecx
jmp 0x40a556
mov bl, 1
jmp 0x40ab82
lea eax, [esp + 0xa]
mov dword [esp + 0xc], eax
mov byte [esp + 0xa], 0x30
jmp 0x40a582
mov edx, 3
cmp al, 9
ja 0x40a56d
movzx eax, byte [eax + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
lea ecx, [esp + edx]
add ecx, 7
mov dword [esp + 0xc], ecx
mov byte [esp + edx + 7], al
jmp 0x40a582
movzx eax, word [eax + eax + 0x43e528]
lea ecx, [esp + 9]
mov dword [esp + 0xc], ecx
mov word [esp + 9], ax
lea eax, [esi + 0x10]
push eax
call fcn.004071d0
add esp, 4
mov edi, dword [esi + 0x10]
mov eax, dword [esi + 0x58]
mov eax, dword [eax + 0x48]
mov dword [esp + 0xb8], eax
lea ebx, [esp + 0xc3]
push ebx
call fcn.00434050
add esp, 4
mov dword [esp + 0xbc], edi
lea eax, [edi + 0x400]
push eax
call fcn.00409230
add esp, 4
mov edi, eax
mov dword [esp + 0x28], 0xb7b3c6b0
mov byte [esp + 0x2c], 0x44
mov word [esp + 0x2d], 0
mov byte [esp + 0x2f], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x40a644
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
lea edx, [eax + ecx]
add edx, 0x702fb80c
add eax, 0x702fb80c
and eax, ecx
add eax, eax
mov ecx, eax
xor ecx, edx
not eax
and eax, edx
add eax, eax
sub eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov ecx, eax
or ecx, 0xab
and eax, 0xab
add eax, ecx
inc al
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x40a5f0
lea eax, [esp + 0x28]
mov ecx, esi
push ebx
mov ebx, eax
push eax
push edi
call fcn.00409de0
mov dword [esp + 0x28], 0xb3d6c8c0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x33], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xe
ja 0x40a6cb
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 + 0x28]
lea edx, [eax + ecx]
add edx, 0x450acb8
add eax, 0x450acb8
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
add al, 0xf8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xf
jb 0x40a690
mov ecx, esi
push dword [esp + 0xc]
push ebx
push edi
call fcn.00409de0
mov eax, dword [str.LPnhqo___BYCRACKEDLIVE]
mov dword [esp + 0x28], 0x5bb6b0cc
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0xb
ja 0x40a74a
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 + 0x28]
lea ebx, [ecx + edx]
add ecx, 0xc
and ecx, edx
add ecx, ecx
sub ebx, ecx
add ebx, 0x3b15ed0c
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x10]
add cl, 0xac
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0xc
jb 0x40a710
mov ecx, esi
push eax
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x14], edi
push edi
call fcn.00409de0
mov dword [esp + 0x28], 0x5760a89b
mov dword [esp + 0x2c], 0x60535c53
mov dword [esp + 0x30], 0x5e515463
mov byte [esp + 0x34], 0xf8
mov word [esp + 0x35], 0
mov byte [esp + 0x37], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xf
ja 0x40a7e4
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 + 0x28]
lea edx, [eax + 0x5fbfb47e]
add eax, 0x7e
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
mov ecx, eax
xor ecx, 0x8d
and eax, 0xd
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x10
jb 0x40a7a0
mov dword [esp + 0x10], 0x73c6cacd
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1b], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0xe
ja 0x40a87a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x10]
lea edx, [eax + 0x7f5d9c8e]
lea ebx, [eax + 0x8e]
and ebx, ecx
mov edi, 0x71
sub edi, eax
and edi, edx
and edi, ecx
add eax, ecx
add eax, 0x7f5d9c8e
lea ecx, [edi + ebx*2]
sub eax, ecx
mov dword [esp], eax
mov eax, dword [esp]
mov ecx, eax
xor ecx, 0x1d
and eax, 0x1d
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0xf
jb 0x40a820
lea eax, [esp + 0x10]
mov ecx, esi
lea ebx, [esp + 0x28]
push ebx
push eax
mov edi, dword [esp + 0x14]
push edi
call fcn.00409de0
mov dword [esp + 0x28], 0x562e2856
mov byte [esp + 0x2c], 0xb4
mov dword [esp + 0x2d], 0
mov dword [esp + 0x31], 0
mov byte [esp + 0x35], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xd
ja 0x40a907
nop
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 + 0x28]
lea edx, [eax + 0x68]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0x794d668
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0x28
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xe
jb 0x40a8d0
mov ecx, esi
push dword [esp + 0xbc]
push dword [esp + 0xbc]
push ebx
push edi
call fcn.0040a090
mov eax, dword [esi + 0x60]
mov dword [esp + 0x28], 0xab39ade3
mov dword [esp + 0x2c], 0xd74aa93a
mov dword [esp + 0x30], 0xd340d5b9
mov dword [esp + 0x34], 0xdf8bd14c
mov dword [esp + 0x38], 0xdb43dda0
mov dword [esp + 0x3c], 0xc7abd948
mov dword [esp + 0x40], 0xc3e2c582
mov dword [esp + 0x44], 0xcf53c155
mov dword [esp + 0x48], 0xcb56cd58
mov dword [esp + 0x4c], 0xf766c9a1
mov dword [esp + 0x50], 0xf36cf595
mov dword [esp + 0x54], 0xffadf16c
mov dword [esp + 0x58], 0xfb69fd96
mov dword [esp + 0x5c], 0xe773f966
mov dword [esp + 0x60], 0xe38ee5b1
mov dword [esp + 0x64], 0xef72e181
mov dword [esp + 0x68], 0xebaded8d
mov dword [esp + 0x6c], 0x1778e9c8
mov dword [esp + 0x70], 0x138f1587
mov dword [esp + 0x74], 0x1f721182
mov dword [esp + 0x78], 0x1b841d7d
mov dword [esp + 0x7c], 0x7431981
mov dword [esp + 0x80], 0x36f056a
mov dword [esp + 0x84], 0xf530158
mov dword [esp + 0x88], 0xb670d60
mov dword [esp + 0x8c], 0x375f0955
mov dword [esp + 0x90], 0x335e35a4
mov dword [esp + 0x94], 0x3f5131a3
mov dword [esp + 0x98], 0x3b573d55
mov dword [esp + 0x9c], 0x27b839a6
mov dword [esp + 0xa0], 0x23732549
mov dword [esp + 0xa4], 0x2f182115
mov word [esp + 0xa8], 0x2d2c
mov word [esp + 0xb2], 0
mov dword [esp + 0xae], 0
mov dword [esp + 0xaa], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x8b
ja 0x40aac5
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
mov edi, ecx
and edi, 0x14b16a3a
xor ecx, 0x94b16a3a
lea ecx, [ecx + edi*2]
lea edi, [ecx + edx]
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esp + 0x10], edi
mov ecx, dword [esp + 0x10]
add cl, 0x6a
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x8c
jb 0x40aa80
mov dword [esp + 0x10], 0x3bdb3907
mov dword [esp + 0x14], 0x3fd73dca
mov word [esp + 0x18], 0xc13e
mov dword [esp + 0x1a], 0
mov dword [esp + 0x1e], 0
mov byte [esp + 0x22], 0
mov dword [esp + 4], 0
mov ecx, dword [esp + 4]
cmp ecx, 0x12
ja 0x40ab4d
nop
nop
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 + 0x10]
lea edi, [ecx - 0x3e8f109]
add ecx, 0xf7
and ecx, edx
or edi, edx
sub edi, ecx
mov dword [esp], edi
mov ecx, dword [esp]
add cl, 0x3f
mov edx, dword [esp + 4]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 4]
mov ecx, dword [esp + 4]
cmp ecx, 0x13
jb 0x40ab10
push 0x493e0
push eax
mov edi, dword [esp + 0x14]
push edi
push 0
push 0
push ebx
lea eax, [esp + 0x28]
push eax
call fcn.0040d8a0
add esp, 0x1c
mov ebx, eax
push edi
call fcn.00409240
add esp, 4
mov eax, dword [esi + 0x60]
add dword [esi + 4], eax
mov dword [esi + 0x60], 0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret