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

Disassembly:
sub esp, 0x70
push ebx
mov ebx, dword [eax + 8]
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x50], eax
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x38], eax
mov eax, dword [ecx + 8]
push ebp
mov dword [esp + 0x64], eax
push esi
mov esi, dword [esp + 0xa8]
mov eax, dword [esi + 0x14]
mov ebp, dword [eax]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 4]
mov dword [esp + 0x18], eax
mov al, byte [esi + 0xc]
mov byte [esp + 0xf], al
mov eax, dword [esp + 0x94]
add eax, 3
mov dword [esp + 0x70], ecx
mov ecx, dword [esi + 8]
sar eax, 2
push edi
mov edi, dword [esi + 0x10]
mov dword [esp + 0x18], ecx
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x50], eax
mov eax, 0
mov dword [esp + 0x40], ebx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x70], ecx
mov dword [esp + 0x24], eax
je 0x10024865
fld dword [esp + 0x90]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x44]
fld dword [esp + 0x8c]
fldz
sub eax, ebx
mov ecx, edx
sub ebx, edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], ebx
mov eax, dword [esp + 0x50]
add eax, 0xffffffff
cmp dword [esp + 0x24], eax
jae 0x10024501
mov dword [esp + 0x34], 4
jmp 0x10024510
mov eax, dword [esp + 0x98]
sub eax, dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x54]
mov al, byte [eax + ecx]
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x40]
mov bl, byte [eax + ecx]
add eax, ecx
cmp dword [esp + 0x94], 0
mov byte [esp + 0x15], bl
mov dword [esp + 0x20], 0
jle 0x1002483e
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x58]
add eax, ecx
mov ecx, dword [esp + 0x24]
lea ecx, [ecx + edx*2]
add ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x5c]
sub edx, dword [esp + 0x44]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x60], edx
jmp 0x1002456d
mov edx, dword [esp + 0x60]
movzx ebx, byte [esp + 0x14]
movzx edx, byte [edx + eax]
mov byte [esp + 0x17], bl
movzx ebx, byte [esp + 0x15]
mov byte [esp + 0x14], bl
movzx ebx, byte [ecx]
shr edx, 3
and edx, 0xf
mov byte [esp + 0x15], bl
mov dword [esp + 0x64], edx
je 0x1002480d
movzx edx, byte [eax]
shr edx, 3
and edx, 0xf
mov dword [esp + 0x68], edx
xor edx, edx
cmp dword [esp + 0x34], edx
jle 0x1002480d
mov eax, dword [esp + 0x64]
cmp byte [edx + eax*4 + 0x1009bbb0], 0
je 0x100247f1
mov ecx, dword [esp + 0x28]
lea eax, [ecx + edx]
imul eax, dword [esp + 0xa8]
add eax, dword [esp + 0x20]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x68]
cmp byte [edx + eax*4 + 0x1009bbb0], 0
je 0x100245f1
mov eax, 0x10
jmp 0x10024650
mov al, byte [edx + 0x1009bb88]
mov ecx, dword [edx*4 + 0x1009bb8c]
movzx esi, byte [esp + 0x17]
movzx edi, byte [esp + 0x14]
movzx eax, al
and esi, eax
movzx ecx, cl
shr esi, cl
and edi, eax
shr edi, cl
mov ebx, 0x40
add esi, esi
add esi, esi
add esi, esi
or esi, edi
movzx edi, byte [esp + 0x15]
and edi, eax
add esi, esi
shr edi, cl
mov ecx, dword [esp + 0x9c]
add esi, esi
add esi, esi
xor eax, eax
or esi, edi
cmp dword [ecx + esi*4], eax
mov esi, dword [esp + 0x3c]
setne al
mov ecx, edx
sar ebx, cl
add eax, 0xe
or byte [esi], bl
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x6c]
mov ecx, edx
mov ebx, 0x40
sar ebx, cl
mov ecx, dword [esp + 0x70]
or byte [esi + edi], bl
mov edi, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, dword [esp + 0x1c]
add edi, eax
add esi, eax
movzx eax, byte [edi]
mov eax, dword [eax*4 + 0x1008a3f0]
mov ebp, eax
mov ebx, ecx
shr ebp, 0x10
shr ebx, 0x10
cmp ebx, ebp
jb 0x100246ec
sub dword [esp + 0x18], ebp
mov ebx, eax
and ebx, 0xffff0000
sub ecx, ebx
mov ebx, dword [esp + 0x18]
test ebx, 0x8000
mov dword [esp + 0x1c], ecx
je 0x100246be
cmp byte [esi], 0
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
setne bl
jmp 0x10024797
cmp ebx, ebp
jb 0x100246cd
cmp byte [esi], 0
setne bl
shr eax, 8
jmp 0x10024726
mov cl, byte [esi]
mov bl, cl
xor bl, 1
setne byte [esp + 0x16]
mov bl, al
and bl, 1
xor bl, cl
shr eax, 1
mov byte [esi], bl
mov bl, byte [esp + 0x16]
and al, 0x7f
jmp 0x10024722
lea ecx, [ebp + ebp]
cmp dword [esp + 0x18], ecx
jae 0x10024701
cmp byte [esi], 0
setne bl
shr eax, 8
jmp 0x1002471e
mov cl, byte [esi]
mov bl, cl
xor bl, 1
setne byte [esp + 0x16]
mov bl, al
and bl, 1
xor bl, cl
shr eax, 1
mov byte [esi], bl
mov bl, byte [esp + 0x16]
and al, 0x7f
mov dword [esp + 0x18], ebp
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x74]
mov byte [edi], al
mov edi, dword [esp + 0x2c]
test edi, edi
jne 0x10024775
cmp ebp, esi
je 0x1002476a
mov al, byte [ebp]
add ebp, 1
cmp byte [esp + 0x13], 0xff
mov byte [esp + 0x13], al
je 0x10024757
movzx eax, al
shl eax, 8
add ecx, eax
jmp 0x10024770
cmp al, 0x8f
ja 0x1002476a
movzx eax, al
shl eax, 9
add ecx, eax
mov edi, 7
jmp 0x10024775
add ecx, 0xff00
mov edi, 8
mov eax, dword [esp + 0x18]
add eax, eax
add ecx, ecx
sub edi, 1
test eax, 0x8000
mov dword [esp + 0x18], eax
je 0x10024734
mov dword [esp + 0x2c], edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x30], ebp
mov esi, dword [esp + 0xa0]
mov ecx, dword [esp + 0x78]
fcom dword [esi + ecx*4]
fnstsw ax
test ah, 0x41
movzx eax, bl
jp 0x100247cb
mov dword [esp + 0x78], eax
fild dword [esp + 0x78]
fmul st(2)
fadd dword [esi + ecx*4]
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fst dword [esi + ecx*4]
fadd st(3)
jmp 0x100247e7
fld dword [esi + ecx*4]
mov dword [esp + 0x78], eax
fild dword [esp + 0x78]
fmul st(3)
fsubp st(1)
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fst dword [esi + ecx*4]
fsub st(3)
mov eax, dword [esp + 0xa4]
fstp dword [eax + ecx*4]
add edx, 1
cmp edx, dword [esp + 0x34]
jl 0x100245b3
mov esi, dword [esp + 0xac]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0xb0]
add dword [esp + 0x20], 1
mov ebx, dword [esp + 0x20]
add dword [esp + 0x38], edx
add ecx, edx
add eax, edx
cmp ebx, dword [esp + 0x94]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x3c], eax
jl 0x10024569
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], 4
add eax, 1
add ecx, 1
cmp eax, dword [esp + 0x50]
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], ecx
jb 0x100244ea
fstp st(2)
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x18]
mov dl, byte [esp + 0x13]
mov eax, dword [esp + 0x1c]
mov dword [esi + 8], ecx
mov byte [esi + 0xc], dl
mov edx, dword [esi + 0x14]
mov ecx, ebp
sub ecx, dword [esp + 0x7c]
mov dword [esi + 4], eax
mov dword [esi + 0x10], edi
pop edi
mov dword [edx + 8], ecx
mov eax, dword [esi + 0x14]
pop esi
mov dword [eax], ebp
pop ebp
pop ebx
add esp, 0x70
ret