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

Disassembly:
sub esp, 0x54
push ebx
mov ebx, dword [esp + 0x60]
push ebp
push esi
mov dx, word [ebx + 0x1e]
push edi
mov edi, dword [esp + 0x68]
mov ax, word [edi + 0x1c]
mov bp, word [edi + 2]
mov cx, word [edi + 0x1e]
mov esi, dword [edi + 0x10]
mov word [esp + 0x10], ax
mov eax, ebp
mov word [esp + 0x14], cx
and eax, 0xffff
mov ecx, edx
inc eax
and ecx, 0xffff
mov dword [esp + 0x18], ebp
cmp ecx, eax
jg 0x43ec74
xor ecx, ecx
test dx, dx
mov dword [esp + 0x1c], ecx
jbe 0x43ec74
and ecx, 0xffff
cmp word [esp + 0x1c], bp
mov ax, word [ebx + ecx*2 + 8]
jne 0x43ec09
cmp ax, word [esi + 2]
jae 0x43ec74
mov ecx, dword [esp + 0x10]
and eax, 0xffff
and ecx, 0xffff
inc eax
mov edx, dword [esp + 0x14]
imul eax, ecx
and edx, 0xffff
push ecx
sub edx, eax
add edx, esi
push edx
push ebx
call fcn.0043cce0
add esp, 0xc
test eax, eax
jne 0x43ecca
jmp 0x43ec2d
cmp ax, word [esi + 2]
ja 0x43ec74
lea edi, [ecx + 1]
and edx, 0xffff
and eax, 0xffff
cmp edi, edx
je 0x43ec45
mov edi, dword [esp + 0x68]
mov dword [esp + ecx*4 + 0x34], esi
mov esi, dword [esi + eax*4 + 4]
mov ecx, dword [esp + 0x1c]
mov dx, word [ebx + 0x1e]
inc ecx
cmp cx, dx
mov dword [esp + 0x1c], ecx
jb 0x43ebb7
jmp 0x43ec74
mov ecx, dword [esp + 0x10]
and ecx, 0xffff
inc eax
imul eax, ecx
push ecx
mov ecx, dword [esp + 0x18]
and ecx, 0xffff
sub ecx, eax
add ecx, esi
push ecx
push ebx
call fcn.0043cce0
add esp, 0xc
test eax, eax
jne 0x43ecca
mov edi, dword [esp + 0x68]
mov edx, dword [edi + 0x10]
push ebx
push edi
push ebp
push edx
call fcn.0043e9d0
add esp, 0x10
test eax, eax
je 0x43ec9a
pop edi
pop esi
mov word [ebx + 0x1e], 0
pop ebp
mov eax, 6
pop ebx
add esp, 0x54
ret
mov esi, dword [edi + 0x10]
xor ecx, ecx
mov cx, word [ebx + 0x1e]
xor edx, edx
cmp ecx, 1
jle 0x43ecca
xor eax, eax
xor edi, edi
inc edx
mov di, word [ebx + eax*2 + 8]
mov dword [esp + eax*4 + 0x34], esi
mov eax, edx
mov esi, dword [esi + edi*4 + 4]
and eax, 0xffff
lea edi, [eax + 1]
cmp edi, ecx
jl 0x43ecac
mov ax, word [ebx + 0x1e]
lea edi, [eax - 1]
and eax, 0xffff
cmp di, bp
mov ax, word [ebx + eax*2 + 6]
jae 0x43eda5
mov ecx, eax
mov edx, edi
and ecx, 0xffff
and edx, 0xffff
inc ecx
inc edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], esi
mov ecx, dword [esi + ecx*4]
mov dword [esp + edx*4 + 0x34], esi
cmp di, bp
mov word [ebx + edx*2 + 8], ax
mov esi, ecx
je 0x43ed58
mov eax, edi
and eax, 0xffff
lea edx, [esp + eax*4 + 0x34]
lea ebx, [ebx + eax*2 + 8]
mov eax, ebp
sub eax, edi
and eax, 0xffff
mov dword [esp + 0x28], eax
add edi, eax
mov ax, word [ecx + 2]
mov dword [edx], esi
mov ebp, eax
add ebx, 2
and ebp, 0xffff
add edx, 4
mov ecx, dword [ecx + ebp*4 + 4]
mov word [ebx - 2], ax
mov eax, dword [esp + 0x28]
mov esi, ecx
dec eax
mov dword [esp + 0x28], eax
jne 0x43ed2f
mov bx, word [ecx + 2]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
dec bx
mov dword [esp + 0x28], ebx
and ebx, 0xffff
and eax, 0xffff
and edx, 0xffff
inc ebx
push eax
imul ebx, eax
imul eax, dword [esp + 0x34]
mov ebp, edx
sub edx, eax
sub ebp, ebx
mov ebx, dword [esp + 0x30]
add ebp, ecx
add edx, ebx
push ebp
push edx
call fcn.0043cbf0
mov eax, dword [esp + 0x34]
add esp, 0xc
mov ebx, dword [esp + 0x6c]
xor edx, edx
and eax, 0xffff
mov dx, word [esi + 2]
mov ecx, edx
sub ecx, eax
dec ecx
cmp di, word [esp + 0x18]
jae 0x43ee05
lea ebp, [ecx + 1]
lea eax, [esi + eax*4 + 8]
lea edx, [ebp*4]
push edx
push 0xfffffffffffffffc
push eax
call fcn.0043cc80
mov eax, dword [esp + 0x1c]
xor edx, edx
mov dx, word [esi + 2]
and eax, 0xffff
mov ecx, eax
imul ecx, ebp
inc edx
push ecx
imul edx, eax
push eax
mov eax, dword [esp + 0x28]
and eax, 0xffff
sub eax, edx
add eax, esi
push eax
call fcn.0043cc80
add esp, 0x18
jmp 0x43ee33
test ecx, ecx
jle 0x43ee33
mov eax, dword [esp + 0x10]
and eax, 0xffff
mov ebp, eax
imul ebp, ecx
push ebp
push eax
mov ecx, dword [esp + 0x1c]
imul eax, edx
and ecx, 0xffff
sub ecx, eax
add ecx, esi
push ecx
call fcn.0043cc80
add esp, 0xc
dec word [esi + 2]
mov cx, word [esi + 2]
test di, di
je 0x43f133
test cx, cx
ja 0x43f163
mov eax, edi
and eax, 0xffff
mov dword [esp + 0x30], eax
mov ebp, dword [esp + eax*4 + 0x30]
mov ax, word [ebx + eax*2 + 6]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], eax
cmp ax, word [ebp + 2]
jae 0x43efdb
mov ecx, eax
mov bx, word [esi + 2]
and ecx, 0xffff
cmp di, word [esp + 0x18]
mov dword [esp + 0x20], ecx
mov edx, dword [ebp + ecx*4 + 8]
mov dword [esp + 0x1c], edx
mov ax, word [edx + 2]
lea ebx, [eax + ebx + 1]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x68]
jne 0x43eea8
mov bx, word [ebx + 0xc]
jmp 0x43eeac
mov bx, word [ebx + 0xe]
cmp word [esp + 0x2c], bx
mov ebx, dword [esp + 0x10]
ja 0x43ef69
and ebx, 0xffff
and eax, 0xffff
mov ecx, ebx
mov ebp, dword [esp + 0x14]
imul ecx, eax
push ecx
mov ecx, ebx
neg ecx
push ecx
mov ecx, ebx
imul ecx, eax
and ebp, 0xffff
mov eax, ebp
sub eax, ecx
add eax, edx
push eax
call fcn.0043cc80
mov ecx, dword [esp + 0x2c]
mov edx, ebp
inc ecx
push ebx
imul ecx, ebx
sub edx, ecx
mov ecx, dword [esp + 0x38]
sub ebp, ebx
mov ebx, dword [esp + 0x2c]
add edx, ecx
add ebp, ebx
push edx
push ebp
call fcn.0043cbf0
add esp, 0x18
cmp di, word [esp + 0x18]
jae 0x43ef3a
xor eax, eax
lea ebp, [ebx + 4]
mov ax, word [ebx + 2]
lea ecx, [eax*4 + 4]
push ecx
push 4
push ebp
call fcn.0043cc80
mov edx, dword [esi + 4]
add esp, 0xc
mov dword [ebp], edx
inc word [ebx + 2]
push esi
mov esi, dword [esp + 0x6c]
mov eax, dword [esi + 0x14]
push eax
call fcn.0043f800
mov edx, dword [esi + 8]
mov eax, dword [esp + 0x2c]
add esp, 8
dec edx
mov dword [esi + 8], edx
mov esi, dword [esp + 0x28]
add edi, 0xffff
jmp 0x43eda1
mov eax, dword [esp + 0x14]
and ebx, 0xffff
and eax, 0xffff
inc ecx
imul ecx, ebx
mov edx, eax
push ebx
sub edx, ecx
lea ecx, [edx + ebp]
mov ebp, eax
sub ebp, ebx
push ecx
mov dword [esp + 0x34], ecx
lea eax, [esi + ebp]
push eax
call fcn.0043cbf0
add esp, 0xc
cmp di, word [esp + 0x18]
jae 0x43efaa
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 4]
mov dword [esi + 8], edx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
inc word [esi + 2]
add ebp, eax
push ebx
push ebp
push ecx
call fcn.0043cbf0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x28]
add esp, 0xc
xor eax, eax
inc word [ecx + edx*2 + 6]
jmp 0x43eda1
add eax, 0xffff
mov edx, dword [esp + 0x68]
mov dword [esp + 0x24], eax
and eax, 0xffff
mov dword [esp + 0x20], eax
inc eax
cmp di, word [esp + 0x18]
mov dword [esp + 0x2c], eax
mov ebx, dword [ebp + eax*4]
mov ax, word [ebx + 2]
lea ecx, [eax + ecx + 1]
jne 0x43f00f
mov dx, word [edx + 0xc]
jmp 0x43f013
mov dx, word [edx + 0xe]
cmp cx, dx
ja 0x43f0a8
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
and ecx, 0xffff
and edx, 0xffff
mov dword [esp + 0x28], ecx
push ecx
imul ecx, dword [esp + 0x30]
mov dword [esp + 0x20], edx
sub edx, ecx
and eax, 0xffff
add edx, ebp
inc eax
mov ecx, dword [esp + 0x20]
imul eax, dword [esp + 0x2c]
sub ecx, eax
push edx
add ecx, ebx
push ecx
call fcn.0043cbf0
add esp, 0xc
cmp di, word [esp + 0x18]
jae 0x43f073
mov ecx, dword [esi + 4]
xor eax, eax
mov ax, word [ebx + 2]
mov dword [ebx + eax*4 + 8], ecx
inc word [ebx + 2]
push esi
mov esi, dword [esp + 0x6c]
mov edx, dword [esi + 0x14]
push edx
call fcn.0043f800
mov edx, dword [esi + 8]
mov eax, dword [esp + 0x28]
add esp, 8
dec edx
mov dword [esi + 8], edx
mov dword [ebp + eax*4 + 8], ebx
mov eax, dword [esp + 0x24]
mov esi, ebp
add edi, 0xffff
jmp 0x43eda1
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
and eax, 0xffff
and ecx, 0xffff
mov edx, eax
mov dword [esp + 0x1c], ecx
imul edx, dword [esp + 0x2c]
sub ecx, edx
push eax
add ebp, ecx
mov ecx, dword [esp + 0x20]
sub ecx, eax
push ebp
add ecx, esi
mov dword [esp + 0x30], eax
push ecx
call fcn.0043cbf0
add esp, 0xc
cmp di, word [esp + 0x18]
jae 0x43f0f5
xor edx, edx
mov dx, word [ebx + 2]
mov eax, dword [ebx + edx*4 + 4]
mov dword [esi + 4], eax
inc word [esi + 2]
mov eax, dword [esp + 0x28]
xor ecx, ecx
push eax
mov cx, word [ebx + 2]
imul ecx, eax
mov eax, dword [esp + 0x20]
sub eax, ecx
add eax, ebx
push eax
push ebp
call fcn.0043cbf0
mov ax, word [ebx + 2]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
add esp, 0xc
dec ax
mov esi, ebx
dec word [edx + ecx*2 + 6]
jmp 0x43eda1
test cx, cx
jne 0x43f163
cmp word [esp + 0x18], cx
jbe 0x43f163
mov edi, dword [esp + 0x68]
mov edx, dword [esi + 4]
push esi
mov eax, dword [edi + 0x14]
dec word [edi + 2]
push eax
mov dword [edi + 0x10], edx
call fcn.0043f800
mov eax, dword [edi + 8]
add esp, 8
dec eax
mov dword [edi + 8], eax
jmp 0x43f167
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x10]
mov ebp, dword [edi + 4]
and eax, 0xffff
dec ebp
push eax
mov dword [edi + 4], ebp
push ebx
mov word [ebx + 0x1e], 0
call fcn.0043cc20
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret