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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
push ebx
push esi
push edi
mov edi, dword [ebp + 0x14]
mov ecx, edi
call fcn.0043ae90
test eax, eax
jne 0x43f1fc
mov ebx, dword [ebp + 0xc]
mov ecx, ebx
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
shl ecx, 4
add eax, 0xfffffffd
add ecx, dword [esi + 0x98]
cmp eax, 0x1a
ja case.0x43f1dd.4
movzx eax, byte [eax + 0x43f52c]
jmp dword [eax*4 + 0x43f4f8]
mov al, byte [ecx + 0xd]
mov ecx, 0xb
movzx eax, al
neg eax
mov word [edi], cx
sbb eax, eax
mov word [edi + 8], ax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ecx]
mov edx, 0x15
mov ecx, dword [ecx + 4]
mov dword [edi + 8], eax
xor eax, eax
mov word [edi], dx
mov dword [edi + 0xc], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esi + 0x174]
mov eax, dword [eax + ebx*4]
cmp eax, 0xffffffff
je 0x43f27f
lea ecx, [eax*4]
mov eax, dword [esi + 0x170]
mov dword [esp + 0x18], ecx
cmp dword [ecx + eax], ebx
jne case.0x43f1dd.4
mov eax, dword [esi + 0x70]
mov edx, dword [esi + 0x48]
mov esi, dword [esp + 0x18]
mov ecx, dword [eax + ecx + 4]
mov eax, dword [eax + esi]
mov esi, dword [edx + ecx*8]
mov ecx, dword [edx + ecx*8 + 4]
sub esi, dword [edx + eax*8]
sbb ecx, dword [edx + eax*8 + 4]
mov eax, 0x15
mov word [edi], ax
xor eax, eax
mov dword [edi + 8], esi
mov dword [edi + 0xc], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, 0x15
mov dword [edi + 8], 0
mov word [edi], ax
xor eax, eax
mov dword [edi + 0xc], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea eax, [esp + 0x28]
push eax
push ebx
lea ecx, [esi + 0xec]
call fcn.00403510
test al, al
je case.0x43f1dd.4
mov eax, 0x15
mov word [edi], ax
mov eax, dword [esp + 0x28]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [edi + 0xc], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push ebx
lea edx, [esi + 0xa4]
mov ecx, edi
call fcn.0043f770
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push ebx
lea edx, [esi + 0xbc]
mov ecx, edi
call fcn.0043f770
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push ebx
lea edx, [esi + 0xd4]
mov ecx, edi
call fcn.0043f770
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push ebx
lea ecx, [esi + 0x104]
call fcn.004034f0
test al, al
je case.0x43f1dd.4
mov eax, dword [esi + 0x110]
mov ecx, 0x13
mov eax, dword [eax + ebx*4]
mov dword [edi + 8], eax
xor eax, eax
mov word [edi], cx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp byte [ecx + 0xe], 0
je case.0x43f1dd.4
mov eax, dword [ecx + 8]
mov ecx, 0x13
mov dword [edi + 8], eax
xor eax, eax
mov word [edi], cx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esi + 0x174]
mov ecx, dword [eax + ebx*4]
cmp ecx, 0xffffffff
je 0x43f494
mov eax, dword [esi + 0x78]
mov dword [esp + 0x3c], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esi + 0x7c]
add eax, dword [ecx]
mov dword [esp + 0x34], eax
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
lea ecx, [esp + 0x34]
mov dword [esp + 0x38], eax
call fcn.00442bc0
mov dword [esp + 0x18], eax
test edx, edx
ja 0x43f4f1
jb 0x43f3cf
cmp eax, 0x7fffffff
ja 0x43f4f1
test eax, eax
je 0x43f494
mov ecx, dword [esp + 0x3c]
nop dword [eax + eax]
cmp ecx, dword [esp + 0x38]
jae 0x43f4ec
mov edx, dword [esp + 0x34]
xorps xmm0, xmm0
movlpd qword [esp + 0x28], xmm0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov al, byte [ecx + edx]
inc ecx
mov byte [esp + 0x13], al
movzx eax, al
and eax, 0xf
mov dword [esp + 0x24], ecx
lea edx, [ecx + edx]
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], 0
jbe 0x43f454
mov edi, dword [esp + 0x1c]
mov ecx, eax
nop dword [eax]
movzx eax, byte [edi + edx]
inc edi
shld ebx, esi, 8
cdq
shl esi, 8
or ebx, edx
mov edx, dword [esp + 0x20]
or esi, eax
cmp edi, ecx
jb 0x43f430
mov ecx, dword [esp + 0x24]
mov edi, dword [ebp + 0x14]
mov eax, dword [esp + 0x14]
add ecx, eax
mov dword [esp + 0x3c], ecx
cmp esi, 0x6f10701
jne 0x43f466
test ebx, ebx
je 0x43f4ad
test byte [esp + 0x13], 0x20
je 0x43f489
lea ecx, [esp + 0x34]
call fcn.00442bc0
test edx, edx
ja 0x43f4f1
jb 0x43f483
cmp eax, 0x7fffffff
ja 0x43f4f1
mov ecx, dword [esp + 0x3c]
add ecx, eax
sub dword [esp + 0x18], 1
jne 0x43f3e0
xor eax, eax
mov ecx, 0xb
mov word [edi + 8], ax
mov word [edi], cx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
or eax, 0xffffffff
jmp 0x43f496
push ebx
lea ecx, [esi + 0x40]
call fcn.00403110
xor al, 1
mov ecx, 0xb
movzx eax, al
dec ax
mov word [edi], cx
mov word [edi + 8], ax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push edi
push ebx
lea ecx, [esi + 0x40]
call fcn.00443150
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
call fcn.00443070
call fcn.00443050
nop
fxtract
inc ebx
add ah, ah
int1
inc ebx
add byte [0x230043f2], al
inc ebx
add byte [0xda0043f3], ah
inc ebx
add bl, dh
inc ebx
add byte [ebx + esi*8], cl
inc ebx
add byte [ebx - 0xd], bh
inc ebx
add byte [eax - 0xd], bl
inc ebx
add byte [edx - 0x5fffbc0c], dh
inc ebx
add dl, bh
int1
inc ebx
add byte [eax], al
or al, 0xc
add dword [edx], eax
add eax, dword [eax + 202114822]
or byte [esp + ecx], cl
or al, 9
or al, 10
or al, 12
or al, 12
or al, 12
or al, 11
int3