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

Disassembly:
mov edx, dword [esp + 4]
movzx ecx, word [edx + 0x1c]
sub esp, 0x50
push ebx
push esi
mov esi, dword [esp + 0x60]
movzx eax, word [esi + 0x1c]
mov ebx, eax
or ebx, ecx
test bl, 1
je 0x46c9dc
and eax, 1
and ecx, 1
pop esi
sub eax, ecx
pop ebx
add esp, 0x50
ret
test bl, 0xc
je 0x46ca6d
mov ebx, eax
and ebx, ecx
test bl, 4
je 0x46ca21
mov eax, dword [edx + 0x10]
mov ecx, dword [esi + 0x10]
mov edx, dword [edx + 0x14]
mov esi, dword [esi + 0x14]
cmp edx, esi
jg 0x46ca0e
jl 0x46ca50
cmp eax, ecx
jb 0x46ca50
cmp edx, esi
jl 0x46ca19
jg 0x46ca0e
cmp eax, ecx
jbe 0x46ca19
pop esi
mov eax, 1
pop ebx
add esp, 0x50
ret
pop esi
xor eax, eax
pop ebx
add esp, 0x50
ret
test cl, 8
je 0x46ca2b
fld qword [edx + 8]
jmp 0x46ca33
test cl, 4
je 0x46ca0e
fild qword [edx + 0x10]
test al, 8
je 0x46ca3c
fld qword [esi + 8]
jmp 0x46ca43
test al, 4
je 0x46ca4e
fild qword [esi + 0x10]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x46ca59
fstp st(0)
fstp st(0)
pop esi
or eax, 0xffffffff
pop ebx
add esp, 0x50
ret
fcompp
fnstsw ax
test ah, 5
jp 0x46ca19
pop esi
mov eax, 1
pop ebx
add esp, 0x50
ret
test bl, 2
push edi
je 0x46cba5
test cl, 2
jne 0x46ca88
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x50
ret
test al, 2
jne 0x46ca96
pop edi
pop esi
or eax, 0xffffffff
pop ebx
add esp, 0x50
ret
mov edi, dword [esp + 0x68]
test edi, edi
je 0x46cba5
mov al, byte [edx + 0x1f]
cmp al, byte [edi + 4]
jne 0x46cacd
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x18]
push ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 0x18]
push eax
mov eax, dword [edi + 8]
push ecx
mov ecx, dword [edi + 0xc]
push edx
push eax
call ecx
add esp, 0x14
pop edi
pop esi
pop ebx
add esp, 0x50
ret
xor eax, eax
push 0x1000
push edx
lea edx, [esp + 0x14]
push edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
call fcn.0046be70
push 0x1000
lea eax, [esp + 0x44]
push esi
push eax
call fcn.0046be70
movzx ecx, byte [edi + 4]
push ecx
lea edx, [esp + 0x28]
push edx
call fcn.0046c5a0
mov ebx, eax
movzx eax, byte [edi + 4]
mov esi, ebx
neg esi
push eax
lea ecx, [esp + 0x58]
sbb esi, esi
and esi, dword [esp + 0x48]
push ecx
call fcn.0046c5a0
mov edx, dword [edi + 8]
mov ecx, eax
neg ecx
push eax
mov eax, dword [edi + 0xc]
sbb ecx, ecx
and ecx, dword [esp + 0x78]
push ecx
push ebx
push esi
push edx
call eax
lea ecx, [esp + 0x48]
push ecx
mov esi, eax
call fcn.0046bc80
lea edx, [esp + 0x74]
add esp, 0x40
push edx
call fcn.0046bc80
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebx
add esp, 0x50
ret
mov ebx, dword [esi + 0x18]
mov edi, dword [edx + 0x18]
cmp edi, ebx
mov eax, ebx
jg 0x46cbb3
mov eax, edi
cmp eax, 4
mov ecx, dword [esi + 4]
mov edx, dword [edx + 4]
push ebp
jb 0x46cbd4
nop
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x46cbd8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x46cbc0
test eax, eax
je 0x46cc35
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x46cc27
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x46cc35
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x46cc27
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x46cc35
movzx esi, byte [edx]
movzx ebp, byte [ecx]
sub esi, ebp
jne 0x46cc27
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x46cc35
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x46cc35
test esi, esi
mov eax, 1
jg 0x46cc37
or eax, 0xffffffff
jmp 0x46cc37
xor eax, eax
test eax, eax
pop ebp
jne 0x46cc40
sub edi, ebx
mov eax, edi
pop edi
pop esi
pop ebx
add esp, 0x50
ret