Function at 0x43d720
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x50
push edi
mov edi, ecx
cmp word [edi + 0xa], 0
je 0x43dc35
call fcn.0043c670
mov eax, dword [edi + 0x20]
test eax, eax
je 0x43dc35
push ebx
push ebp
push esi
push eax
call fcn.00441390
mov al, byte [edi + 0x18]
add esp, 4
test al, 4
mov byte [esp + 0x13], 0
mov dword [esp + 0x20], 0
je 0x43d839
push 0
push 0
push 1
mov byte [esp + 0x1f], 1
call fcn.00440d70
mov eax, dword [0xaab478]
add esp, 0xc
mov ecx, dword [eax]
push 1
push 2
push 1
push eax
call dword [ecx + 0xfc]
mov eax, dword [0xaab478]
push 3
push 3
push 1
mov edx, dword [eax]
push eax
call dword [edx + 0xfc]
mov eax, dword [0xaab478]
push 5
push 1
push 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0xfc]
fld dword [edi + 0x78]
fmul dword [0x589700]
call fcn.005749d0
mov esi, eax
cmp esi, 0x80
jbe 0x43d7d1
mov esi, 0x80
fld dword [edi + 0x7c]
fmul dword [0x589700]
call fcn.005749d0
mov ebp, eax
cmp ebp, 0x80
jbe 0x43d7ee
mov ebp, 0x80
fld dword [edi + 0x80]
fmul dword [0x589700]
call fcn.005749d0
mov ebx, eax
cmp ebx, 0x80
jbe 0x43d80e
mov ebx, 0x80
mov eax, dword [0xaab478]
lea ecx, [esp + 0x30]
push ecx
push 0x3c
mov edx, dword [eax]
push eax
call dword [edx + 0xcc]
or esi, 0xffffff00
shl esi, 8
or esi, ebp
shl esi, 8
or esi, ebx
mov dword [esp + 0x20], esi
jmp 0x43d84d
mov eax, dword [0xaab478]
push 1
push 1
push 1
mov edx, dword [eax]
push eax
call dword [edx + 0xfc]
mov al, byte [edi + 0x18]
test al, al
jns 0x43d893
mov eax, dword [0xaab478]
lea edx, [esp + 0x34]
push edx
push 0x11
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0xf8]
mov eax, dword [0xaab478]
push 2
push 0x11
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0xfc]
mov eax, dword [0xaab478]
push 2
push 0x11
push 0
mov edx, dword [eax]
push eax
call dword [edx + 0xfc]
mov eax, dword [edi + 0x18]
test ah, 1
je 0x43d8c2
mov eax, dword [0xaab478]
lea edx, [esp + 0x38]
push edx
push 0xe
mov ecx, dword [eax]
push eax
call dword [ecx + 0xcc]
mov eax, dword [0xaab478]
push 0
push 0xe
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, dword [edi + 0x34]
lea ecx, [esp + 0x14]
push 0
push ecx
mov edx, dword [eax]
push 0
push 0
push eax
call dword [edx + 0x2c]
cmp word [edi + 8], 0
mov esi, dword [edi + 0x8c]
mov dword [esp + 0x1c], 0
jbe 0x43dab2
mov dword [esp + 0x2c], esi
add esi, 0xc
mov dword [esp + 0x24], esi
mov dword [esp + 0x44], 0
lea edx, [esi + 0x10]
add esi, 0x18
mov dword [esp + 0x30], esi
add esi, 0xc
mov dword [esp + 0x28], edx
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
xor ebx, ebx
mov eax, dword [esp + 0x24]
fld dword [eax + ebx*4]
fst dword [esp + 0x18]
fcomp dword [0x589284]
fnstsw ax
test ah, 0x44
jnp 0x43d9ee
mov ecx, dword [esp + 0x28]
mov edx, dword [0xaab484]
xor ebp, ebp
lea eax, [esp + 0x54]
mov bp, word [ecx + ebx*2]
shl ebp, 6
add ebp, edx
mov edx, dword [esp + 0x2c]
push ebp
push edx
push eax
call fcn.005466a7
fld dword [esp + 0x54]
fmul dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
push ebp
lea edx, [esp + 0x58]
push ecx
fadd dword [esp + 0x44]
push edx
fstp dword [esp + 0x48]
fld dword [esp + 0x64]
fmul dword [esp + 0x24]
fadd dword [esp + 0x4c]
fstp dword [esp + 0x4c]
fld dword [esp + 0x68]
fmul dword [esp + 0x24]
fadd dword [esp + 0x50]
fstp dword [esp + 0x50]
call fcn.005466ba
fld dword [esp + 0x54]
fmul dword [esp + 0x18]
fadd dword [esp + 0x48]
fstp dword [esp + 0x48]
fld dword [esp + 0x58]
fmul dword [esp + 0x18]
fadd dword [esp + 0x4c]
fstp dword [esp + 0x4c]
fld dword [esp + 0x5c]
fmul dword [esp + 0x18]
fadd dword [esp + 0x50]
fstp dword [esp + 0x50]
inc ebx
cmp ebx, 4
jl 0x43d93d
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
fld dword [esp + 0x40]
mov dword [ecx], eax
mov edx, dword [esp + 0x14]
fstp dword [edx + 4]
fld dword [esp + 0x44]
mov eax, dword [esp + 0x14]
fstp dword [eax + 8]
fld dword [esp + 0x48]
mov ecx, dword [esp + 0x14]
fstp dword [ecx + 0xc]
fld dword [esp + 0x4c]
mov edx, dword [esp + 0x14]
fstp dword [edx + 0x10]
fld dword [esp + 0x50]
mov eax, dword [esp + 0x14]
fstp dword [eax + 0x14]
mov ecx, dword [esp + 0x14]
mov al, byte [edi]
add ecx, 0x18
test al, al
mov dword [esp + 0x14], ecx
je 0x43da60
mov edx, dword [esp + 0x14]
mov ecx, dword [esi]
mov dword [edx], ecx
mov ecx, dword [esp + 0x14]
add ecx, 4
add esi, 4
mov dword [esp + 0x14], ecx
mov ecx, dword [edi + 0x90]
test ecx, ecx
je 0x43da9b
xor eax, eax
test ecx, ecx
jbe 0x43da9b
mov edx, dword [esp + 0x14]
mov ecx, dword [esi]
add esi, 8
mov dword [edx], ecx
mov edx, dword [esp + 0x14]
mov ecx, dword [esi - 4]
mov dword [edx + 4], ecx
mov ebp, dword [esp + 0x14]
mov ecx, dword [edi + 0x90]
add ebp, 8
inc eax
mov dword [esp + 0x14], ebp
cmp eax, ecx
jb 0x43da70
mov eax, dword [esp + 0x1c]
xor ecx, ecx
mov cx, word [edi + 8]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x43d8ef
mov eax, dword [edi + 0x34]
push eax
mov edx, dword [eax]
call dword [edx + 0x30]
mov eax, dword [0xaab478]
xor edx, edx
mov dx, word [edi + 6]
mov ecx, dword [eax]
push edx
mov edx, dword [edi + 0x34]
push edx
push 0
push eax
call dword [ecx + 0x14c]
mov eax, dword [0xaab478]
mov edx, dword [edi + 0x30]
push 0
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x154]
push 0
push 0
push 1
call fcn.00440d70
push 0
push 0
push 2
call fcn.00440d70
push 0
push 0
push 3
call fcn.00440d70
mov eax, dword [0xaab478]
add esp, 0x24
mov ecx, dword [eax]
push 0
push 0x18
push 0
push eax
call dword [ecx + 0xfc]
mov ecx, dword [edi + 0x28]
xor esi, esi
mov eax, dword [ecx + 4]
test eax, eax
jbe 0x43dbf7
mov ebp, dword [esp + 0x20]
mov ebx, 0x18
push esi
call fcn.0043b940
mov eax, dword [0xaab478]
push esi
push 0xb
push 0
mov edx, dword [eax]
push eax
call dword [edx + 0xfc]
mov al, byte [esp + 0x13]
test al, al
je 0x43dbc2
mov eax, dword [edi + 0x28]
mov cl, byte [ebx + eax]
mov eax, dword [0xaab478]
test cl, cl
mov ecx, dword [eax]
js 0x43dbb5
push ebp
push 0x3c
push eax
call dword [ecx + 0xc8]
mov eax, dword [0xaab478]
push 1
push 2
push 1
mov edx, dword [eax]
push eax
call dword [edx + 0xfc]
mov eax, dword [0xaab478]
push 3
push 3
push 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0xfc]
mov eax, dword [0xaab478]
push 5
push 1
push 1
mov edx, dword [eax]
push eax
call dword [edx + 0xfc]
jmp 0x43dbc2
push 1
push 1
push 1
push eax
call dword [ecx + 0xfc]
xor ecx, ecx
mov eax, dword [0xaab478]
mov cx, word [edi + 0xa]
sub ecx, 2
mov edx, dword [eax]
push ecx
xor ecx, ecx
mov cx, word [edi + 8]
push 0
push ecx
push 0
push 5
push eax
call dword [edx + 0x11c]
mov ecx, dword [edi + 0x28]
inc esi
add ebx, 4
cmp esi, dword [ecx + 4]
jb 0x43db3b
mov al, byte [edi + 0x18]
pop esi
pop ebp
pop ebx
test al, al
jns 0x43dc18
mov ecx, dword [esp + 0x28]
mov eax, dword [0xaab478]
push ecx
push 0x11
mov edx, dword [eax]
push 0
push eax
call dword [edx + 0xfc]
mov eax, dword [edi + 0x18]
test ah, 1
je 0x43dc35
mov eax, dword [0xaab478]
mov ecx, dword [esp + 0x2c]
push ecx
push 0xe
mov edx, dword [eax]
push eax
call dword [edx + 0xc8]
pop edi
add esp, 0x50
ret