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

Disassembly:
sub esp, 0x70
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 8]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 8]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x7c]
mov eax, dword [eax + 8]
push ebx
mov dword [esp + 0x64], eax
mov edx, dword [esp + 0xa0]
push ebp
push esi
mov esi, dword [esp + 0xa4]
mov eax, dword [esi + 0x14]
mov ebp, dword [eax]
mov eax, dword [eax + 4]
mov ebx, dword [esi + 4]
mov dword [esp + 0x74], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x14], eax
mov al, byte [esi + 0xc]
mov byte [esp + 0xf], al
mov eax, dword [esi + 0x18]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x94]
add eax, 3
sar eax, 2
push edi
mov edi, dword [esi + 0x10]
mov dword [esp + 0x54], eax
mov eax, 0
mov dword [esp + 0x44], ecx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x30], edi
mov dword [esp + 0x24], eax
je 0x100243ff
fld dword [esp + 0x90]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x48]
fldz
sub eax, ecx
sub ecx, edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x54]
add eax, 0xffffffff
cmp dword [esp + 0x24], eax
jae 0x100240bc
mov dword [esp + 0x38], 4
jmp 0x100240cb
mov eax, dword [esp + 0x98]
sub eax, dword [esp + 0x2c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x58]
movzx ecx, byte [ecx + eax]
mov byte [esp + 0x14], cl
mov ecx, dword [esp + 0x44]
add eax, ecx
cmp dword [esp + 0x94], 0
movzx ecx, byte [eax]
mov byte [esp + 0x15], cl
mov dword [esp + 0x20], 0
jle 0x100243dc
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x5c]
add eax, ecx
mov ecx, dword [esp + 0x24]
lea esi, [ecx + edx*2]
add esi, dword [esp + 0x44]
mov edx, dword [esp + 0x60]
sub edx, dword [esp + 0x48]
mov dword [esp + 0x40], eax
mov dword [esp + 0x50], esi
mov dword [esp + 0x64], edx
jmp 0x10024131
mov edx, dword [esp + 0x64]
movzx ecx, byte [esp + 0x14]
movzx edx, byte [edx + eax]
mov byte [esp + 0x17], cl
movzx ecx, byte [esp + 0x15]
mov byte [esp + 0x14], cl
movzx ecx, byte [esi]
shr edx, 3
and edx, 0xf
mov byte [esp + 0x15], cl
mov dword [esp + 0x68], edx
je 0x100243a8
movzx ecx, byte [eax]
shr ecx, 3
and ecx, 0xf
xor edx, edx
cmp dword [esp + 0x38], edx
mov dword [esp + 0x6c], ecx
jle 0x100243a8
mov eax, dword [esp + 0x68]
cmp byte [edx + eax*4 + 0x1009bbb0], 0
je 0x10024393
mov ecx, dword [esp + 0x2c]
lea eax, [ecx + edx]
imul eax, dword [esp + 0xa4]
add eax, dword [esp + 0x20]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x6c]
cmp byte [edx + eax*4 + 0x1009bbb0], 0
je 0x100241b5
mov eax, 0x10
jmp 0x10024214
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 + 0x40]
setne al
mov ecx, edx
sar ebx, cl
add eax, 0xe
or byte [esi], bl
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x70]
mov ecx, edx
mov ebx, 0x40
sar ebx, cl
mov ecx, dword [esp + 0x74]
or byte [esi + edi], bl
mov edi, dword [ecx]
mov esi, dword [ecx + 4]
mov ebx, dword [esp + 0x1c]
add edi, eax
add esi, eax
movzx eax, byte [edi]
mov eax, dword [eax*4 + 0x1008a3f0]
mov ebp, eax
mov ecx, ebx
shr ebp, 0x10
shr ecx, 0x10
cmp ecx, ebp
jb 0x100242b8
sub dword [esp + 0x18], ebp
mov ecx, eax
and ecx, 0xffff0000
sub ebx, ecx
mov ecx, dword [esp + 0x18]
test ecx, 0x8000
mov dword [esp + 0x1c], ebx
je 0x10024282
cmp byte [esi], 0
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
setne cl
jmp 0x1002435c
cmp ecx, ebp
jb 0x10024295
cmp byte [esi], 0
mov esi, dword [esp + 0x18]
setne cl
shr eax, 8
jmp 0x100242f0
mov cl, byte [esi]
mov bl, cl
xor bl, 1
setne byte [esp + 0x16]
mov bl, al
and bl, 1
xor bl, cl
mov cl, byte [esp + 0x16]
shr eax, 1
mov byte [esi], bl
mov esi, dword [esp + 0x18]
and al, 0x7f
jmp 0x100242ec
lea ecx, [ebp + ebp]
cmp dword [esp + 0x18], ecx
jae 0x100242cd
cmp byte [esi], 0
setne cl
shr eax, 8
jmp 0x100242ea
mov cl, byte [esi]
mov bl, cl
xor bl, 1
setne byte [esp + 0x16]
mov bl, al
and bl, 1
xor bl, cl
mov cl, byte [esp + 0x16]
shr eax, 1
mov byte [esi], bl
and al, 0x7f
mov esi, ebp
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x34]
mov byte [edi], al
mov edi, dword [esp + 0x30]
test edi, edi
jne 0x1002433d
cmp ebp, dword [esp + 0x78]
je 0x10024332
mov al, byte [ebp]
add ebp, 1
cmp byte [esp + 0x13], 0xff
mov byte [esp + 0x13], al
je 0x1002431f
movzx eax, al
shl eax, 8
add ebx, eax
jmp 0x10024338
cmp al, 0x8f
ja 0x10024332
movzx eax, al
shl eax, 9
add ebx, eax
mov edi, 7
jmp 0x1002433d
add ebx, 0xff00
mov edi, 8
add esi, esi
add ebx, ebx
sub edi, 1
test esi, 0x8000
je 0x100242fa
mov dword [esp + 0x30], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], esi
mov dword [esp + 0x34], ebp
test cl, cl
je 0x10024393
mov esi, dword [esp + 0xa0]
mov ecx, dword [esp + 0x4c]
fcom dword [esi + ecx*4]
fnstsw ax
test ah, 0x41
jp 0x1002437d
fxch st(1)
fst dword [esp + 0x4c]
jmp 0x10024387
fld st(1)
fchs
fstp dword [esp + 0x4c]
fxch st(1)
fld dword [esp + 0x4c]
fadd dword [esi + ecx*4]
fstp dword [esi + ecx*4]
fxch st(1)
add edx, 1
cmp edx, dword [esp + 0x38]
jl 0x10024177
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0xac]
add dword [esp + 0x20], 1
mov ecx, dword [esp + 0x20]
add dword [esp + 0x3c], edx
add esi, edx
add eax, edx
cmp ecx, dword [esp + 0x94]
mov dword [esp + 0x50], esi
mov dword [esp + 0x40], eax
jl 0x1002412d
mov esi, dword [esp + 0xa8]
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], 1
add dword [esp + 0x2c], 4
add eax, 1
cmp eax, dword [esp + 0x54]
mov dword [esp + 0x24], eax
jb 0x100240a5
fstp st(1)
fstp st(0)
mov edx, dword [esp + 0x18]
mov al, byte [esp + 0x13]
mov dword [esi + 8], edx
mov edx, dword [esi + 0x14]
mov ecx, ebp
sub ecx, dword [esp + 0x7c]
mov byte [esi + 0xc], al
mov dword [esi + 4], ebx
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