Function at 0x100249e0
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 [0x101054a8]
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.100465a0
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.100465a0
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
mov ecx, ebx
fsub dword [esp + 0x18]
fstp dword [esp + 0x48]
call fcn.100465b0
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.100465b0
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 0x10024b73
fstp st(0)
fld dword [esp + 0x58]
fld dword [esp + 0x50]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x10024b86
fstp st(0)
fld dword [esp + 0x50]
fld dword [esp + 0x48]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x10024b99
fstp st(0)
fld dword [esp + 0x48]
sub esp, 8
fstp qword [esp]
call fcn.1009e8ad
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 0x10024bc4
fstp st(0)
fld dword [esp + 0x5c]
fld dword [esp + 0x54]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x10024bd7
fstp st(0)
fld dword [esp + 0x54]
fld dword [esp + 0x4c]
fcomp st(1)
fnstsw ax
test ah, 1
je 0x10024bea
fstp st(0)
fld dword [esp + 0x4c]
sub esp, 8
fstp qword [esp]
call fcn.1009e8ad
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 0x10024c15
fstp st(0)
fld dword [esp + 0x58]
fld dword [esp + 0x50]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x10024c28
fstp st(0)
fld dword [esp + 0x50]
fld dword [esp + 0x48]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x10024c3b
fstp st(0)
fld dword [esp + 0x48]
sub esp, 8
fstp qword [esp]
call fcn.1009ebc1
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 0x10024c66
fstp st(0)
fld dword [esp + 0x5c]
fld dword [esp + 0x54]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x10024c79
fstp st(0)
fld dword [esp + 0x54]
fld dword [esp + 0x4c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x10024c8c
fstp st(0)
fld dword [esp + 0x4c]
fld dword [esp + 0x3c]
fsub dword [esp + 0x1c]
call fcn.1009e5c8
mov esi, eax
sub esp, 8
fstp qword [esp]
mov dword [esp + 0x40], esi
call fcn.1009ebc1
fsub dword [esp + 0x28]
add esp, 8
call fcn.1009e5c8
mov ecx, dword [0x10131f08]
mov edi, eax
push 0
push edi
push esi
mov dword [esp + 0x64], edi
call fcn.10048650
fld dword [esp + 0x20]
mov esi, eax
fchs
mov dword [esp + 0x3c], esi
call fcn.1009e5c8
fld dword [esp + 0x1c]
fchs
push eax
call fcn.1009e5c8
push eax
mov ecx, esi
call fcn.10045530
mov ecx, ebx
call fcn.10046660
push eax
mov ecx, esi
call fcn.100453a0
mov ecx, ebx
call fcn.10046c30
mov ecx, esi
call fcn.10046c30
fld dword [esp + 0x20]
test edi, edi
fadd dword [0x101054a0]
mov dword [esp + 0x28], 0
fstp dword [esp + 0x6c]
jle 0x10025086
fld dword [esp + 0x1c]
fadd dword [0x101054a0]
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 0x10025063
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 [0x10131f28]
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 0x10024ff7
mov al, byte [0x101314b0]
fstp dword [esp + 0x20]
test al, al
fld dword [esp + 0x70]
fadd dword [esp + 0x18]
fstp dword [esp + 0x1c]
je 0x10024dcb
mov ecx, dword [0x10131f08]
push ebx
call fcn.100488b0
test eax, eax
je 0x1002509f
fld dword [esp + 0x1c]
sub esp, 8
fsub dword [0x101054a0]
fstp dword [esp + 0x24]
fld dword [esp + 0x28]
fsub dword [0x101054a0]
fstp dword [esp + 0x28]
fld dword [esp + 0x24]
fstp qword [esp]
call fcn.1009e8ad
fstp dword [esp + 0x18]
fld dword [esp + 0x28]
fstp qword [esp]
call fcn.1009e8ad
fld dword [esp + 0x18]
add esp, 8
call fcn.1009e5c8
fld st(0)
mov esi, eax
call fcn.1009e5c8
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.10046e00
mov ecx, dword [esp + 0x24]
mov edi, eax
push ecx
lea eax, [esi + 1]
push eax
mov ecx, ebx
call fcn.10046e00
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.10046e00
mov ecx, dword [ebp + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
push eax
push esi
call fcn.10046e00
fld dword [0x101054a8]
fsub dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
fld dword [0x101054a8]
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 [0x101054a0]
call fcn.1009e5c8
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 [0x101054a0]
call fcn.1009e5c8
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 [0x101054a0]
call fcn.1009e5c8
fstp st(0)
mov edi, dword [esp + 0x34]
fstp st(0)
mov ebx, dword [ebp + 8]
fstp st(0)
or esi, eax
jmp 0x10025030
sub esp, 8
fstp qword [esp]
call fcn.1009e8ad
add esp, 8
call fcn.1009e5c8
fld dword [esp + 0x70]
fadd dword [esp + 0x18]
push eax
sub esp, 8
fstp qword [esp]
call fcn.1009e8ad
add esp, 8
call fcn.1009e5c8
push eax
mov ecx, ebx
call fcn.10046e00
mov esi, eax
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
push esi
push edx
push edi
call fcn.10046ce0
fld dword [esp + 0x68]
fadd dword [0x101054a8]
mov eax, dword [esp + 0x38]
inc edi
cmp edi, eax
fstp dword [esp + 0x68]
mov dword [esp + 0x34], edi
jl 0x10024d6e
mov esi, dword [esp + 0x3c]
fld dword [esp + 0x6c]
mov eax, dword [esp + 0x28]
fadd dword [0x101054a8]
mov ecx, dword [esp + 0x58]
inc eax
cmp eax, ecx
fstp dword [esp + 0x6c]
mov dword [esp + 0x28], eax
jl 0x10024d39
mov ecx, esi
call fcn.10046ca0
mov ecx, ebx
call fcn.10046ca0
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 0x100250b4
mov ecx, dword [0x101314b4]
push eax
call fcn.1003c570
push 0x10109f98
lea ecx, [esp + 0x64]
push ecx
mov dword [esp + 0x68], str.Buffer_does_not_exist
call fcn.1009e1e8
nop
nop
nop
nop
nop
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x10100518
push eax
mov al, byte [0x101314b0]
mov dword fs:[0], esp
sub esp, 0x10
push ebx
xor ebx, ebx
cmp al, bl
push edi
mov edi, dword [esp + 0x28]
je 0x10025135
mov ecx, dword [0x10131f08]
push edi
call fcn.100488b0
test eax, eax
jne 0x10025135
mov eax, str.Buffer_does_not_exist
test eax, eax
je 0x1002511e
mov ecx, dword [0x101314b4]
push eax
call fcn.1003c570
push 0x10109f98
lea ecx, [esp + 0x2c]
push ecx
mov dword [esp + 0x30], str.Buffer_does_not_exist
call fcn.1009e1e8
mov eax, dword [0x10105430]
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.10001ecb
cmp esi, ebx
mov dword [esp + 0x24], ebx
je 0x10025172
mov ecx, esi
call fcn.10004bb0
push esi
call fcn.100047f0
lea ecx, [esp + 0xc]
push ecx
push edi
call fcn.100251c0
mov ecx, dword [esp + 0x10]
neg al
sbb eax, eax
neg eax
cmp ecx, ebx
mov esi, eax
je 0x100251a9
mov al, byte [ecx - 1]
cmp al, bl
je 0x1002519f
cmp al, 0xff
je 0x1002519f
dec al
mov byte [ecx - 1], al
jmp 0x100251a9
dec ecx
push ecx
call fcn.10090902
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