Function at 0x40dfc0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xa4
cmp dword [ecx + 0x20], 0
je 0x40e450
mov esi, ecx
movzx eax, byte [ecx]
lea ecx, [esp + 0xa0]
push 0xa
push 4
push ecx
push eax
call fcn.0040e460
add esp, 0x10
mov ebx, eax
lea eax, [esi + 0x10]
push eax
call fcn.0040abd0
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.0040cce0
add esp, 4
mov edi, eax
mov dword [esp + 0x14], 0xf5e5f6e4
mov byte [esp + 0x18], 0x50
mov dword [esp + 0x19], 0
mov dword [esp + 0x1c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xb
ja 0x40e076
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.0040e8f0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xc
jb 0x40e050
lea eax, [esp + 0x14]
mov ecx, esi
push 0x4543e8
push eax
push edi
call fcn.0040d9e0
mov dword [esp], 0x33aea8a0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 3
ja 0x40e0c9
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax]
push dword [esp + 0x14]
push eax
call fcn.0040e930
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 4
jb 0x40e0a0
mov eax, esp
mov ecx, esi
push ebx
push eax
push edi
call fcn.0040d9e0
mov ebx, dword [str.FATE99__]
mov dword [esp + 0x14], 0x8f2a3034
mov word [esp + 0x18], 0
mov byte [esp + 0x1a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x40e126
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.0040e980
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb 0x40e100
mov ecx, esi
push ebx
lea ebx, [esp + 0x18]
push ebx
push edi
call fcn.0040d9e0
mov dword [esp + 0x14], 0xb5a0a8b9
mov dword [esp + 0x18], 0xa0b5bcb1
mov dword [esp + 0x1c], 0xbebfb4a1
mov byte [esp + 0x20], 0xd8
mov word [esp + 0x21], 0
mov byte [esp + 0x23], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xf
ja 0x40e196
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.0040ea40
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x10
jb 0x40e170
mov dword [esp + 0x10], 0x79e61613
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 3
ja 0x40e1d6
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x10]
push dword [esp]
push eax
call fcn.0040e9f0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x10], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 4
jb 0x40e1b0
lea eax, [esp + 0x10]
mov ecx, esi
push ebx
push eax
push edi
call fcn.0040d9e0
mov dword [esp + 0x14], 0xe6eee8e6
mov byte [esp + 0x18], 0x44
mov dword [esp + 0x19], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 8
ja 0x40e236
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.0040eab0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 9
jb 0x40e210
mov ecx, esi
push ebp
push dword [esp + 0xa0]
push ebx
push edi
call fcn.0040dc20
mov ebx, dword [esi + 0x60]
mov dword [esp + 0x14], 0x893b8bd1
mov dword [esp + 0x18], 0x850a873a
mov dword [esp + 0x1c], 0x8130833f
mov dword [esp + 0x20], 0x9ded9f0c
mov dword [esp + 0x24], 0x991d9b30
mov dword [esp + 0x28], 0x952d9728
mov dword [esp + 0x2c], 0x91f293d2
mov dword [esp + 0x30], 0xed65ef23
mov dword [esp + 0x34], 0xe966eb58
mov dword [esp + 0x38], 0xe556e75f
mov dword [esp + 0x3c], 0xe16ce35b
mov dword [esp + 0x40], 0xfd8fff6c
mov dword [esp + 0x44], 0xf94bfb46
mov dword [esp + 0x48], 0xf545f776
mov dword [esp + 0x4c], 0xf14ef387
mov dword [esp + 0x50], 0xcd42cf4f
mov dword [esp + 0x54], 0xc98fcb73
mov dword [esp + 0x58], 0xc578c7a8
mov dword [esp + 0x5c], 0xc149c375
mov dword [esp + 0x60], 0xdd62df72
mov dword [esp + 0x64], 0xd954db63
mov dword [esp + 0x68], 0xd595d75f
mov dword [esp + 0x6c], 0xd169d36a
mov dword [esp + 0x70], 0x2d652f98
mov dword [esp + 0x74], 0x29912b90
mov dword [esp + 0x78], 0x25912763
mov dword [esp + 0x7c], 0x219e2394
mov dword [esp + 0x80], 0x3d833f91
mov dword [esp + 0x84], 0x39813b8b
mov dword [esp + 0x88], 0x35b837b6
mov dword [esp + 0x8c], 0x317d338f
mov dword [esp + 0x90], 0xd180f23
mov word [esp + 0x94], 0xb0c
mov byte [esp + 0x9a], 0
mov dword [esp + 0x96], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x86
ja 0x40e3b8
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.0040eb60
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x87
jb 0x40e390
mov dword [esp], 0xb16d8f5d
mov dword [esp + 4], 0xb559b320
mov word [esp + 8], 0xb7b4
mov dword [esp + 0xa], 0
mov byte [esp + 0xe], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0xe
ja 0x40e419
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
movzx eax, byte [esp + eax]
push dword [esp + 0x10]
push eax
call fcn.0040eb00
add esp, 8
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0xf
jb 0x40e3f0
push 0x493e0
push ebx
push edi
push 0
push 0
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.004111e0
add esp, 0x1c
mov ebx, eax
push edi
call fcn.0040ccf0
add esp, 4
mov eax, dword [esi + 0x60]
add dword [esi + 4], eax
mov dword [esi + 0x60], 0
jmp 0x40e452
mov bl, 1
mov eax, ebx
add esp, 0xa4
pop esi
pop edi
pop ebx
pop ebp
ret