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

Disassembly:
mov ax, word [ecx]
movsx edx, ax
cmp edx, 0x61
jg 0x43f92b
je 0x43f918
dec edx
cmp edx, 0x20
ja case.0x43f8b2.2
movzx edx, byte [edx + 0x43f9e4]
jmp dword [edx*4 + 0x43f9c8]
and al, 3
sub al, 3
neg al
sbb eax, eax
not eax
and eax, ecx
mov ecx, eax
jmp 0x485560
and al, 5
sub al, 5
neg al
sbb eax, eax
not eax
and eax, ecx
mov ecx, eax
jmp 0x485590
and al, 9
sub al, 9
neg al
sbb eax, eax
not eax
and eax, ecx
mov ecx, eax
jmp 0x4855d0
and al, 0x11
sub al, 0x11
neg al
sbb eax, eax
not eax
and eax, ecx
mov ecx, eax
jmp 0x485600
and al, 0x21
sub al, 0x21
neg al
sbb eax, eax
not eax
and eax, ecx
mov ecx, eax
jmp 0x485630
and al, 0x61
sub al, 0x61
neg al
sbb eax, eax
not eax
and eax, ecx
mov ecx, eax
jmp 0x485630
cmp edx, 0x221
jg 0x43f986
je 0x43f96e
cmp edx, 0xa1
je 0x43f95b
cmp edx, 0x121
jne case.0x43f8b2.2
and ax, dx
sub ax, dx
neg ax
sbb eax, eax
not eax
and eax, ecx
mov ecx, eax
jmp 0x485630
and al, 0xa1
sub al, 0xa1
neg al
sbb eax, eax
not eax
and eax, ecx
mov ecx, eax
jmp 0x485660
and ax, 0x221
sub ax, 0x221
neg ax
sbb eax, eax
not eax
and eax, ecx
mov ecx, eax
jmp 0x485630
cmp edx, 0x401
je 0x43f9ac
cmp edx, 0x821
jne case.0x43f8b2.2
and ax, dx
sub ax, dx
neg ax
sbb eax, eax
not eax
and eax, ecx
mov ecx, eax
jmp 0x485630
and ax, 0x401
sub ax, 0x401
neg ax
sbb eax, eax
not eax
and eax, ecx
mov ecx, eax
jmp 0x4854d0
ret 0x10
push ebx
mov ebx, dword [esp + 8]
mov eax, dword [ebx]
push esi
mov esi, ecx
push edi
mov ecx, ebx
call dword [eax + 0x2c]
mov eax, dword [esi + 0x3c]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x10], edi
jle 0x485559
push ebp
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push ecx
mov ecx, dword [esi + 0x38]
push ebp
push edx
push esi
push ebx
add ecx, edi
call fcn.00483330
mov eax, dword [0x8302cc]
test eax, eax
je 0x485545
fld dword [esp + 0x18]
push ebp
fcomp dword [0x743254]
fnstsw ax
test ah, 5
jp 0x485534
fld dword [0x74186c]
push ecx
fsub dword [esp + 0x20]
fstp dword [esp]
jmp 0x485539
mov eax, dword [esp + 0x1c]
push eax
mov ecx, dword [esi + 0x38]
push esi
add ecx, edi
push ebx
call fcn.00485250
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x3c]
inc eax
add edi, 0x10
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x4854f2
pop ebp
pop edi
pop esi
pop ebx
ret 0x10
push esi
mov esi, dword [esp + 8]
mov eax, dword [esi]
push edi
mov edi, ecx
mov ecx, esi
call dword [eax + 0x24]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ecx
push edx
push eax
push esi
mov ecx, edi
call 0x4854d0
pop edi
pop esi
ret 0x10
push ebx
push esi
mov esi, dword [esp + 0xc]
mov eax, dword [esi]
push edi
mov edi, ecx
mov ecx, esi
call dword [eax + 0x34]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ecx
mov ebx, eax
mov eax, dword [esp + 0x18]
push edx
push eax
push esi
mov ecx, edi
call 0x4854d0
mov ecx, ebx
call fcn.0048e1b0
pop edi
pop esi
pop ebx
ret 0x10
push esi
mov esi, dword [esp + 8]
mov eax, dword [esi]
push edi
mov edi, ecx
mov ecx, esi
call dword [eax + 0x28]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ecx
push edx
push eax
push esi
mov ecx, edi
call 0x4854d0
pop edi
pop esi
ret 0x10
push esi
mov esi, dword [esp + 8]
mov eax, dword [esi]
push edi
mov edi, ecx
mov ecx, esi
call dword [eax + 0x38]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ecx
push edx
push eax
push esi
mov ecx, edi
call 0x4854d0
pop edi
pop esi
ret 0x10
push esi
mov esi, dword [esp + 8]
mov eax, dword [esi]
push edi
mov edi, ecx
mov ecx, esi
call dword [eax + 0x2c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ecx
push edx
push eax
push esi
mov ecx, edi
call 0x4854d0
pop edi
pop esi
ret 0x10
sub esp, 0x7c
push ebx
push ebp
push esi
mov esi, ecx
mov ecx, dword [esp + 0x8c]
mov eax, dword [ecx]
push edi
call dword [eax + 0x30]
fld dword [esi + 0x19c]
fcomp dword [0x73d700]
mov ebp, eax
mov dword [esp + 0x1c], ebp
fnstsw ax
test ah, 0x44
jnp 0x485849
fld dword [esp + 0x98]
fdiv dword [esi + 0x19c]
call fcn.006fae8c
mov edi, eax
test edi, edi
mov dword [esp + 0x10], edi
jl 0x485854
mov ecx, dword [esi + 0x1cc]
dec ecx
cmp edi, ecx
jge 0x485854
fld dword [esp + 0x98]
mov ecx, dword [ebp + 0x70]
fdiv dword [esi + 0x19c]
mov edx, dword [ecx]
fisub dword [esp + 0x10]
fstp dword [esp + 0x14]
call dword [edx + 0xc]
push 1
mov ebp, eax
mov eax, dword [ebp + 0x1c]
push 0
push 0
push eax
call fcn.00423f10
xor ebx, ebx
add esp, 0x10
cmp word [esi + 0x180], bx
jle 0x485837
fld dword [0x73d764]
add eax, 8
fsub dword [esp + 0x14]
fld dword [0x73d764]
fsub dword [esp + 0x9c]
fstp dword [esp + 0x18]
nop
mov ecx, dword [eax]
fld dword [eax - 8]
mov edx, dword [esi + 0x1c4]
fld dword [eax - 4]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esi + 0x1cc]
imul ecx, ebx
add ecx, edi
lea ecx, [ecx + ecx*2]
fld dword [edx + ecx*4]
fld dword [edx + ecx*4 + 4]
fld dword [edx + ecx*4 + 8]
fstp dword [esp + 0x64]
fld dword [edx + ecx*4 + 0xc]
fld dword [edx + ecx*4 + 0x10]
fld dword [edx + ecx*4 + 0x14]
fstp dword [esp + 0x58]
fxch st(1)
fmul dword [esp + 0x14]
fstp dword [esp + 0x20]
fmul dword [esp + 0x14]
fstp dword [esp + 0x24]
fld dword [esp + 0x58]
fmul dword [esp + 0x14]
fstp dword [esp + 0x28]
fld st(4)
fmul st(2)
fstp dword [esp + 0x68]
fld st(4)
fmul st(1)
fstp st(2)
fstp st(0)
fld st(3)
fmul dword [esp + 0x64]
fld dword [esp + 0x68]
fadd dword [esp + 0x20]
fstp dword [esp + 0x38]
fxch st(1)
fadd dword [esp + 0x24]
fstp dword [esp + 0x3c]
fadd dword [esp + 0x28]
fld dword [esp + 0x38]
fmul dword [esp + 0x9c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x3c]
fmul dword [esp + 0x9c]
fstp dword [esp + 0x30]
fmul dword [esp + 0x9c]
fstp dword [esp + 0x34]
fld dword [esp + 0x18]
fmul st(2)
fstp dword [esp + 0x44]
fld dword [esp + 0x18]
fmul st(1)
fstp dword [esp + 0x48]
fstp st(0)
fstp st(0)
fld dword [esp + 0x18]
fmul dword [esp + 0x7c]
fld dword [esp + 0x44]
fadd dword [esp + 0x2c]
fld dword [esp + 0x48]
fadd dword [esp + 0x30]
fxch st(2)
fadd dword [esp + 0x34]
fstp dword [esp + 0x88]
mov edx, dword [esp + 0x88]
fstp dword [eax - 8]
fstp dword [eax - 4]
mov dword [eax], edx
movsx ecx, word [esi + 0x180]
inc ebx
add eax, 0xc
cmp ebx, ecx
jl 0x485720
fstp st(0)
mov edx, dword [ebp + 0x1c]
push edx
call fcn.00423f30
mov ebp, dword [esp + 0x20]
jmp 0x48597f
xor edi, edi
mov dword [esp + 0x10], edi
jmp 0x4856b2
mov eax, dword [esi + 0x1cc]
test eax, eax
je 0x485982
mov ecx, dword [ebp + 0x70]
mov eax, dword [ecx]
call dword [eax + 0xc]
push 1
push 0
mov dword [esp + 0x24], eax
mov eax, dword [eax + 0x1c]
push 0
push eax
call fcn.00423f10
add esp, 0x10
test edi, edi
jge 0x48588a
xor edi, edi
mov dword [esp + 0x10], edi
mov ecx, dword [esi + 0x1cc]
dec ecx
cmp edi, ecx
jle 0x48589b
mov edi, ecx
mov dword [esp + 0x10], edi
xor ebx, ebx
cmp word [esi + 0x180], bx
jle 0x485972
fld dword [0x73d764]
add eax, 8
fsub dword [esp + 0x9c]
lea ebx, [ebx]
mov ecx, dword [eax]
fld dword [eax - 8]
mov edx, dword [esi + 0x1c4]
fld dword [eax - 4]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esi + 0x1cc]
imul ecx, ebx
add ecx, edi
lea ecx, [ecx + ecx*2]
inc ebx
add eax, 0xc
fld dword [edx + ecx*4]
fld dword [edx + ecx*4 + 4]
fld dword [edx + ecx*4 + 8]
fstp dword [esp + 0x88]
fxch st(1)
fmul dword [esp + 0x9c]
fstp dword [esp + 0x2c]
fmul dword [esp + 0x9c]
fstp dword [esp + 0x30]
fld dword [esp + 0x88]
fmul dword [esp + 0x9c]
fstp dword [esp + 0x34]
fld st(2)
fmul st(2)
fstp dword [esp + 0x44]
fld st(2)
fmul st(1)
fstp dword [esp + 0x48]
fstp st(0)
fstp st(0)
fld dword [esp + 0x7c]
fmul st(1)
fld dword [esp + 0x44]
fadd dword [esp + 0x2c]
fld dword [esp + 0x48]
fadd dword [esp + 0x30]
fxch st(2)
fadd dword [esp + 0x34]
fstp dword [esp + 0x70]
mov edx, dword [esp + 0x70]
fstp dword [eax - 0x14]
mov dword [eax - 0xc], edx
fstp dword [eax - 0x10]
movsx ecx, word [esi + 0x180]
cmp ebx, ecx
jl 0x4858c0
fstp st(0)
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x1c]
push eax
call fcn.00423f30
add esp, 4
mov eax, dword [esi + 0x1d0]
test eax, eax
je 0x485b8f
mov ecx, dword [ebp + 0x70]
mov edx, dword [ecx]
call dword [edx + 0xc]
push 1
mov ebp, eax
mov eax, dword [ebp + 0x20]
push 0
push 0
push eax
call fcn.00423f10
add esp, 0x10
test edi, edi
jl 0x485ad1
mov ecx, dword [esi + 0x1d0]
dec ecx
cmp edi, ecx
jge 0x485ad1
fld dword [esp + 0x98]
xor edx, edx
cmp word [esi + 0x180], dx
fdiv dword [esi + 0x19c]
fisub dword [esp + 0x10]
fstp dword [esp + 0x18]
jle 0x485b83
fld dword [0x73d764]
lea ebx, [edi + edi]
fsub dword [esp + 0x18]
fld dword [0x73d764]
fsub dword [esp + 0x9c]
fstp dword [esp + 0x14]
jmp 0x485a10
mov edi, dword [esi + 0x1c8]
fld dword [eax + edx*8]
fld dword [eax + edx*8 + 4]
lea ecx, [edx + edx]
imul ecx, dword [esi + 0x1d0]
add ecx, ebx
inc edx
fld dword [edi + ecx*4]
fld dword [edi + ecx*4 + 4]
fld dword [edi + ecx*4 + 0xc]
fld dword [edi + ecx*4 + 8]
fmul dword [esp + 0x18]
fstp dword [esp + 0x44]
fmul dword [esp + 0x18]
fstp dword [esp + 0x48]
fld st(4)
fmul st(2)
fstp dword [esp + 0x80]
fld st(4)
fmul st(1)
fstp st(2)
fstp st(0)
fld dword [esp + 0x80]
fadd dword [esp + 0x44]
fxch st(1)
fadd dword [esp + 0x48]
fstp dword [esp + 0x78]
fmul dword [esp + 0x9c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x78]
fmul dword [esp + 0x9c]
fstp dword [esp + 0x30]
fld dword [esp + 0x14]
fmul st(2)
fstp dword [esp + 0x38]
fld dword [esp + 0x14]
fmul st(1)
fstp dword [esp + 0x3c]
fstp st(0)
fstp st(0)
fld dword [esp + 0x38]
fadd dword [esp + 0x2c]
fld dword [esp + 0x3c]
fadd dword [esp + 0x30]
fxch st(1)
fstp dword [eax + edx*8 - 8]
fstp dword [eax + edx*8 - 4]
movsx ecx, word [esi + 0x180]
cmp edx, ecx
jl 0x485a10
jmp 0x485b81
mov ecx, dword [esi + 0x1d0]
test ecx, ecx
je 0x485b83
xor edx, edx
test edi, edi
setle dl
dec edx
and edx, edi
dec ecx
cmp edx, ecx
jl 0x485af0
mov edx, ecx
xor ecx, ecx
cmp word [esi + 0x180], cx
jle 0x485b83
fld dword [0x73d764]
lea edi, [edx + edx]
fsub dword [esp + 0x9c]
nop
mov ebx, dword [esi + 0x1c8]
fld dword [eax + ecx*8]
fld dword [eax + ecx*8 + 4]
lea edx, [ecx + ecx]
imul edx, dword [esi + 0x1d0]
add edx, edi
lea edx, [ebx + edx*4]
inc ecx
fld dword [edx + 4]
fld dword [edx]
fmul dword [esp + 0x9c]
fstp dword [esp + 0x38]
fmul dword [esp + 0x9c]
fstp dword [esp + 0x3c]
fld st(2)
fmul st(2)
fstp dword [esp + 0x44]
fld st(2)
fmul st(1)
fstp dword [esp + 0x48]
fstp st(0)
fstp st(0)
fld dword [esp + 0x44]
fadd dword [esp + 0x38]
fld dword [esp + 0x48]
fadd dword [esp + 0x3c]
fxch st(1)
fstp dword [eax + ecx*8 - 8]
fstp dword [eax + ecx*8 - 4]
movsx edx, word [esi + 0x180]
cmp ecx, edx
jl 0x485b10
fstp st(0)
mov eax, dword [ebp + 0x20]
push eax
call fcn.00423f30
add esp, 4
mov edi, dword [esp + 0x90]
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x2c]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
push eax
push ecx
push edx
push edi
mov ecx, esi
call 0x4854d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x7c
ret 0x10