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

Disassembly:
sub esp, 0x20
push ebx
push ecx
push edx
push esi
push edi
push ebp
mov dword [esp + 0x20], ebx
mov ebx, eax
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x20]
mov edi, edx
call fcn.00474d30
mov dword [esp + 0x1c], eax
mov esi, 1
mov edx, dword [esp + 0x44]
mov dword [edx], 0
mov ebp, dword [esp + 0x40]
mov dword [ebp], 0
cmp ecx, 0
jge 0x40d076
push ebp
push dword [esp + 0x40]
mov eax, ebx
mov ebx, dword [esp + 0x24]
call fcn.0040d784
jmp 0x40d564
cmp eax, 0x7348
jne 0x40d099
mov eax, edi
mov ebx, ecx
call fcn.0040d5c4
mov ebx, edx
mov ecx, ebp
call fcn.0040d948
mov eax, 1
jmp 0x40d564
cmp eax, 0x7349
jne 0x40d0bc
mov eax, edi
mov ebx, ecx
call fcn.0040d570
mov ebx, edx
mov ecx, ebp
call fcn.0040d948
mov eax, 1
jmp 0x40d564
cmp ecx, 0
jle 0x40d0d6
push ebp
push dword [esp + 0x40]
mov eax, ebx
mov ebx, dword [esp + 0x24]
call fcn.0040d608
jmp 0x40d564
cmp eax, 0x7cbf
je 0x40d0c1
cmp eax, 0x7310
jne 0x40d11d
mov eax, 0
mov ebx, 0
mov ecx, dword [esp + 0x18]
mov edi, dword [ecx + 0x1d]
cmp ebx, edi
jae 0x40d10f
mov ecx, dword [ecx + 0x19]
imul edi, ebx, 0x18
mov ecx, dword [ecx + edi + 0x10]
and ecx, 4
cmp ecx, 0
je 0x40d10c
inc eax
inc ebx
jmp 0x40d0ee
mov ebx, edx
mov ecx, ebp
call fcn.0040d920
jmp 0x40d562
cmp eax, 0x7cc6
jne 0x40d139
mov al, byte [ebx + 0x10]
and al, 2
shr al, 1
mov ebx, edx
mov ecx, ebp
call fcn.0040d948
jmp 0x40d562
cmp eax, 0x7307
jne 0x40d172
mov eax, dword [ebx + 0x45]
and eax, 0x4000
cmp eax, 0
je 0x40d15f
movsx eax, word [ebx + 0x6d]
mov ebx, edx
mov ecx, ebp
call fcn.0040d920
jmp 0x40d562
mov ebx, edx
mov ecx, ebp
mov eax, 0
call fcn.0040d920
jmp 0x40d562
cmp eax, 0x7300
jne 0x40d1c8
mov dword [esp + 0x34], 0
mov eax, dword [ebx + 0x45]
and eax, 0x4000
cmp eax, 0
je 0x40d197
mov eax, dword [ebx + 0x5f]
mov dword [esp + 0x34], eax
jmp 0x40d1a8
mov eax, ebx
lea ebx, [esp + 0x34]
call fcn.0040b4f4
mov ebx, dword [esp + 0x3c]
mov dword [ebx], eax
cmp dword [esp + 0x34], 0
je 0x40d562
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x1d]
mov ebx, edx
mov ecx, ebp
call fcn.0040d8f8
jmp 0x40d562
cmp eax, 0x730d
jne 0x40d1df
lea eax, [edi]
mov ebx, edx
mov ecx, ebp
call fcn.0040d95c
jmp 0x40d562
cmp eax, 0x730e
jne 0x40d205
mov eax, dword [edi + 0x6e]
and eax, 0x1000000
shr eax, 0x18
cmp eax, 1
sete al
mov ebx, edx
mov ecx, ebp
call fcn.0040d948
jmp 0x40d562
cmp eax, 0x7314
jne 0x40d21d
mov eax, dword [ebx + 0xc]
mov ebx, edx
mov ecx, ebp
call fcn.0040d95c
jmp 0x40d562
cmp eax, 0x7313
jne 0x40d237
mov al, byte [ebx + 0x10]
and al, 1
mov ebx, edx
mov ecx, ebp
call fcn.0040d948
jmp 0x40d562
cmp eax, 0x7312
jne 0x40d24f
mov eax, dword [ebx + 0x2d]
mov ebx, edx
mov ecx, ebp
call fcn.0040d920
jmp 0x40d562
cmp eax, 0x7305
jne 0x40d27d
mov eax, dword [ebx + 0x45]
and eax, 0x1000
cmp eax, 0
je 0x40d26a
mov eax, 1
jmp 0x40d26f
mov eax, 0
mov ebx, edx
mov ecx, ebp
call fcn.0040d948
jmp 0x40d562
cmp eax, 0x730f
jne 0x40d295
mov eax, dword [ebx + 0x25]
mov ebx, edx
mov ecx, ebp
call fcn.0040d920
jmp 0x40d562
cmp eax, 0x7317
jne 0x40d2ad
mov eax, dword [ebx + 4]
mov ebx, edx
mov ecx, ebp
call fcn.0040d95c
jmp 0x40d562
cmp eax, 0x7301
jne 0x40d2ca
mov eax, dword [ebx + 0x78]
call fcn.004272c4
mov ebx, edx
mov ecx, ebp
call fcn.0040d8f8
jmp 0x40d562
cmp eax, 0x7316
jne 0x40d2e1
mov eax, dword [ebx]
mov ebx, edx
mov ecx, ebp
call fcn.0040d95c
jmp 0x40d562
cmp eax, 0x7311
jne 0x40d31f
mov eax, dword [ebx + 0x1d]
mov ebx, 0
mov ecx, dword [esp + 0x18]
mov edi, dword [ecx + 0x1d]
cmp ebx, edi
jae 0x40d311
mov ecx, dword [ecx + 0x19]
imul edi, ebx, 0x18
mov ecx, dword [ecx + edi + 0x10]
and ecx, 4
cmp ecx, 0
je 0x40d30e
dec eax
inc ebx
jmp 0x40d2f0
mov ebx, edx
mov ecx, ebp
call fcn.0040d920
jmp 0x40d562
cmp eax, 0x7318
jne 0x40d33c
mov al, byte [ebx + 0x10]
and al, 0x10
shr al, 4
mov ebx, edx
mov ecx, ebp
call fcn.0040d948
jmp 0x40d562
cmp eax, 0x7315
jne 0x40d354
mov eax, dword [ebx + 8]
mov ebx, edx
mov ecx, ebp
call fcn.0040d95c
jmp 0x40d562
cmp eax, 0x7303
jne 0x40d376
cmp byte [ebx + 0x51], 0
je 0x40d562
mov eax, dword [ebx + 0x53]
mov ebx, edx
mov ecx, ebp
call fcn.0040d95c
jmp 0x40d562
cmp eax, 0x7329
jne 0x40d38e
mov al, byte [ebx + 0x52]
mov ebx, edx
mov ecx, ebp
call fcn.0040d948
jmp 0x40d562
cmp eax, 0x7319
jne 0x40d3ab
mov al, byte [ebx + 0x10]
and al, 4
shr al, 2
mov ebx, edx
mov ecx, ebp
call fcn.0040d948
jmp 0x40d562
cmp eax, 0x734b
jne 0x40d465
lea edi, [esp + 0x24]
mov eax, edi
call fcn.00514a14
mov eax, dword [ebx + 0x11]
mov ebx, 0x51f79c
mov ecx, 0xa
call fcn.0047499c
mov eax, edi
mov ebx, 0x51f79c
call fcn.00514938
mov eax, edi
mov bl, 0x3a
call fcn.0051497c
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x15]
mov ebx, 0x51f79c
mov ecx, 0xa
call fcn.00474948
mov eax, edi
mov ebx, 0x51f79c
call fcn.00514938
mov eax, edi
mov bl, 0x3a
call fcn.0051497c
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x78]
mov eax, dword [eax + 0x23]
mov ebx, 0x51f79c
mov ecx, 0xa
call fcn.0047499c
mov eax, edi
mov ebx, 0x51f79c
call fcn.00514938
mov eax, edi
call fcn.0051448c
mov ebx, eax
mov eax, 0x51f79c
call fcn.004eba60
mov ebx, edx
mov ecx, ebp
mov eax, 0x51f79c
call fcn.0040d95c
mov eax, edi
call fcn.00514a2c
jmp 0x40d562
cmp eax, 0x7c95
jne 0x40d482
mov al, byte [ebx + 0x10]
and al, 8
shr al, 3
mov ebx, edx
mov ecx, ebp
call fcn.0040d948
jmp 0x40d562
cmp eax, 0x7306
jne 0x40d4b0
mov eax, dword [ebx + 0x45]
and eax, 0x4000
cmp eax, 0
je 0x40d49d
mov eax, 1
jmp 0x40d4a2
mov eax, 0
mov ebx, edx
mov ecx, ebp
call fcn.0040d948
jmp 0x40d562
cmp eax, 0x7344
jne 0x40d4d0
mov eax, dword [edi + 0x6e]
and eax, 0x400000
shr eax, 0x16
mov ebx, edx
mov ecx, ebp
call fcn.0040d948
jmp 0x40d562
cmp eax, 0x7304
jne 0x40d4fb
mov eax, dword [ebx + 0x45]
and eax, 0x400
cmp eax, 0
je 0x40d4eb
mov eax, 1
jmp 0x40d4f0
mov eax, 0
mov ebx, edx
mov ecx, ebp
call fcn.0040d948
jmp 0x40d562
cmp eax, 0x7cbf
jne 0x40d50f
mov eax, dword [ebx + 0x11]
mov dword [edx], eax
mov eax, dword [ebx + 0x15]
mov dword [ebp], eax
jmp 0x40d562
cmp eax, 0x7346
jne 0x40d52a
cmp dword [ebx + 0x70], 0
je 0x40d562
mov eax, dword [ebx + 0x70]
mov ebx, edx
mov ecx, ebp
call fcn.0040d95c
jmp 0x40d562
cmp eax, 0x7347
jne 0x40d55d
mov dword [esp + 0x30], 0
or dword [ebx + 0x41], 1
mov eax, ebx
lea ebx, [esp + 0x30]
call fcn.0040e4e4
mov ebx, dword [esp + 0x3c]
mov dword [ebx], eax
mov ebx, edx
mov ecx, ebp
mov eax, dword [esp + 0x30]
call fcn.0040d8f8
jmp 0x40d562
mov esi, 0
mov eax, esi
pop ebp
pop edi
pop esi
pop edx
pop ecx
pop ebx
add esp, 0x20
ret 0xc