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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x2f4
mov eax, dword [0x100fd640]
xor eax, esp
mov dword [esp + 0x2f0], eax
fldz
mov eax, dword [ebp + 0x14]
fld qword [ebp + 0x30]
push ebx
mov ebx, dword [ebp + 0x10]
fcom st(1)
mov dword [esp + 0x40], eax
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
fnstsw ax
fld qword [ebp + 0x18]
mov dword [esp + 0x64], esi
fld qword [ebp + 0x28]
mov dword [esp + 0x30], ebx
test ah, 5
jp 0x10022538
fadd st(1), st(0)
fxch st(1)
fst qword [ebp + 0x18]
fld qword [ebp + 0x20]
fadd st(3)
fstp qword [ebp + 0x20]
fxch st(1)
fchs
fst qword [ebp + 0x28]
fxch st(2)
fchs
fst qword [ebp + 0x30]
jmp 0x1002253a
fxch st(2)
fld qword [ebp + 0x40]
fcom st(4)
fnstsw ax
fstp st(4)
fld qword [ebp + 0x38]
test ah, 5
jp 0x1002256a
fadd st(2), st(0)
fxch st(2)
fst qword [ebp + 0x18]
fld qword [ebp + 0x20]
fadd st(5)
fstp qword [ebp + 0x20]
fxch st(2)
fchs
fst qword [ebp + 0x38]
fxch st(4)
fchs
fst qword [ebp + 0x40]
jmp 0x1002256c
fxch st(4)
fld st(3)
fmul st(1)
fld st(2)
fmul st(6)
fcompp
fnstsw ax
test ah, 5
jp 0x100225a1
fxch st(4)
fst qword [ebp + 0x28]
fxch st(3)
fst qword [ebp + 0x38]
fxch st(4)
fst qword [ebp + 0x30]
fxch st(1)
fst qword [ebp + 0x40]
fld qword [ebp + 0x48]
fld qword [ebp + 0x50]
fst qword [ebp + 0x48]
fxch st(1)
fst qword [ebp + 0x50]
jmp 0x100225a7
fld qword [ebp + 0x48]
fld qword [ebp + 0x50]
fld st(5)
fmul st(2)
fst qword [esp + 0x90]
fxch st(4)
fmulp st(2)
fxch st(1)
fst qword [esp + 0x88]
fld st(6)
fmul st(2)
fst qword [esp + 0xc0]
fxch st(3)
fmulp st(2)
fxch st(1)
fst qword [esp + 0xa8]
fxch st(2)
fadd st(3)
fld qword [0x100ba770]
fmul st(1), st(0)
fxch st(5)
fsubrp st(1)
fst qword [esp + 0x98]
fxch st(2)
faddp st(1)
fmul st(3)
fsubr qword [ebp + 0x20]
fstp qword [esp + 0x58]
fld st(1)
fadd st(4)
fst qword [esp + 0xd8]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
fld st(1)
test ah, 0x41
jne 0x1002261d
faddp st(5)
fxch st(4)
faddp st(2)
jmp 0x10022627
fxch st(2)
faddp st(5)
fxch st(4)
faddp st(2)
fxch st(1)
fst qword [esp + 0x68]
fld qword [esp + 0xc0]
faddp st(5)
fxch st(4)
fst qword [esp + 0xd0]
fcom st(3)
fnstsw ax
fstp st(3)
test ah, 5
jp 0x10022650
fstp st(3)
fxch st(1)
faddp st(2)
jmp 0x1002265c
fxch st(2)
faddp st(3)
fxch st(2)
fstp qword [esp + 0x68]
fxch st(1)
faddp st(1)
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [esp + 0x70]
fadd qword [0x100ba770]
mov dword [esp + 0x48], eax
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [esp + 0x60]
fadd qword [0x100ba770]
mov dword [esp + 0x44], eax
fst qword [esp + 0xc0]
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [esp + 0x60]
fadd qword [ebp + 0x30]
mov dword [esp + 0x2c], eax
fadd qword [esp + 0x90]
fadd qword [ebp + 0x40]
fadd qword [esp + 0xb0]
fadd qword [0x100ba770]
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
add esp, 8
call fcn.100b4c40
push edi
push esi
mov dword [esp + 0x30], eax
call sym.awt.dll__GetNativePrim_8
mov edi, eax
mov dword [esp + 0x2c], edi
test edi, edi
je 0x100237c8
push ebx
push esi
call sym.awt.dll__GrPrim_Sg2dGetPixel_8
mov ecx, dword [edi + 8]
cmp dword [ecx + 8], 0
mov dword [esp + 0x38], eax
je 0x1002271e
lea edx, [esp + 0x16c]
push edx
push edi
push ebx
push esi
call sym.awt.dll__GrPrim_Sg2dGetCompInfo_16
mov eax, dword [esp + 0x48]
push eax
push esi
call sym.awt.dll__SurfaceData_GetOps_8
mov ebx, eax
mov dword [esp + 0x7c], ebx
test ebx, ebx
je 0x100237c8
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0xe8]
push ecx
push edx
push esi
call sym.awt.dll__GrPrim_Sg2dGetClip_12
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x44]
push ecx
push edx
push eax
lea ecx, [esp + 0xf8]
push ecx
call fcn.10045e50
mov edx, dword [esp + 0xf4]
cmp edx, dword [esp + 0xec]
jle 0x100237c8
mov eax, dword [esp + 0xf0]
cmp eax, dword [esp + 0xe8]
jle 0x100237c8
mov ecx, dword [edi + 0x1c]
mov eax, dword [ebx]
push ecx
lea edx, [esp + 0xec]
push edx
push ebx
push esi
call eax
add esp, 0x10
test eax, eax
jne 0x100237c8
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xec]
mov edi, dword [esp + 0xf4]
mov dword [esp + 0x40], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x28], edi
cmp ecx, eax
jle 0x100237b2
cmp edi, edx
jle 0x100237b2
mov edx, dword [ebx + 4]
lea ecx, [esp + 0xe8]
push ecx
push ebx
push esi
call edx
add esp, 0xc
cmp dword [esp + 0xf8], 0
je 0x1002378c
fld qword [ebp + 0x30]
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x10]
fld st(0)
fldz
mov edx, dword [ecx]
fld st(0)
mov dword [esp + 0x44], edx
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x10022831
fld st(0)
jmp 0x10022836
fld qword [ebp + 0x28]
fdiv st(2)
fst qword [esp + 0x68]
fld qword [ebp + 0x40]
fld st(0)
fld st(3)
fucompp
fnstsw ax
test ah, 0x44
jp 0x1002284e
fstp st(0)
jmp 0x10022855
fstp st(2)
fld qword [ebp + 0x38]
fdivrp st(2)
fxch st(1)
fst qword [esp + 0x30]
fld st(1)
fld qword [0x100cb678]
fmul st(1), st(0)
fxch st(1)
call fcn.10045e50
fmulp st(1)
mov edi, eax
mov ebx, edx
call fcn.10045e50
fld1
fcom qword [ebp + 0x48]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
fnstsw ax
test ah, 0x41
jne 0x100233ff
fcomp qword [ebp + 0x50]
fnstsw ax
test ah, 0x41
jne 0x10023401
fstp st(0)
sub esp, 8
fstp st(0)
fld qword [esp + 0x90]
fmul st(0), st(0)
fld qword [esp + 0x98]
fmul st(0), st(0)
faddp st(1)
fstp qword [esp]
call sub.MSVCR100.dll_sqrt
fstp qword [ebp + 0x48]
fld qword [esp + 0xb0]
fmul st(0), st(0)
fld qword [esp + 0xc8]
fmul st(0), st(0)
faddp st(1)
fstp qword [esp]
call sub.MSVCR100.dll_sqrt
fld qword [0x100cb670]
add esp, 8
fcom qword [ebp + 0x48]
fnstsw ax
test ah, 1
jne 0x1002317e
fcompp
fnstsw ax
test ah, 1
jne 0x10023182
fld qword [ebp + 0x18]
mov eax, dword [esp + 0x2c]
fld qword [ebp + 0x28]
mov ecx, dword [eax + 0x10]
fadd st(1)
mov edx, dword [ecx + 4]
sub esp, 8
mov dword [esp + 0x38], edx
fst qword [ebp + 0x28]
fld qword [ebp + 0x20]
fld qword [ebp + 0x30]
fadd st(1)
fst qword [ebp + 0x30]
fld qword [ebp + 0x38]
fadd st(3), st(0)
fxch st(3)
fstp qword [esp + 0x98]
fld qword [ebp + 0x40]
fadd st(1), st(0)
fxch st(1)
fstp qword [esp + 0x90]
fld st(3)
faddp st(3)
fxch st(2)
fstp qword [ebp + 0x38]
faddp st(1)
fstp qword [ebp + 0x40]
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [ebp + 0x28]
fstp qword [esp]
mov esi, eax
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [ebp + 0x20]
fstp qword [esp]
mov ebx, eax
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [ebp + 0x30]
fstp qword [esp]
mov edi, eax
call dword [sym.imp.MSVCR100.dll_floor]
add esp, 8
call fcn.100b4c40
cmp edi, eax
jne 0x10022a2e
cmp edi, dword [esp + 0xec]
jl 0x10022b47
cmp edi, dword [esp + 0xf4]
jge 0x10022b47
cmp esi, ebx
jge 0x100229cb
mov ecx, esi
lea eax, [ebx - 1]
jmp 0x100229d0
lea ecx, [ebx + 1]
mov eax, esi
inc eax
mov dword [esp + 0x24], ecx
cmp eax, ecx
jge 0x100229da
dec eax
mov edx, dword [esp + 0xe8]
cmp ecx, edx
jge 0x100229eb
mov ecx, edx
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0xf0]
cmp eax, edx
jle 0x100229f8
mov eax, edx
cmp ecx, eax
jge 0x10022b47
lea edx, [esp + 0x16c]
push edx
mov edx, dword [esp + 0x30]
push edx
push 0
push 0
push 0
push 1
push 0
sub eax, ecx
push eax
mov eax, dword [esp + 0x58]
push eax
push edi
push ecx
lea ecx, [esp + 0x114]
push ecx
jmp 0x10022b40
cmp esi, ebx
jne 0x10022abc
cmp esi, dword [esp + 0xe8]
jl 0x10022b47
cmp esi, dword [esp + 0xf0]
jge 0x10022b47
cmp edi, eax
jge 0x10022a59
mov ecx, edi
dec eax
jmp 0x10022a5e
lea ecx, [eax + 1]
mov eax, edi
inc eax
mov dword [esp + 0x28], ecx
cmp eax, ecx
jge 0x10022a68
dec eax
mov edx, dword [esp + 0xec]
cmp ecx, edx
jge 0x10022a79
mov ecx, edx
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0xf4]
cmp eax, edx
jle 0x10022a86
mov eax, edx
cmp ecx, eax
jge 0x10022b47
lea edx, [esp + 0x16c]
push edx
mov edx, dword [esp + 0x30]
push edx
push 0
push 0
push 0
push 4
push 0
sub eax, ecx
push eax
mov eax, dword [esp + 0x58]
push eax
push ecx
push esi
lea ecx, [esp + 0x114]
push ecx
jmp 0x10022b40
lea edx, [esp + 0x40]
push edx
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x60]
push edx
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x60]
push edx
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x40]
push edx
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x108]
push edx
push 1
push eax
push ebx
push edi
push esi
call fcn.10021d10
add esp, 0x38
test al, al
je 0x10022b47
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x16c]
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x44]
push edx
push eax
push ecx
lea edx, [esp + 0x114]
push edx
call dword [esp + 0x60]
add esp, 0x30
fld qword [ebp + 0x28]
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [esp + 0x98]
fstp qword [esp]
mov ebx, eax
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [ebp + 0x30]
fstp qword [esp]
mov esi, eax
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [esp + 0x90]
fstp qword [esp]
mov edi, eax
call dword [sym.imp.MSVCR100.dll_floor]
add esp, 8
call fcn.100b4c40
cmp edi, eax
jne 0x10022c2f
cmp edi, dword [esp + 0xec]
jl 0x10022d48
cmp edi, dword [esp + 0xf4]
jge 0x10022d48
cmp ebx, esi
jge 0x10022bcc
mov ecx, ebx
lea eax, [esi - 1]
jmp 0x10022bd1
lea ecx, [esi + 1]
mov eax, ebx
inc eax
mov dword [esp + 0x28], ecx
cmp eax, ecx
jge 0x10022bdb
dec eax
mov edx, dword [esp + 0xe8]
cmp ecx, edx
jge 0x10022bec
mov ecx, edx
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0xf0]
cmp eax, edx
jle 0x10022bf9
mov eax, edx
cmp ecx, eax
jge 0x10022d48
lea edx, [esp + 0x16c]
push edx
mov edx, dword [esp + 0x30]
push edx
push 0
push 0
push 0
push 1
push 0
sub eax, ecx
push eax
mov eax, dword [esp + 0x58]
push eax
push edi
push ecx
lea ecx, [esp + 0x114]
push ecx
jmp 0x10022d41
cmp ebx, esi
jne 0x10022cbd
cmp ebx, dword [esp + 0xe8]
jl 0x10022d48
cmp ebx, dword [esp + 0xf0]
jge 0x10022d48
cmp edi, eax
jge 0x10022c5a
mov ecx, edi
dec eax
jmp 0x10022c5f
lea ecx, [eax + 1]
mov eax, edi
inc eax
mov dword [esp + 0x24], ecx
cmp eax, ecx
jge 0x10022c69
dec eax
mov edx, dword [esp + 0xec]
cmp ecx, edx
jge 0x10022c7a
mov ecx, edx
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0xf4]
cmp eax, edx
jle 0x10022c87
mov eax, edx
cmp ecx, eax
jge 0x10022d48
lea edx, [esp + 0x16c]
push edx
mov edx, dword [esp + 0x30]
push edx
push 0
push 0
push 0
push 4
push 0
sub eax, ecx
push eax
mov eax, dword [esp + 0x58]
push eax
push ecx
push ebx
lea ecx, [esp + 0x114]
push ecx
jmp 0x10022d41
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x3c]
push edx
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x108]
push edx
push 1
push eax
push esi
push edi
push ebx
call fcn.10021d10
add esp, 0x38
test al, al
je 0x10022d48
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x16c]
push eax
mov eax, dword [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
lea edx, [esp + 0x114]
push edx
call dword [esp + 0x60]
add esp, 0x30
fld qword [esp + 0x90]
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [ebp + 0x38]
fstp qword [esp]
mov ebx, eax
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [esp + 0x90]
fstp qword [esp]
mov esi, eax
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [ebp + 0x40]
fstp qword [esp]
mov edi, eax
call dword [sym.imp.MSVCR100.dll_floor]
add esp, 8
call fcn.100b4c40
cmp edi, eax
jne 0x10022e30
cmp edi, dword [esp + 0xec]
jl 0x10022f49
cmp edi, dword [esp + 0xf4]
jge 0x10022f49
cmp ebx, esi
jge 0x10022dcd
mov ecx, ebx
lea eax, [esi - 1]
jmp 0x10022dd2
lea ecx, [esi + 1]
mov eax, ebx
inc eax
mov dword [esp + 0x28], ecx
cmp eax, ecx
jge 0x10022ddc
dec eax
mov edx, dword [esp + 0xe8]
cmp ecx, edx
jge 0x10022ded
mov ecx, edx
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0xf0]
cmp eax, edx
jle 0x10022dfa
mov eax, edx
cmp ecx, eax
jge 0x10022f49
lea edx, [esp + 0x16c]
push edx
mov edx, dword [esp + 0x30]
push edx
push 0
push 0
push 0
push 1
push 0
sub eax, ecx
push eax
mov eax, dword [esp + 0x58]
push eax
push edi
push ecx
lea ecx, [esp + 0x114]
push ecx
jmp 0x10022f42
cmp ebx, esi
jne 0x10022ebe
cmp ebx, dword [esp + 0xe8]
jl 0x10022f49
cmp ebx, dword [esp + 0xf0]
jge 0x10022f49
cmp edi, eax
jge 0x10022e5b
mov ecx, edi
dec eax
jmp 0x10022e60
lea ecx, [eax + 1]
mov eax, edi
inc eax
mov dword [esp + 0x24], ecx
cmp eax, ecx
jge 0x10022e6a
dec eax
mov edx, dword [esp + 0xec]
cmp ecx, edx
jge 0x10022e7b
mov ecx, edx
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0xf4]
cmp eax, edx
jle 0x10022e88
mov eax, edx
cmp ecx, eax
jge 0x10022f49
lea edx, [esp + 0x16c]
push edx
mov edx, dword [esp + 0x30]
push edx
push 0
push 0
push 0
push 4
push 0
sub eax, ecx
push eax
mov eax, dword [esp + 0x58]
push eax
push ecx
push ebx
lea ecx, [esp + 0x114]
push ecx
jmp 0x10022f42
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x3c]
push edx
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x108]
push edx
push 1
push eax
push esi
push edi
push ebx
call fcn.10021d10
add esp, 0x38
test al, al
je 0x10022f49
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x16c]
push eax
mov eax, dword [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
lea edx, [esp + 0x114]
push edx
call dword [esp + 0x60]
add esp, 0x30
fld qword [ebp + 0x38]
sub esp, 8
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [ebp + 0x18]
fstp qword [esp]
mov ebx, eax
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [ebp + 0x40]
fstp qword [esp]
mov esi, eax
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [ebp + 0x20]
fstp qword [esp]
mov edi, eax
call dword [sym.imp.MSVCR100.dll_floor]
add esp, 8
call fcn.100b4c40
cmp edi, eax
jne 0x10023029
cmp edi, dword [esp + 0xec]
jl 0x10023142
cmp edi, dword [esp + 0xf4]
jge 0x10023142
cmp ebx, esi
jge 0x10022fc6
mov ecx, ebx
lea eax, [esi - 1]
jmp 0x10022fcb
lea ecx, [esi + 1]
mov eax, ebx
inc eax
mov dword [esp + 0x28], ecx
cmp eax, ecx
jge 0x10022fd5
dec eax
mov edx, dword [esp + 0xe8]
cmp ecx, edx
jge 0x10022fe6
mov ecx, edx
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0xf0]
cmp eax, edx
jle 0x10022ff3
mov eax, edx
cmp ecx, eax
jge 0x10023142
lea edx, [esp + 0x16c]
push edx
mov edx, dword [esp + 0x30]
push edx
push 0
push 0
push 0
push 1
push 0
sub eax, ecx
push eax
mov eax, dword [esp + 0x58]
push eax
push edi
push ecx
lea ecx, [esp + 0x114]
push ecx
jmp 0x1002313b
cmp ebx, esi
jne 0x100230b7
cmp ebx, dword [esp + 0xe8]
jl 0x10023142
cmp ebx, dword [esp + 0xf0]
jge 0x10023142
cmp edi, eax
jge 0x10023054
mov ecx, edi
dec eax
jmp 0x10023059
lea ecx, [eax + 1]
mov eax, edi
inc eax
mov dword [esp + 0x24], ecx
cmp eax, ecx
jge 0x10023063
dec eax
mov edx, dword [esp + 0xec]
cmp ecx, edx
jge 0x10023074
mov ecx, edx
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0xf4]
cmp eax, edx
jle 0x10023081
mov eax, edx
cmp ecx, eax
jge 0x10023142
lea edx, [esp + 0x16c]
push edx
mov edx, dword [esp + 0x30]
push edx
push 0
push 0
push 0
push 4
push 0
sub eax, ecx
push eax
mov eax, dword [esp + 0x58]
push eax
push ecx
push ebx
lea ecx, [esp + 0x114]
push ecx
jmp 0x1002313b
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x3c]
push edx
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x108]
push edx
push 1
push eax
push esi
push edi
push ebx
call fcn.10021d10
add esp, 0x38
test al, al
je 0x10023142
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x16c]
push eax
mov eax, dword [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
lea edx, [esp + 0x114]
push edx
call dword [esp + 0x60]
add esp, 0x30
mov esi, dword [esp + 0x7c]
mov eax, dword [esi + 8]
test eax, eax
je 0x10023160
mov edx, dword [esp + 0x64]
lea ecx, [esp + 0xe8]
push ecx
push esi
push edx
call eax
add esp, 0xc
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100237c8
mov edx, dword [esp + 0x64]
lea ecx, [esp + 0xe8]
push ecx
push esi
push edx
jmp 0x100237c3
fstp st(1)
fstp st(0)
fld qword [esp + 0x98]
sub esp, 8
fadd qword [esp + 0x98]
mov dword [esp + 0x200], edi
mov dword [esp + 0x204], ebx
fadd qword [esp + 0xc8]
fst qword [esp + 0x50]
fstp qword [esp + 0x1e0]
fld qword [esp + 0x60]
fld qword [esp + 0x90]
fadd st(1), st(0)
fxch st(1)
fadd qword [esp + 0xb0]
fst qword [esp + 0x88]
fst qword [esp + 0x1e8]
fld qword [ebp + 0x30]
fsubrp st(2)
fadd st(1), st(0)
fxch st(1)
fst qword [esp + 0x78]
fstp qword [esp + 0x1f0]
fld qword [esp + 0x70]
fstp qword [esp + 0x1f8]
fadd qword [0x100ba770]
fst qword [esp + 0xb8]
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [esp + 0x78]
fadd qword [0x100ba770]
mov dword [esp + 0x208], eax
fst qword [esp + 0xa8]
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [esp + 0x50]
mov esi, dword [esp + 0x58]
fstp qword [esp + 0x240]
fld qword [esp + 0x88]
mov dword [esp + 0x20c], eax
mov eax, dword [esp + 0x5c]
fst qword [esp + 0x248]
fld qword [ebp + 0x40]
mov dword [esp + 0x260], esi
fsub qword [esp + 0xb0]
mov dword [esp + 0x264], eax
fst qword [esp + 0xd0]
faddp st(1)
fst qword [esp + 0x88]
fstp qword [esp + 0x250]
fld qword [esp + 0x38]
fstp qword [esp + 0x258]
fld qword [esp + 0xb8]
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [esp + 0x88]
fadd qword [0x100ba770]
mov dword [esp + 0x268], eax
fst qword [esp + 0xb8]
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [ebp + 0x28]
fsub qword [esp + 0x98]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x26c], eax
mov dword [esp + 0x230], esi
fadd qword [esp + 0x50]
mov dword [esp + 0x234], ecx
fstp qword [esp + 0x210]
fld qword [esp + 0x78]
fst qword [esp + 0x218]
fadd qword [esp + 0xd0]
fst qword [esp + 0x78]
fstp qword [esp + 0x220]
fld qword [esp + 0x38]
fstp qword [esp + 0x228]
fld qword [esp + 0xa8]
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [esp + 0x78]
fadd qword [0x100ba770]
mov dword [esp + 0x238], eax
fst qword [esp + 0xa8]
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [ebp + 0x38]
fsub qword [esp + 0xc8]
mov dword [esp + 0x23c], eax
mov dword [esp + 0x290], edi
mov dword [esp + 0x294], ebx
fadd qword [esp + 0x50]
fstp qword [esp + 0x270]
fld qword [esp + 0x88]
fstp qword [esp + 0x278]
fld qword [esp + 0x78]
fstp qword [esp + 0x280]
fld qword [esp + 0x70]
fstp qword [esp + 0x288]
fld qword [esp + 0xb8]
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [esp + 0xa8]
fstp qword [esp]
mov dword [esp + 0x298], eax
call dword [sym.imp.MSVCR100.dll_floor]
add esp, 8
call fcn.100b4c40
fld qword [ebp + 0x30]
fld qword [esp + 0x68]
mov dword [esp + 0x294], eax
mov esi, 8
jmp 0x10023406
fstp st(0)
mov esi, 4
fld qword [esp + 0x98]
sub esp, 8
fstp qword [esp + 0x180]
mov dword [esp + 0x50], esi
fld qword [esp + 0x60]
mov dword [esp + 0x1a0], edi
fst qword [esp + 0x188]
mov dword [esp + 0x1a4], ebx
fld qword [esp + 0x90]
faddp st(3)
faddp st(2)
fxch st(1)
fst qword [esp + 0x88]
fstp qword [esp + 0x190]
fstp qword [esp + 0x198]
fld qword [esp + 0xc0]
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [esp + 0x88]
fadd qword [0x100ba770]
mov dword [esp + 0x1a8], eax
fst qword [esp + 0xd0]
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [esp + 0xa0]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x58]
lea edx, [esi + esi*2 - 6]
lea esi, [esi + esi*2]
add edx, edx
fstp qword [esp + edx*8 + 0x180]
add esi, esi
fld qword [esp + 0x60]
lea esi, [esp + esi*8 + 0x180]
fst qword [esi - 0x58]
fld qword [esp + 0xb0]
fadd qword [ebp + 0x40]
fst qword [esp + 0xa8]
faddp st(1)
fst qword [esp + 0x78]
fstp qword [esi - 0x50]
fld qword [esp + 0x38]
fstp qword [esi - 0x48]
mov dword [esi - 0x40], eax
fld qword [esp + 0xc0]
mov dword [esi - 0x3c], ecx
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [esp + 0x78]
fadd qword [0x100ba770]
mov dword [esi - 0x38], eax
fst qword [esp + 0xb8]
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [esp + 0xe0]
fadd qword [esp + 0xa0]
mov edx, dword [esp + 0x58]
mov dword [esi - 0x34], eax
mov eax, dword [esp + 0x5c]
fstp qword [esp + 0x1b0]
mov dword [esp + 0x1d0], edx
fld qword [esp + 0x88]
mov dword [esp + 0x1d4], eax
fst qword [esp + 0x1b8]
fadd qword [esp + 0xa8]
fst qword [esp + 0xc0]
fstp qword [esp + 0x1c0]
fld qword [esp + 0x38]
fstp qword [esp + 0x1c8]
fld qword [esp + 0xd0]
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [esp + 0xc0]
fadd qword [0x100ba770]
mov dword [esp + 0x1d8], eax
fst qword [esp + 0xe0]
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [esp + 0xd8]
fadd qword [esp + 0xa0]
mov dword [esp + 0x1dc], eax
fstp qword [esi - 0x30]
fld qword [esp + 0x78]
fstp qword [esi - 0x28]
fld qword [esp + 0xc0]
fstp qword [esi - 0x20]
fld qword [esp + 0x70]
fstp qword [esi - 0x18]
mov dword [esi - 0x10], edi
fld qword [esp + 0xb8]
mov dword [esi - 0xc], ebx
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_floor]
call fcn.100b4c40
fld qword [esp + 0xe0]
fstp qword [esp]
mov dword [esi - 8], eax
call dword [sym.imp.MSVCR100.dll_floor]
add esp, 8
call fcn.100b4c40
mov dword [esi - 4], eax
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0x30], eax
cmp eax, dword [esp + 0x24]
jge 0x10023644
mov eax, dword [esp + 0x24]
mov dword [esp + 0x30], eax
cmp eax, dword [esp + 0x28]
jge 0x1002378c
fld qword [0x100cb668]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x28]
xor esi, esi
mov dword [esp + 0x24], esi
test ecx, ecx
jle 0x100236a3
lea eax, [esp + 0x1a0]
mov edi, ecx
mov ecx, dword [eax + 4]
cmp dword [esp + 0x30], ecx
jge 0x10023699
mov edx, dword [eax]
cmp dword [esp + 0x30], edx
jge 0x10023688
cmp ebx, edx
jle 0x10023699
mov ebx, edx
jmp 0x10023699
lea edx, [eax - 0x28]
mov dword [esp + esi*4 + 0xd8], edx
inc esi
cmp ebx, ecx
jle 0x10023699
mov ebx, ecx
add eax, 0x30
dec edi
jne 0x1002366f
mov dword [esp + 0x24], esi
xor edi, edi
cmp dword [esp + 0x24], edi
jle 0x1002377c
fild dword [esp + 0x30]
fadd qword [0x100ba770]
fst qword [esp + 0xd0]
jmp 0x100236d7
fld qword [esp + 0xd0]
mov eax, dword [esp + edi*4 + 0xdc]
fld st(0)
fsub qword [eax + 8]
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + edi*4 + 0xd8]
lea ecx, [esp + 0x16c]
fmul qword [eax + 0x18]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
fadd qword [eax]
mov edx, dword [eax + 0x24]
push ecx
mov ecx, dword [eax + 0x20]
push edx
fmul st(2)
push ecx
call fcn.10045e50
fsub qword [esi + 8]
mov ecx, SysReAllocString
sub ecx, eax
fmul qword [esi + 0x18]
mov eax, 0
sbb eax, edx
mov edx, dword [esi + 0x20]
fadd qword [esi]
push eax
push ecx
mov ecx, dword [esi + 0x24]
push ecx
fmulp st(1)
push edx
call fcn.10045e50
mov ecx, SysReAllocString
sub ecx, eax
mov eax, 0
sbb eax, edx
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x68]
push ebx
push ecx
push edx
push eax
lea ecx, [esp + 0x124]
push ecx
call dword [esp + 0x84]
fld qword [0x100cb668]
add edi, 2
add esp, 0x40
cmp edi, dword [esp + 0x24]
jl 0x100236d0
mov dword [esp + 0x30], ebx
cmp ebx, dword [esp + 0x28]
jl 0x10023654
fstp st(0)
mov ecx, dword [esp + 0x7c]
mov eax, dword [ecx + 8]
test eax, eax
je 0x100237aa
lea edx, [esp + 0xe8]
push edx
push ecx
mov ecx, dword [esp + 0x6c]
push ecx
call eax
add esp, 0xc
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x7c]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100237c8
lea edx, [esp + 0xe8]
push edx
push ebx
push esi
call eax
add esp, 0xc
mov ecx, dword [esp + 0x2fc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100b4c22
mov esp, ebp
pop ebp
ret 0x50