Function at 0x40dcc0
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xa4
cmp dword [ecx + 0x20], 0
je 0x40e189
mov esi, ecx
movzx eax, byte [ecx]
lea ecx, [esp + 0xa0]
push 0xa
push 4
push ecx
push eax
call fcn.0040e1a0
add esp, 0x10
mov ebx, eax
lea eax, [esi + 0x10]
push eax
call fcn.0040a850
add esp, 4
mov ebp, dword [esi + 0x10]
mov eax, dword [esi + 0x58]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x9c], eax
lea eax, [ebp + 0x400]
push eax
call fcn.0040ca90
add esp, 4
mov edi, eax
mov dword [esp + 0x14], 0x5b5f92a0
mov byte [esp + 0x18], 0xf4
mov dword [esp + 0x19], 0
mov byte [esp + 0x1d], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 9
ja 0x40dd7b
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 4]
push eax
call fcn.0040e610
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0xa
jb 0x40dd50
lea eax, [esp + 0x14]
mov ecx, esi
push 0x4543a8
push eax
push edi
call fcn.0040d6e0
mov dword [esp + 0x14], 0x33ded8c0
mov word [esp + 0x18], 0
mov byte [esp + 0x1a], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x40ddeb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 4]
push eax
call fcn.0040e660
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x40ddc0
mov ecx, esi
push ebx
lea eax, [esp + 0x18]
push eax
push edi
call fcn.0040d6e0
mov ebx, dword [str.7uZzAf__key]
mov dword [esp + 4], 0x43e6e8ec
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 3
ja 0x40de4b
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax + 4]
push dword [esp + 0x14]
push eax
call fcn.0040e6e0
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 4], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 4
jb 0x40de20
lea eax, [esp + 4]
mov ecx, esi
push ebx
push eax
push edi
call fcn.0040d6e0
mov dword [esp + 0x14], 0x5f445c43
mov dword [esp + 0x18], 0x4c53485b
mov dword [esp + 0x1c], 0x5655584b
mov byte [esp + 0x20], 0x44
mov word [esp + 0x21], 0
mov byte [esp + 0x23], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0xf
ja 0x40decb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 4]
push eax
call fcn.0040e790
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x10
jb 0x40dea0
mov dword [esp + 4], 0x23b64241
mov byte [esp + 8], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
lea ebx, [esp + 0x14]
ja 0x40df16
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 4]
push dword [esp]
push eax
call fcn.0040e740
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 4], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x40def0
mov ecx, esi
push ebx
lea eax, [esp + 8]
push eax
push edi
call fcn.0040d6e0
mov dword [esp + 0x14], 0xda22e0e2
mov byte [esp + 0x18], 0xb4
mov dword [esp + 0x19], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 8
ja 0x40df7b
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 4]
push eax
call fcn.0040e7d0
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 9
jb 0x40df50
mov ecx, esi
push ebp
push dword [esp + 0xa0]
push ebx
push edi
call fcn.0040d920
mov ebp, dword [esi + 0x60]
mov dword [esp + 0x14], 0xf345f1b3
mov dword [esp + 0x18], 0xff42fd4a
mov dword [esp + 0x1c], 0xfb4cf955
mov dword [esp + 0x20], 0xc7b3c578
mov dword [esp + 0x24], 0xc37bc19c
mov dword [esp + 0x28], 0xcf63cd7c
mov dword [esp + 0x2c], 0xcbaac9b2
mov dword [esp + 0x30], 0xd76bd561
mov dword [esp + 0x34], 0xd36ed164
mov dword [esp + 0x38], 0xdf6edd75
mov dword [esp + 0x3c], 0xdb68d979
mov dword [esp + 0x40], 0x27512598
mov dword [esp + 0x44], 0x2395218e
mov dword [esp + 0x48], 0x2f9b2d9e
mov dword [esp + 0x4c], 0x2b86295d
mov dword [esp + 0x50], 0x378a3595
mov dword [esp + 0x54], 0x33493191
mov dword [esp + 0x58], 0x3f9c3d5c
mov dword [esp + 0x5c], 0x3b87398f
mov dword [esp + 0x60], 0x7aa05b2
mov dword [esp + 0x64], 0x3b001a1
mov dword [esp + 0x68], 0xf4b0db5
mov dword [esp + 0x6c], 0xba709aa
mov dword [esp + 0x70], 0x176b156c
mov dword [esp + 0x74], 0x13bf11bc
mov dword [esp + 0x78], 0x1fb71d61
mov dword [esp + 0x7c], 0x1bb619a8
mov dword [esp + 0x80], 0x67c565d3
mov dword [esp + 0x84], 0x63cf61c9
mov dword [esp + 0x88], 0x6fdc6dde
mov dword [esp + 0x8c], 0x6b1b69c5
mov dword [esp + 0x90], 0x777c7561
mov word [esp + 0x94], 0x7170
mov byte [esp + 0x9a], 0
mov dword [esp + 0x96], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x86
ja 0x40e0fd
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 4]
push eax
call fcn.0040e890
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x87
jb 0x40e0d0
mov dword [esp + 4], 0xf15dff8d
mov dword [esp + 8], 0xf549f340
mov dword [esp + 0xc], 0xf7f4
mov byte [esp + 0x10], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xc
ja 0x40e156
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 4]
push dword [esp]
push eax
call fcn.0040e850
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 4], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xd
jb 0x40e130
push 0x493e0
push ebp
push edi
push 0
push 0
push ebx
lea eax, [esp + 0x1c]
push eax
call fcn.00411780
add esp, 0x1c
mov ebx, eax
push edi
call fcn.0040caa0
add esp, 4
mov eax, dword [esi + 0x60]
add dword [esi + 4], eax
mov dword [esi + 0x60], 0
jmp 0x40e18b
mov bl, 1
mov eax, ebx
add esp, 0xa4
pop esi
pop edi
pop ebx
pop ebp
ret