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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
push ebx
push esi
mov esi, dword [ebp + 0xc]
fld dword [esi]
mov ebx, dword [ebp + 8]
fmul dword [esi + 0xc]
push edi
fld dword [esi + 4]
mov ecx, ebx
fmul dword [esi + 8]
fsubp st(1)
fdivr dword [0x101004b8]
fld st(0)
fmul dword [esi + 0xc]
fstp dword [esp + 0x78]
fld st(0)
fmul dword [esi + 8]
fchs
fstp dword [esp + 0x80]
fld st(0)
fmul dword [esi + 4]
fchs
fstp dword [esp + 0x7c]
fmul dword [esi]
fstp dword [esp + 0x84]
fild dword [ebp + 0x10]
fstp dword [esp + 0x18]
fild dword [ebp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x18]
fchs
fst dword [esp + 0x34]
fstp dword [esp + 0x68]
fld dword [esp + 0x14]
fchs
fst dword [esp + 0x38]
fstp dword [esp + 0x6c]
call fcn.10045a10
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov ecx, ebx
mov dword [esp + 0x54], eax
fsub dword [esp + 0x18]
fstp dword [esp + 0x50]
call fcn.10045a10
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
mov ecx, ebx
fsub dword [esp + 0x18]
fstp dword [esp + 0x48]
call fcn.10045a20
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, ebx
fsub dword [esp + 0x14]
fstp dword [esp + 0x4c]
call fcn.10045a20
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
fsub dword [esp + 0x14]
fld dword [esp + 0x6c]
fmul dword [esi + 4]
fld dword [esp + 0x68]
fmul dword [esi]
faddp st(1)
fstp dword [esp + 0x60]
fld dword [esp + 0x68]
fmul dword [esi + 8]
fld dword [esp + 0x6c]
fmul dword [esi + 0xc]
faddp st(1)
fstp dword [esp + 0x64]
fld dword [esp + 0x54]
fmul dword [esi + 4]
fld dword [esp + 0x50]
fmul dword [esi]
faddp st(1)
fstp dword [esp + 0x58]
fld dword [esp + 0x50]
fmul dword [esi + 8]
fld dword [esp + 0x54]
fmul dword [esi + 0xc]
faddp st(1)
fstp dword [esp + 0x5c]
fld dword [esp + 0x4c]
fmul dword [esi + 4]
fld dword [esp + 0x48]
fmul dword [esi]
faddp st(1)
fstp dword [esp + 0x50]
fld dword [esp + 0x48]
fmul dword [esi + 8]
fld dword [esp + 0x4c]
fmul dword [esi + 0xc]
faddp st(1)
fstp dword [esp + 0x54]
fld st(0)
fmul dword [esi + 4]
fld dword [esp + 0x40]
fmul dword [esi]
faddp st(1)
fstp dword [esp + 0x48]
fld dword [esp + 0x40]
fmul dword [esi + 8]
fxch st(1)
fmul dword [esi + 0xc]
faddp st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x60]
fld dword [esp + 0x58]
fcomp dword [esp + 0x60]
fnstsw ax
test ah, 1
je 0x100244d3
fstp st(0)
fld dword [esp + 0x58]
fld dword [esp + 0x50]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x100244e6
fstp st(0)
fld dword [esp + 0x50]
fld dword [esp + 0x48]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x100244f9
fstp st(0)
fld dword [esp + 0x48]
sub esp, 8
fstp qword [esp]
call fcn.1009ac0d
fstp dword [esp + 0x24]
add esp, 8
fld dword [esp + 0x64]
fld dword [esp + 0x5c]
fcomp dword [esp + 0x64]
fnstsw ax
test ah, 1
je 0x10024524
fstp st(0)
fld dword [esp + 0x5c]
fld dword [esp + 0x54]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x10024537
fstp st(0)
fld dword [esp + 0x54]
fld dword [esp + 0x4c]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x1002454a
fstp st(0)
fld dword [esp + 0x4c]
sub esp, 8
fstp qword [esp]
call fcn.1009ac0d
fstp dword [esp + 0x28]
add esp, 8
fld dword [esp + 0x60]
fld dword [esp + 0x58]
fcomp dword [esp + 0x60]
fnstsw ax
test ah, 0x41
jne 0x10024575
fstp st(0)
fld dword [esp + 0x58]
fld dword [esp + 0x50]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x10024588
fstp st(0)
fld dword [esp + 0x50]
fld dword [esp + 0x48]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x1002459b
fstp st(0)
fld dword [esp + 0x48]
sub esp, 8
fstp qword [esp]
call fcn.1009af0b
fstp dword [esp + 0x44]
add esp, 8
fld dword [esp + 0x64]
fld dword [esp + 0x5c]
fcomp dword [esp + 0x64]
fnstsw ax
test ah, 0x41
jne 0x100245c6
fstp st(0)
fld dword [esp + 0x5c]
fld dword [esp + 0x54]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x100245d9
fstp st(0)
fld dword [esp + 0x54]
fld dword [esp + 0x4c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x100245ec
fstp st(0)
fld dword [esp + 0x4c]
fld dword [esp + 0x3c]
fsub dword [esp + 0x1c]
call fcn.1009a92c
mov esi, eax
sub esp, 8
fstp qword [esp]
mov dword [esp + 0x40], esi
call fcn.1009af0b
fsub dword [esp + 0x28]
add esp, 8
call fcn.1009a92c
mov ecx, dword [0x1012b754]
mov edi, eax
push 0
push edi
push esi
mov dword [esp + 0x64], edi
call fcn.10047ac0
fld dword [esp + 0x20]
mov esi, eax
fchs
mov dword [esp + 0x3c], esi
call fcn.1009a92c
fld dword [esp + 0x1c]
fchs
push eax
call fcn.1009a92c
push eax
mov ecx, esi
call fcn.100449a0
mov ecx, ebx
call fcn.10045ad0
push eax
mov ecx, esi
call fcn.10044810
mov ecx, ebx
call fcn.100460a0
mov ecx, esi
call fcn.100460a0
fld dword [esp + 0x20]
test edi, edi
fadd dword [0x101004b0]
mov dword [esp + 0x28], 0
fstp dword [esp + 0x6c]
jle 0x100249e6
fld dword [esp + 0x1c]
fadd dword [0x101004b0]
fstp dword [esp + 0x40]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
xor edi, edi
test eax, eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x34], edi
jle 0x100249c3
fld dword [esp + 0x6c]
fmul dword [esp + 0x7c]
fstp dword [esp + 0x48]
fld dword [esp + 0x6c]
fmul dword [esp + 0x84]
fstp dword [esp + 0x50]
fld dword [esp + 0x68]
mov al, byte [0x1012b749]
test al, al
fmul dword [esp + 0x78]
fadd dword [esp + 0x48]
fstp dword [esp + 0x70]
fld dword [esp + 0x68]
fmul dword [esp + 0x80]
fadd dword [esp + 0x50]
fadd dword [esp + 0x14]
je 0x10024957
mov al, byte [0x1012acac]
fstp dword [esp + 0x20]
test al, al
fld dword [esp + 0x70]
fadd dword [esp + 0x18]
fstp dword [esp + 0x1c]
je 0x1002472b
mov ecx, dword [0x1012b754]
push ebx
call fcn.10047d20
test eax, eax
je 0x100249ff
fld dword [esp + 0x1c]
sub esp, 8
fsub dword [0x101004b0]
fstp dword [esp + 0x24]
fld dword [esp + 0x28]
fsub dword [0x101004b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x24]
fstp qword [esp]
call fcn.1009ac0d
fstp dword [esp + 0x18]
fld dword [esp + 0x28]
fstp qword [esp]
call fcn.1009ac0d
fld dword [esp + 0x18]
add esp, 8
call fcn.1009a92c
fld st(0)
mov esi, eax
call fcn.1009a92c
fld dword [esp + 0x1c]
fsub dword [esp + 0x10]
push eax
push esi
mov ecx, ebx
fstp dword [esp + 0x18]
mov dword [esp + 0x2c], eax
fld dword [esp + 0x28]
fsub st(1)
fstp dword [esp + 0x28]
fstp st(0)
call fcn.10046270
mov ecx, dword [esp + 0x24]
mov edi, eax
push ecx
lea eax, [esi + 1]
push eax
mov ecx, ebx
call fcn.10046270
mov edx, dword [esp + 0x24]
mov ecx, dword [ebp + 8]
mov ebx, eax
lea eax, [edx + 1]
push eax
mov dword [esp + 0x34], eax
lea eax, [esi + 1]
push eax
call fcn.10046270
mov ecx, dword [ebp + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
push eax
push esi
call fcn.10046270
fld dword [0x101004b8]
fsub dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
fld dword [0x101004b8]
sar ecx, 0x10
fsub dword [esp + 0x10]
and ecx, 0xff
mov dword [esp + 0x30], eax
sar eax, 0x10
fst dword [esp + 0x2c]
and eax, 0xff
fmul st(1)
mov edx, ebx
sar edx, 0x10
fstp dword [esp + 0x24]
fmul dword [esp + 0x10]
fld dword [esp + 0x2c]
mov dword [esp + 0x2c], ecx
fmul dword [esp + 0x20]
fld dword [esp + 0x20]
fmul dword [esp + 0x10]
fild dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
fmul st(1)
fild dword [esp + 0x2c]
fmul st(3)
faddp st(1)
and edx, 0xff
mov dword [esp + 0x2c], edx
fild dword [esp + 0x2c]
mov eax, edi
sar eax, 0x10
and eax, 0xff
fmul st(4)
mov dword [esp + 0x2c], eax
faddp st(1)
fild dword [esp + 0x2c]
fmul dword [esp + 0x24]
faddp st(1)
fadd dword [0x101004b0]
call fcn.1009a92c
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
sar ecx, 8
and ecx, 0xff
mov dword [esp + 0x2c], ecx
fild dword [esp + 0x2c]
sar edx, 8
and edx, 0xff
mov esi, eax
fmul st(1)
mov dword [esp + 0x2c], edx
fild dword [esp + 0x2c]
mov eax, ebx
sar eax, 8
and eax, 0xff
fmul st(3)
mov dword [esp + 0x2c], eax
mov ecx, edi
sar ecx, 8
faddp st(1)
and ecx, 0xff
fild dword [esp + 0x2c]
mov dword [esp + 0x2c], ecx
shl esi, 8
fmul st(4)
faddp st(1)
fild dword [esp + 0x2c]
fmul dword [esp + 0x24]
faddp st(1)
fadd dword [0x101004b0]
call fcn.1009a92c
or esi, eax
mov eax, dword [esp + 0x1c]
and eax, 0xff
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
fild dword [esp + 0x2c]
and eax, 0xff
mov dword [esp + 0x30], eax
fmul st(1)
and ebx, 0xff
fild dword [esp + 0x30]
mov dword [esp + 0x30], ebx
and edi, 0xff
shl esi, 8
fmul st(3)
faddp st(1)
fild dword [esp + 0x30]
mov dword [esp + 0x30], edi
fmul st(4)
faddp st(1)
fild dword [esp + 0x30]
fmul dword [esp + 0x24]
faddp st(1)
fadd dword [0x101004b0]
call fcn.1009a92c
fstp st(0)
mov edi, dword [esp + 0x34]
fstp st(0)
mov ebx, dword [ebp + 8]
fstp st(0)
or esi, eax
jmp 0x10024990
sub esp, 8
fstp qword [esp]
call fcn.1009ac0d
add esp, 8
call fcn.1009a92c
fld dword [esp + 0x70]
fadd dword [esp + 0x18]
push eax
sub esp, 8
fstp qword [esp]
call fcn.1009ac0d
add esp, 8
call fcn.1009a92c
push eax
mov ecx, ebx
call fcn.10046270
mov esi, eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
push esi
push edx
push edi
call fcn.10046150
fld dword [esp + 0x68]
fadd dword [0x101004b8]
mov eax, dword [esp + 0x38]
inc edi
cmp edi, eax
fstp dword [esp + 0x68]
mov dword [esp + 0x34], edi
jl 0x100246ce
mov esi, dword [esp + 0x3c]
fld dword [esp + 0x6c]
mov eax, dword [esp + 0x28]
fadd dword [0x101004b8]
mov ecx, dword [esp + 0x58]
inc eax
cmp eax, ecx
fstp dword [esp + 0x6c]
mov dword [esp + 0x28], eax
jl 0x10024699
mov ecx, esi
call fcn.10046110
mov ecx, ebx
call fcn.10046110
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, str.Buffer_does_not_exist
test eax, eax
je 0x10024a14
mov ecx, dword [0x1012acb0]
push eax
call fcn.1003bd70
push 0x10104f70
lea ecx, [esp + 0x64]
push ecx
mov dword [esp + 0x68], str.Buffer_does_not_exist
call fcn.1009a54a
nop
nop
nop
nop
nop
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100fb858
push eax
mov al, byte [0x1012acac]
mov dword fs:[0], esp
sub esp, 0x10
push ebx
xor ebx, ebx
cmp al, bl
push edi
mov edi, dword [esp + 0x28]
je 0x10024a95
mov ecx, dword [0x1012b754]
push edi
call fcn.10047d20
test eax, eax
jne 0x10024a95
mov eax, str.Buffer_does_not_exist
test eax, eax
je 0x10024a7e
mov ecx, dword [0x1012acb0]
push eax
call fcn.1003bd70
push 0x10104f70
lea ecx, [esp + 0x2c]
push ecx
mov dword [esp + 0x30], str.Buffer_does_not_exist
call fcn.1009a54a
mov eax, dword [0x10100440]
push esi
mov esi, dword [esp + 0x30]
mov dl, byte [esi]
push eax
push ebx
push esi
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], dl
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
call fcn.10001e54
cmp esi, ebx
mov dword [esp + 0x24], ebx
je 0x10024ad2
mov ecx, esi
call fcn.10004a20
push esi
call fcn.10004660
lea ecx, [esp + 0xc]
push ecx
push edi
call fcn.10024b20
mov ecx, dword [esp + 0x10]
neg al
sbb eax, eax
neg eax
cmp ecx, ebx
mov esi, eax
je 0x10024b09
mov al, byte [ecx - 1]
cmp al, bl
je 0x10024aff
cmp al, 0xff
je 0x10024aff
dec al
mov byte [ecx - 1], al
jmp 0x10024b09
dec ecx
push ecx
call fcn.1008cc5c
add esp, 4
mov ecx, dword [esp + 0x1c]
mov eax, esi
pop esi
pop edi
pop ebx
mov dword fs:[0], ecx
add esp, 0x1c
ret 8