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

Disassembly:
sub esp, 0x220
push ebx
push esi
mov ebx, dword [esp + 0x238]
push edi
lea eax, [esp + 0x158]
push ebp
xor ebp, ebp
push ebx
mov ecx, dword [esp + 0x240]
push eax
mov edx, dword [esp + 0x240]
push ecx
mov eax, dword [esp + 0x240]
push edx
mov dword [esp + 0x108], ebp
push eax
call fcn.1ff91760
mov ecx, dword [esp + 0x23c]
test byte [ecx + 0x8c], 1
je 0x1ff98933
mov eax, dword [esp + 0x234]
push 2
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
cmp eax, 5
je 0x1ff97bee
mov esi, dword [esp + 0x23c]
lea ecx, [esp + 0x58]
add esi, 0x160
push ecx
push esi
push ebx
call fcn.1ff95280
test eax, eax
je 0x1ff97b58
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x5c]
push ecx
push edx
push eax
call dword [sym.imp.GDI32.dll_CreateRectRgn]
mov edi, eax
jmp 0x1ff97ba0
lea eax, [esp + 0x18]
push eax
push esi
push 0
call fcn.1ff94450
push 0x20
call sub.LTKRN13N.dll_Ordinal_282
mov esi, eax
test esi, esi
jne 0x1ff97b76
xor esi, esi
jmp 0x1ff97b84
lea eax, [esp + 0x18]
push 4
push esi
push eax
push ebx
call fcn.1ff920a0
mov edi, 0
test esi, esi
je 0x1ff97ba0
push 2
push 4
push esi
call dword [sym.imp.GDI32.dll_CreatePolygonRgn]
mov edi, eax
push esi
call sub.LTKRN13N.dll_Ordinal_283
push 1
push 1
push 0
push 0
call dword [sym.imp.GDI32.dll_CreateRectRgn]
push eax
mov esi, eax
mov eax, dword [esp + 0x238]
push eax
call dword [sym.imp.GDI32.dll_GetClipRgn]
test eax, eax
je 0x1ff97bd1
push 1
push edi
push esi
push esi
call dword [sym.imp.GDI32.dll_CombineRgn]
push esi
jmp 0x1ff97bd2
push edi
mov eax, dword [esp + 0x238]
push eax
call dword [sym.imp.GDI32.dll_SelectClipRgn]
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0x238]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
push ecx
push edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
mov ecx, dword [esp + 0x244]
push ecx
call dword [sym.imp.GDI32.dll_IntersectClipRect]
mov esi, dword [esp + 0x23c]
lea edi, [esp + 0xa0]
add esi, 0x160
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
lea edx, [esp + 0xa0]
lea ecx, [esp + 0x18]
mov eax, dword [edx]
mov dword [ecx], eax
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov edi, dword [edx + 8]
mov dword [ecx + 8], edi
mov eax, dword [edx + 0xc]
lea edx, [esp + 0xb0]
mov dword [ecx + 0xc], eax
lea ecx, [esp + 0x28]
mov eax, dword [edx]
mov dword [ecx], eax
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov edi, dword [edx + 8]
mov dword [ecx + 8], edi
mov eax, dword [edx + 0xc]
lea edx, [esp + 0xc0]
mov dword [ecx + 0xc], eax
lea ecx, [esp + 0x38]
mov eax, dword [edx]
mov dword [ecx], eax
mov esi, dword [edx + 4]
test ebx, ebx
mov dword [ecx + 4], esi
mov edi, dword [edx + 8]
mov dword [ecx + 8], edi
mov eax, dword [edx + 0xc]
mov dword [ecx + 0xc], eax
lea ecx, [esp + 0x18]
je 0x1ff97d1c
fld1
fcomp qword [ebx]
fnstsw ax
test ah, 0x40
je 0x1ff97ce7
mov eax, dword [ebx + 0xc]
and eax, 0x7fffffff
or eax, dword [ebx + 8]
jne 0x1ff97ce7
mov eax, dword [ebx + 0x14]
and eax, 0x7fffffff
or eax, dword [ebx + 0x10]
jne 0x1ff97ce7
fld1
fcomp qword [ebx + 0x18]
fnstsw ax
test ah, 0x40
je 0x1ff97ce7
mov eax, dword [ebx + 0x24]
and eax, 0x7fffffff
or eax, dword [ebx + 0x20]
jne 0x1ff97ce7
mov eax, dword [ebx + 0x2c]
and eax, 0x7fffffff
or eax, dword [ebx + 0x28]
je 0x1ff97d1c
mov eax, 2
fld qword [ecx]
fmul qword [ebx + 0x10]
fld qword [ecx + 8]
fmul qword [ebx + 0x18]
add ecx, 0x10
mov edx, eax
dec eax
test edx, edx
faddp st(1)
fadd qword [ebx + 0x28]
fld qword [ecx - 0x10]
fmul qword [ebx]
fld qword [ecx - 8]
fmul qword [ebx + 8]
faddp st(1)
fadd qword [ebx + 0x20]
fstp qword [ecx - 0x10]
fstp qword [ecx - 8]
jne 0x1ff97cec
lea ecx, [esp + 0x18]
lea edx, [esp + 0xa0]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x28]
mov dword [edx + 0xc], eax
lea edx, [esp + 0xb0]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x38]
mov dword [edx + 0xc], eax
lea edx, [esp + 0xc0]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
mov dword [edx + 0xc], eax
fld qword [esp + 0x40]
fsub qword [esp + 0x30]
fstp qword [esp + 0xe0]
fld qword [esp + 0x38]
fsub qword [esp + 0x28]
fstp qword [esp + 0x88]
fld qword [esp + 0xe0]
fld qword [esp + 0x88]
fpatan
fstp qword [esp + 0x10]
fld qword [esp + 0x20]
fsub qword [esp + 0x30]
fld qword [esp + 0x18]
fsub qword [esp + 0x28]
fpatan
fst qword [esp + 0x58]
fsubr qword [esp + 0x10]
fcom qword [section..rdata]
fstp qword [esp + 0x98]
fnstsw ax
test ah, 1
je 0x1ff97df3
fld qword [esp + 0x98]
fadd qword [0x1ffe0040]
fstp qword [esp + 0x98]
fld qword [esp + 0x98]
fcomp qword [0x1ffe0050]
fnstsw ax
test ah, 0x41
jne 0x1ff97e8d
fld qword [esp + 0x10]
fsub qword [0x1ffe0050]
mov dword [esp + 0xf8], 1
fstp qword [esp + 0x10]
fld qword [esp + 0x18]
fadd qword [esp + 0x88]
lea ecx, [esp + 0x28]
lea edx, [esp + 0xc0]
fstp qword [esp + 0xa0]
fld qword [esp + 0xa8]
fadd qword [esp + 0xe0]
fstp qword [esp + 0xa8]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x38]
mov dword [edx + 0xc], eax
lea edx, [esp + 0xb0]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
mov dword [edx + 0xc], eax
fld qword [esp + 0x58]
fsub qword [esp + 0x10]
fadd qword [0x1ffe0030]
fcom qword [0x1ffe0040]
fstp qword [esp + 0x58]
fnstsw ax
test ah, 1
jne 0x1ff97eba
fld qword [esp + 0x58]
fsub qword [0x1ffe0040]
fstp qword [esp + 0x58]
fld qword [esp + 0x58]
fcomp qword [0x1ffe0050]
fnstsw ax
fld qword [esp + 0x58]
test ah, 1
jne 0x1ff97ed7
fsub qword [0x1ffe0050]
jmp 0x1ff97eee
fcomp qword [0x1ffe0038]
fnstsw ax
test ah, 1
je 0x1ff97ef2
fld qword [esp + 0x58]
fadd qword [0x1ffe0050]
fstp qword [esp + 0x58]
fld qword [esp + 0x58]
fcomp qword [0x1ffe0030]
fnstsw ax
fld qword [esp + 0x58]
test ah, 0x41
jne 0x1ff97f0f
fsub qword [0x1ffe0050]
jmp 0x1ff97f26
fcomp qword [0x1ffe0038]
fnstsw ax
test ah, 1
je 0x1ff97f2a
fld qword [esp + 0x58]
fadd qword [0x1ffe0050]
fstp qword [esp + 0x58]
xor eax, eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], eax
fld qword [esp + 0xb8]
fsub qword [esp + 0xa8]
fld qword [esp + 0xb0]
fsub qword [esp + 0xa0]
fxch st(1)
fmul st(0), st(0)
fxch st(1)
fmul st(0), st(0)
faddp st(1)
fsqrt
fld qword [esp + 0x58]
fcos
fmulp st(1)
fcom qword [section..rdata]
fstp qword [esp + 0x18]
fnstsw ax
fld qword [esp + 0x18]
test ah, 1
jne 0x1ff97f87
fadd qword [0x1ffe0008]
jmp 0x1ff97f8d
fsub qword [0x1ffe0008]
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
call fcn.1ffd6e30
mov dword [esp + 0xdc], eax
fld qword [esp + 0xc8]
fsub qword [esp + 0xb8]
fld qword [esp + 0xc0]
fsub qword [esp + 0xb0]
fxch st(1)
fmul st(0), st(0)
fxch st(1)
fmul st(0), st(0)
faddp st(1)
fsqrt
fcom qword [section..rdata]
fstp qword [esp + 0xe8]
fnstsw ax
fld qword [esp + 0xe8]
test ah, 1
jne 0x1ff97fec
fadd qword [0x1ffe0008]
jmp 0x1ff97ff2
fsub qword [0x1ffe0008]
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
call fcn.1ffd6e30
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x23c]
cmp dword [eax + 0xf84], 0
je 0x1ff98039
lea esi, [eax + 0x6c]
push esi
call sub.LTDIS13N.dll_Ordinal_116_1
test eax, eax
jne 0x1ff98039
mov eax, dword [esp + 0x23c]
push 6
mov ecx, dword [eax + 0x109c]
push ecx
push esi
call sub.LTDIS13N.dll_Ordinal_113
mov esi, dword [esp + 0x23c]
push 7
add esi, 0x6c
mov eax, dword [esp + 0x240]
mov ecx, dword [eax + 0x7c]
mov eax, dword [esp + 0xe0]
sub eax, dword [esp + 0xd8]
push ecx
cdq
xor eax, edx
lea ecx, [esp + 0x19c]
sub eax, edx
push eax
mov eax, dword [esp + 0xe4]
sub eax, dword [esp + 0xdc]
push eax
push esi
push ecx
call sub.LTKRN13N.dll_Ordinal_165
cmp eax, 1
je 0x1ff9808d
xor eax, eax
jmp 0x1ff99399
lea eax, [esp + 0x194]
push eax
push esi
call sub.LTKRN13N.dll_Ordinal_143
cmp dword [esp + 0xf8], 0
je 0x1ff980b2
lea eax, [esp + 0x194]
push eax
call sub.LTKRN13N.dll_Ordinal_144
cmp eax, 1
je 0x1ff980cd
lea eax, [esp + 0x194]
push 7
push eax
call sub.LTKRN13N.dll_Ordinal_103
xor eax, eax
jmp 0x1ff99399
lea eax, [esp + 0x18]
lea ecx, [esp + 0xa0]
push eax
push ecx
push 0
call fcn.1ff94450
lea ecx, [esp + 0xd0]
push 0
push 0
push 0
push 0
push ecx
call dword [sym.imp.USER32.dll_SetRect]
lea ecx, [esp + 0x18]
push 4
push ecx
push 0
call fcn.1ff993b0
add esp, 0xc
mov esi, eax
test esi, esi
je 0x1ff98124
lea eax, [esp + 0xd0]
push eax
push 4
push esi
call fcn.1ff92230
push esi
call sub.LTKRN13N.dll_Ordinal_283
fld qword [esp + 0x58]
fmul qword [0x1ffe0078]
fcom qword [section..rdata]
fstp qword [esp + 0x18]
fnstsw ax
fld qword [esp + 0x18]
test ah, 1
jne 0x1ff9814b
fadd qword [0x1ffe0008]
jmp 0x1ff98151
fsub qword [0x1ffe0008]
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
call fcn.1ffd6e30
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x32
jl 0x1ff98435
fldz
mov ebx, dword [esp + 0x19c]
mov eax, dword [esp + 0x5c]
mov esi, 1
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x18], ecx
fcomp qword [esp + 0x58]
fnstsw ax
test ah, 1
jne 0x1ff98197
xor esi, esi
test esi, esi
jne 0x1ff981a5
fld qword [esp + 0x58]
fchs
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
fcomp qword [0x1ffe0030]
fnstsw ax
test ah, 1
jne 0x1ff981bd
xor eax, eax
jmp 0x1ff982e1
fld qword [esp + 0x18]
fcomp qword [0x1ffe0080]
fnstsw ax
fld qword [esp + 0x18]
test ah, 0x41
jne 0x1ff98288
fptan
fstp st(0)
fimul dword [esp + 0x1a0]
call fcn.1ffd6e30
cmp eax, dword [esp + 0x1a0]
mov ebp, eax
jle 0x1ff9822c
cmp esi, 1
sbb edi, edi
and edi, 0xffffdcd8
add edi, 0x1194
lea eax, [esp + 0x194]
push 0xffffff
push 1
push edi
push eax
call sub.LTKRN13N.dll_Ordinal_150
cmp eax, 1
jne 0x1ff98264
sub ebp, dword [esp + 0x1a0]
cmp ebp, dword [esp + 0x1a0]
jg 0x1ff98202
test ebp, ebp
je 0x1ff98281
mov dword [esp + 0x18], ebp
fild dword [esp + 0x18]
fild dword [esp + 0x1a0]
fpatan
fmul qword [0x1ffe0078]
fcom qword [section..rdata]
fstp qword [esp + 0x18]
fnstsw ax
fld qword [esp + 0x18]
test ah, 1
jne 0x1ff98268
fadd qword [0x1ffe0008]
jmp 0x1ff9826e
xor eax, eax
jmp 0x1ff982e1
fsub qword [0x1ffe0008]
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
call fcn.1ffd6e30
test esi, esi
jne 0x1ff982c4
jmp 0x1ff982c2
mov eax, 1
jmp 0x1ff982e1
fmul qword [0x1ffe0078]
fcom qword [section..rdata]
fstp qword [esp + 0x18]
fnstsw ax
fld qword [esp + 0x18]
test ah, 1
jne 0x1ff982ab
fadd qword [0x1ffe0008]
jmp 0x1ff982b1
fsub qword [0x1ffe0008]
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
call fcn.1ffd6e30
test esi, esi
jne 0x1ff982c4
neg eax
push 0xffffff
push 1
push eax
lea eax, [esp + 0x1a0]
push eax
call sub.LTKRN13N.dll_Ordinal_150
dec eax
cmp eax, 1
sbb eax, eax
neg eax
test eax, eax
jne 0x1ff982fb
lea eax, [esp + 0x194]
push 7
push eax
call sub.LTKRN13N.dll_Ordinal_103
xor eax, eax
jmp 0x1ff99399
fld qword [esp + 0xc0]
fadd qword [esp + 0xa0]
mov ebp, 1
fmul qword [0x1ffe0008]
fstp qword [esp + 0x88]
fld qword [esp + 0xc8]
fadd qword [esp + 0xa8]
fmul qword [0x1ffe0008]
fstp qword [esp + 0x90]
fild dword [esp + 0x19c]
fld qword [0x1ffe0020]
fmul st(1)
fadd qword [esp + 0x88]
fstp qword [esp + 0x114]
fild dword [esp + 0x1a0]
fld qword [0x1ffe0020]
mov edx, dword [esp + 0x118]
mov eax, dword [esp + 0x114]
fmul st(1)
mov dword [esp + 0x128], edx
mov dword [esp + 0x124], eax
fadd qword [esp + 0x90]
fstp qword [esp + 0x11c]
fadd qword [esp + 0x11c]
fstp qword [esp + 0x12c]
fadd qword [esp + 0x114]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x12c]
lea esi, [esp + 0x114]
lea edi, [esp + 0x164]
mov dword [esp + 0x140], ecx
mov ecx, 0xc
fstp qword [esp + 0x134]
fldz
mov dword [esp + 0x13c], edx
rep movsd dword es:[edi], dword [esi]
fcomp qword [esp + 0x58]
fnstsw ax
test ah, 1
mov eax, dword [esp + 0x19c]
je 0x1ff98407
sub eax, ebx
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fadd qword [esp + 0x164]
fstp qword [esp + 0x164]
jmp 0x1ff9841f
sub eax, ebx
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fadd qword [esp + 0x174]
fstp qword [esp + 0x174]
mov dword [esp + 0x18], ebx
fild dword [esp + 0x18]
fadd qword [esp + 0x174]
fstp qword [esp + 0x184]
fld qword [esp + 0x10]
fmul qword [0x1ffe0078]
fcom qword [section..rdata]
fstp qword [esp + 0x18]
fnstsw ax
fld qword [esp + 0x18]
test ah, 1
jne 0x1ff9845c
fadd qword [0x1ffe0008]
jmp 0x1ff98462
fsub qword [0x1ffe0008]
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
call fcn.1ffd6e30
cdq
mov ecx, eax
xor eax, edx
sub eax, edx
cmp eax, 0x32
jl 0x1ff988df
lea eax, [esp + 0x194]
push 0xffffff
push 1
push ecx
push eax
call sub.LTKRN13N.dll_Ordinal_145
cmp eax, 1
je 0x1ff984af
lea eax, [esp + 0x194]
push 7
push eax
call sub.LTKRN13N.dll_Ordinal_103
xor eax, eax
jmp 0x1ff99399
xor eax, eax
test ebp, ebp
je 0x1ff988e1
mov ecx, 0x3ff00000
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
fld qword [esp + 0x88]
fchs
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
fstp qword [esp + 0x78]
fld qword [esp + 0x90]
fchs
fstp qword [esp + 0x80]
fld qword [esp + 0x10]
fsin
fld qword [esp + 0x10]
fcos
fst qword [esp + 0x18]
fld st(1)
fchs
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x88]
fstp qword [esp + 0x20]
fxch st(1)
fstp qword [esp + 0x28]
fstp qword [esp + 0x30]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x38], edx
lea edx, [esp + 0x18]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x58]
push edx
mov dword [esp + 0x44], eax
push ecx
lea ecx, [esp + 0x60]
push ecx
call fcn.1ff92a90
lea edx, [esp + 0x18]
lea ecx, [esp + 0x114]
mov eax, dword [ecx]
mov ebx, dword [ecx + 4]
mov dword [edx], eax
mov esi, dword [ecx + 8]
mov dword [edx + 4], ebx
mov eax, dword [ecx + 0xc]
mov ebx, dword [esp + 0x128]
lea ecx, [esp + 0x124]
mov dword [edx + 8], esi
mov esi, dword [ecx + 8]
mov dword [edx + 0xc], eax
lea edx, [esp + 0x28]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 0xc]
mov dword [edx + 4], ebx
mov dword [edx + 8], esi
mov dword [edx + 0xc], eax
mov ebx, dword [esp + 0x138]
mov esi, dword [esp + 0x13c]
lea ecx, [esp + 0x134]
lea edx, [esp + 0x38]
mov eax, dword [ecx]
fld1
mov dword [edx], eax
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x18]
mov dword [edx + 4], ebx
mov dword [edx + 8], esi
mov dword [edx + 0xc], eax
fcomp qword [esp + 0x58]
fnstsw ax
test ah, 0x40
je 0x1ff9862c
mov eax, dword [esp + 0x64]
and eax, 0x7fffffff
or eax, dword [esp + 0x60]
jne 0x1ff9862c
mov eax, dword [esp + 0x6c]
and eax, 0x7fffffff
or eax, dword [esp + 0x68]
jne 0x1ff9862c
fld1
fcomp qword [esp + 0x70]
fnstsw ax
test ah, 0x40
je 0x1ff9862c
mov eax, dword [esp + 0x7c]
and eax, 0x7fffffff
or eax, dword [esp + 0x78]
jne 0x1ff9862c
mov eax, dword [esp + 0x84]
and eax, 0x7fffffff
or eax, dword [esp + 0x80]
je 0x1ff9866b
mov eax, 2
fld qword [ecx + 8]
fmul qword [esp + 0x70]
fld qword [ecx]
fmul qword [esp + 0x68]
add ecx, 0x10
mov edx, eax
dec eax
test edx, edx
faddp st(1)
fadd qword [esp + 0x80]
fld qword [ecx - 8]
fmul qword [esp + 0x60]
fld qword [ecx - 0x10]
fmul qword [esp + 0x58]
faddp st(1)
fadd qword [esp + 0x78]
fstp qword [ecx - 0x10]
fstp qword [ecx - 8]
jne 0x1ff98631
lea ecx, [esp + 0x18]
lea edx, [esp + 0x114]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x28]
mov dword [edx + 0xc], eax
lea edx, [esp + 0x124]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x38]
mov dword [edx + 0xc], eax
lea edx, [esp + 0x134]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x18]
push ecx
mov dword [edx + 0xc], eax
lea edx, [esp + 0x118]
push edx
push 0
call fcn.1ff94450
lea ecx, [esp + 0x104]
push 0
push 0
push 0
push 0
push ecx
call dword [sym.imp.USER32.dll_SetRect]
lea ecx, [esp + 0x18]
push 4
push ecx
push 0
call fcn.1ff993b0
add esp, 0xc
mov esi, eax
test esi, esi
je 0x1ff98725
lea eax, [esp + 0x104]
push eax
push 4
push esi
call fcn.1ff92230
push esi
call sub.LTKRN13N.dll_Ordinal_283
lea ecx, [esp + 0x164]
lea edx, [esp + 0x18]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x174]
mov dword [edx + 0xc], eax
lea edx, [esp + 0x28]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x184]
mov dword [edx + 0xc], eax
lea edx, [esp + 0x38]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
lea esi, [esp + 0x18]
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x58]
push ecx
mov dword [edx + 0xc], eax
call fcn.1ff91fa0
test eax, eax
jne 0x1ff987d9
mov eax, 2
fld qword [esi + 8]
fmul qword [esp + 0x70]
fld qword [esi]
fmul qword [esp + 0x68]
add esi, 0x10
mov ecx, eax
dec eax
test ecx, ecx
faddp st(1)
fadd qword [esp + 0x80]
fld qword [esi - 8]
fmul qword [esp + 0x60]
fld qword [esi - 0x10]
fmul qword [esp + 0x58]
faddp st(1)
fadd qword [esp + 0x78]
fstp qword [esi - 0x10]
fstp qword [esi - 8]
jne 0x1ff9879f
lea ecx, [esp + 0x18]
lea edx, [esp + 0x164]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x28]
mov dword [edx + 0xc], eax
lea edx, [esp + 0x174]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x38]
mov dword [edx + 0xc], eax
lea edx, [esp + 0x184]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebx, dword [ecx + 4]
mov dword [edx + 4], ebx
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x18]
push ecx
mov dword [edx + 0xc], eax
lea edx, [esp + 0x168]
push edx
push 0
call fcn.1ff94450
lea ecx, [esp + 0x144]
push 0
push 0
push 0
push 0
push ecx
call dword [sym.imp.USER32.dll_SetRect]
lea ecx, [esp + 0x18]
push 4
push ecx
push 0
call fcn.1ff993b0
add esp, 0xc
mov esi, eax
test esi, esi
je 0x1ff98893
lea eax, [esp + 0x144]
push eax
push 4
push esi
call fcn.1ff92230
push esi
call sub.LTKRN13N.dll_Ordinal_283
mov eax, dword [esp + 0x150]
sub eax, dword [esp + 0x108]
push eax
mov eax, dword [esp + 0x150]
sub eax, dword [esp + 0x108]
push eax
mov eax, dword [esp + 0x150]
lea ecx, [esp + 0x10c]
sub eax, dword [esp + 0x110]
push eax
mov eax, dword [esp + 0x150]
sub eax, dword [esp + 0x110]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetRect]
jmp 0x1ff988e1
xor ebp, ebp
lea eax, [esp + 0xd0]
push 0
lea ecx, [esp + 0x108]
push 0
push eax
cmp ebp, 1
mov eax, 0
mov edx, dword [esp + 0x248]
adc eax, 0xffffffff
and eax, ecx
lea ecx, [esp + 0x1a0]
push eax
push ecx
mov eax, dword [esp + 0x248]
push edx
push eax
call fcn.1ff96370
lea ecx, [esp + 0x194]
push 7
push ecx
call sub.LTKRN13N.dll_Ordinal_103
jmp 0x1ff99368
mov ebp, dword [esp + 0x23c]
add ebp, 0x1024
cmp dword [ebp], 0
je 0x1ff98ace
mov eax, dword [esp + 0x234]
push 2
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
cmp eax, 5
je 0x1ff98a34
mov esi, dword [esp + 0x23c]
lea ecx, [esp + 0x58]
add esi, 0x160
push ecx
push esi
push ebx
call fcn.1ff95280
test eax, eax
je 0x1ff9899e
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x5c]
push ecx
push edx
push eax
call dword [sym.imp.GDI32.dll_CreateRectRgn]
mov edi, eax
jmp 0x1ff989e6
lea eax, [esp + 0x18]
push eax
push esi
push 0
call fcn.1ff94450
push 0x20
call sub.LTKRN13N.dll_Ordinal_282
mov esi, eax
test esi, esi
jne 0x1ff989bc
xor esi, esi
jmp 0x1ff989ca
lea eax, [esp + 0x18]
push 4
push esi
push eax
push ebx
call fcn.1ff920a0
mov edi, 0
test esi, esi
je 0x1ff989e6
push 2
push 4
push esi
call dword [sym.imp.GDI32.dll_CreatePolygonRgn]
mov edi, eax
push esi
call sub.LTKRN13N.dll_Ordinal_283
push 1
push 1
push 0
push 0
call dword [sym.imp.GDI32.dll_CreateRectRgn]
push eax
mov esi, eax
mov eax, dword [esp + 0x238]
push eax
call dword [sym.imp.GDI32.dll_GetClipRgn]
test eax, eax
je 0x1ff98a17
push 1
push edi
push esi
push esi
call dword [sym.imp.GDI32.dll_CombineRgn]
push esi
jmp 0x1ff98a18
push edi
mov eax, dword [esp + 0x238]
push eax
call dword [sym.imp.GDI32.dll_SelectClipRgn]
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0x238]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
push ecx
push edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
mov ecx, dword [esp + 0x244]
push ecx
call dword [sym.imp.GDI32.dll_IntersectClipRect]
mov eax, dword [esp + 0x23c]
lea ecx, [esp + 0x18]
add eax, 0x160
push ecx
push eax
push 0
call fcn.1ff94450
lea ecx, [esp + 0xd0]
push 0
push 0
push 0
push 0
push ecx
call dword [sym.imp.USER32.dll_SetRect]
lea ecx, [esp + 0x18]
push 4
push ecx
push ebx
call fcn.1ff993b0
add esp, 0xc
mov esi, eax
test esi, esi
je 0x1ff98ab3
lea eax, [esp + 0xd0]
push eax
push 4
push esi
call fcn.1ff92230
push esi
call sub.LTKRN13N.dll_Ordinal_283
lea eax, [esp + 0xd0]
mov ecx, dword [esp + 0x234]
push eax
push ebp
push ecx
call sub.LTDIS13N.dll_Ordinal_168
jmp 0x1ff99368
mov esi, dword [esp + 0x23c]
lea ecx, [esp + 0x58]
add esi, 0x160
push ecx
push esi
push ebx
call fcn.1ff95280
test eax, eax
je 0x1ff98b11
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x23c]
push edx
push eax
mov ebp, dword [sym.imp.GDI32.dll_Rectangle]
push ecx
call ebp
jmp 0x1ff98b5a
lea eax, [esp + 0x18]
push eax
push esi
push 0
call fcn.1ff94450
push 0x20
call sub.LTKRN13N.dll_Ordinal_282
mov edi, eax
test edi, edi
jne 0x1ff98b2f
xor edi, edi
jmp 0x1ff98b3d
lea eax, [esp + 0x18]
push 4
push edi
push eax
push ebx
call fcn.1ff920a0
test edi, edi
je 0x1ff98b5a
mov eax, dword [esp + 0x234]
push 4
push edi
mov ebp, dword [sym.imp.GDI32.dll_Polygon]
push eax
call ebp
push edi
call sub.LTKRN13N.dll_Ordinal_283
mov eax, dword [esp + 0x23c]
cmp dword [eax + 0x68], 0
je 0x1ff99368
mov eax, dword [esp + 0x234]
push 2
push eax
mov ebp, dword [sym.imp.GDI32.dll_GetDeviceCaps]
call ebp
cmp eax, 5
je 0x1ff98c4a
lea eax, [esp + 0x58]
push eax
push esi
push ebx
call fcn.1ff95280
test eax, eax
je 0x1ff98bb4
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x5c]
push ecx
push edx
push eax
call dword [sym.imp.GDI32.dll_CreateRectRgn]
mov edi, eax
jmp 0x1ff98bfc
lea eax, [esp + 0x18]
push eax
push esi
push 0
call fcn.1ff94450
push 0x20
call sub.LTKRN13N.dll_Ordinal_282
mov ebp, eax
test ebp, ebp
jne 0x1ff98bd2
xor ebp, ebp
jmp 0x1ff98be0
lea eax, [esp + 0x18]
push 4
push ebp
push eax
push ebx
call fcn.1ff920a0
mov edi, 0
test ebp, ebp
je 0x1ff98bfc
push 2
push 4
push ebp
call dword [sym.imp.GDI32.dll_CreatePolygonRgn]
mov edi, eax
push ebp
call sub.LTKRN13N.dll_Ordinal_283
push 1
push 1
push 0
push 0
call dword [sym.imp.GDI32.dll_CreateRectRgn]
push eax
mov ebp, eax
mov eax, dword [esp + 0x238]
push eax
call dword [sym.imp.GDI32.dll_GetClipRgn]
test eax, eax
je 0x1ff98c2d
push 1
push edi
push ebp
push ebp
call dword [sym.imp.GDI32.dll_CombineRgn]
push ebp
jmp 0x1ff98c2e
push edi
mov eax, dword [esp + 0x238]
push eax
call dword [sym.imp.GDI32.dll_SelectClipRgn]
push ebp
call dword [sym.imp.GDI32.dll_DeleteObject]
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0x238]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
push ecx
push edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
mov ecx, dword [esp + 0x244]
push ecx
call dword [sym.imp.GDI32.dll_IntersectClipRect]
mov ecx, dword [esp + 0x234]
push 1
push ecx
mov ebp, dword [sym.imp.GDI32.dll_SetBkMode]
call ebp
lea edi, [esp + 0xa0]
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xa0]
lea edx, [esp + 0x18]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebp, dword [ecx + 4]
mov dword [edx + 4], ebp
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0xb0]
mov dword [edx + 0xc], eax
lea edx, [esp + 0x28]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebp, dword [ecx + 4]
mov dword [edx + 4], ebp
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0xc0]
mov dword [edx + 0xc], eax
lea edx, [esp + 0x38]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebp, dword [ecx + 4]
test ebx, ebx
mov dword [edx + 4], ebp
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x18]
mov dword [edx + 0xc], eax
je 0x1ff98d7d
fld1
fcomp qword [ebx]
fnstsw ax
test ah, 0x40
je 0x1ff98d48
mov eax, dword [ebx + 0xc]
and eax, 0x7fffffff
or eax, dword [ebx + 8]
jne 0x1ff98d48
mov eax, dword [ebx + 0x14]
and eax, 0x7fffffff
or eax, dword [ebx + 0x10]
jne 0x1ff98d48
fld1
fcomp qword [ebx + 0x18]
fnstsw ax
test ah, 0x40
je 0x1ff98d48
mov eax, dword [ebx + 0x24]
and eax, 0x7fffffff
or eax, dword [ebx + 0x20]
jne 0x1ff98d48
mov eax, dword [ebx + 0x2c]
and eax, 0x7fffffff
or eax, dword [ebx + 0x28]
je 0x1ff98d7d
mov eax, 2
fld qword [ecx]
fmul qword [ebx + 0x10]
fld qword [ecx + 8]
fmul qword [ebx + 0x18]
add ecx, 0x10
mov edx, eax
dec eax
test edx, edx
faddp st(1)
fadd qword [ebx + 0x28]
fld qword [ecx - 0x10]
fmul qword [ebx]
fld qword [ecx - 8]
fmul qword [ebx + 8]
faddp st(1)
fadd qword [ebx + 0x20]
fstp qword [ecx - 0x10]
fstp qword [ecx - 8]
jne 0x1ff98d4d
lea ecx, [esp + 0x18]
lea edx, [esp + 0xa0]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebp, dword [ecx + 4]
mov dword [edx + 4], ebp
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x28]
mov dword [edx + 0xc], eax
lea edx, [esp + 0xb0]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebp, dword [ecx + 4]
mov dword [edx + 4], ebp
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x38]
mov dword [edx + 0xc], eax
lea edx, [esp + 0xc0]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebp, dword [ecx + 4]
mov dword [edx + 4], ebp
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
mov dword [edx + 0xc], eax
fld qword [esp + 0x40]
fsub qword [esp + 0x30]
fstp qword [esp + 0x88]
fld qword [esp + 0x38]
fsub qword [esp + 0x28]
fstp qword [esp + 0x58]
fld qword [esp + 0x88]
fld qword [esp + 0x58]
fpatan
fstp qword [esp + 0x10]
fld qword [esp + 0x20]
fsub qword [esp + 0x30]
fld qword [esp + 0x18]
fsub qword [esp + 0x28]
fpatan
fsubr qword [esp + 0x10]
fcom qword [section..rdata]
fstp qword [esp + 0x98]
fnstsw ax
test ah, 1
je 0x1ff98e4a
fld qword [esp + 0x98]
fadd qword [0x1ffe0040]
fstp qword [esp + 0x98]
fld qword [esp + 0x98]
fcomp qword [0x1ffe0050]
fnstsw ax
test ah, 0x41
jne 0x1ff98ed2
fld qword [esp + 0x10]
fsub qword [0x1ffe0050]
fstp qword [esp + 0x10]
fld qword [esp + 0x18]
fadd qword [esp + 0x58]
lea ecx, [esp + 0x28]
lea edx, [esp + 0xc0]
fstp qword [esp + 0xa0]
fld qword [esp + 0xa8]
fadd qword [esp + 0x88]
fstp qword [esp + 0xa8]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebp, dword [ecx + 4]
mov dword [edx + 4], ebp
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
lea ecx, [esp + 0x38]
mov dword [edx + 0xc], eax
lea edx, [esp + 0xb0]
mov eax, dword [ecx]
mov dword [edx], eax
mov ebp, dword [ecx + 4]
mov dword [edx + 4], ebp
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov eax, dword [ecx + 0xc]
mov dword [edx + 0xc], eax
fld qword [esp + 0x10]
fmul qword [0x1ffe0088]
fcomp qword [section..rdata]
fnstsw ax
fld qword [esp + 0x10]
fmul qword [0x1ffe0090]
test ah, 0x41
je 0x1ff98efb
fadd qword [0x1ffe0008]
jmp 0x1ff98f01
fsub qword [0x1ffe0008]
fstp qword [esp + 0x18]
fld qword [esp + 0x18]
call fcn.1ffd6e30
mov ecx, eax
test ebx, ebx
je 0x1ff98f76
fld1
fcomp qword [ebx]
fnstsw ax
test ah, 0x40
je 0x1ff98f5f
mov eax, dword [ebx + 0xc]
and eax, 0x7fffffff
or eax, dword [ebx + 8]
jne 0x1ff98f5f
mov eax, dword [ebx + 0x14]
and eax, 0x7fffffff
or eax, dword [ebx + 0x10]
jne 0x1ff98f5f
fld1
fcomp qword [ebx + 0x18]
fnstsw ax
test ah, 0x40
je 0x1ff98f5f
mov eax, dword [ebx + 0x24]
and eax, 0x7fffffff
or eax, dword [ebx + 0x20]
jne 0x1ff98f5f
mov eax, dword [ebx + 0x2c]
and eax, 0x7fffffff
or eax, dword [ebx + 0x28]
je 0x1ff98f76
fld qword [ebx + 0x18]
fmul qword [ebx]
mov eax, dword [esp + 0x23c]
fsqrt
fmul qword [eax + 0x54]
fstp qword [esp + 0x18]
jmp 0x1ff98f8b
mov eax, dword [esp + 0x23c]
mov edx, dword [eax + 0x58]
mov dword [esp + 0x1c], edx
mov ebx, dword [eax + 0x54]
mov dword [esp + 0x18], ebx
fldz
fcomp qword [esp + 0x18]
fnstsw ax
fld qword [esp + 0x18]
test ah, 0x41
je 0x1ff98fa4
fadd qword [0x1ffe0008]
jmp 0x1ff98faa
fsub qword [0x1ffe0008]
fstp qword [esp + 0x18]
mov eax, dword [esp + 0x23c]
mov edx, dword [eax + 0x64]
push edx
push 0
push 0
xor edx, edx
push 0
mov dl, byte [eax + 0x34]
push 0
push 1
push edx
xor edx, edx
mov dl, byte [eax + 0x38]
push edx
xor edx, edx
cmp dword [eax + 0x2c], 1
mov dl, byte [eax + 0x30]
sbb eax, eax
push edx
fld qword [esp + 0x3c]
and eax, 0xfffffed4
add eax, 0x2bc
push eax
push ecx
push ecx
push 0
call fcn.1ffd6e30
neg eax
push eax
call dword [sym.imp.GDI32.dll_CreateFontA]
mov ecx, dword [esp + 0x234]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
fld qword [esp + 0xb8]
fsub qword [esp + 0xa8]
fld qword [esp + 0xb0]
fsub qword [esp + 0xa0]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x23c]
mov esi, dword [eax + 0x68]
fxch st(1)
fmul st(0), st(0)
fxch st(1)
fmul st(0), st(0)
faddp st(1)
fsqrt
mov ecx, dword [esp + 0x234]
mov edi, esi
lea eax, [esp + 0x18]
xor ebp, ebp
push eax
push ecx
fstp qword [esp + 0xf0]
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
mov ebx, dword [sym.imp.USER32.dll_CharNextA]
cmp byte [esi], 0
je 0x1ff990c0
mov eax, edi
cmp byte [edi], 0
je 0x1ff99088
mov cl, byte [eax]
cmp cl, 0xa
je 0x1ff99088
cmp cl, 0xd
je 0x1ff99088
push eax
call ebx
cmp byte [eax], 0
jne 0x1ff99074
sub eax, edi
add ebp, dword [esp + 0x18]
je 0x1ff99094
add ebp, dword [esp + 0x28]
add edi, eax
mov al, byte [edi]
cmp al, 0xa
jne 0x1ff990a8
push edi
call ebx
cmp byte [eax], 0xd
mov edi, eax
jne 0x1ff990bb
jmp 0x1ff990b6
cmp al, 0xd
jne 0x1ff990bb
push edi
call ebx
cmp byte [eax], 0xa
mov edi, eax
jne 0x1ff990bb
push edi
call ebx
mov edi, eax
cmp byte [edi], 0
jne 0x1ff9906d
fld qword [esp + 0xe8]
mov dword [esp + 0x18], ebp
fisub dword [esp + 0x18]
fmul qword [0x1ffe0008]
fld qword [esp + 0x10]
fsub qword [0x1ffe0030]
fld st(0)
fcos
fst qword [esp + 0x88]
fmul st(2)
fchs
fadd qword [esp + 0xa0]
fstp qword [esp + 0x58]
fsin
lea eax, [esp + 0x18]
push eax
fst qword [esp + 0xe4]
fmulp st(1)
fchs
fadd qword [esp + 0xac]
fstp qword [esp + 0x64]
mov ecx, dword [esp + 0x238]
push ecx
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
test eax, eax
je 0x1ff99141
mov eax, dword [esp + 0x28]
add eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fstp qword [esp + 0xf0]
jmp 0x1ff99151
xor eax, eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
fld qword [esp + 0x88]
fmul qword [esp + 0xf0]
fchs
fstp qword [esp + 0x98]
fld qword [esp + 0xe0]
fmul qword [esp + 0xf0]
fchs
fstp qword [esp + 0xe0]
fld qword [esp + 0xc8]
fsub qword [esp + 0xb8]
fld qword [esp + 0xc0]
fsub qword [esp + 0xb0]
fxch st(1)
fmul st(0), st(0)
fxch st(1)
fmul st(0), st(0)
cmp byte [esi], 0
faddp st(1)
fsqrt
fstp qword [esp + 0xe8]
je 0x1ff9934b
fld qword [esp + 0x10]
fsin
fstp qword [esp + 0x18]
fld qword [esp + 0x10]
fcos
fstp qword [esp + 0x88]
mov eax, esi
cmp byte [esi], 0
je 0x1ff991e9
mov cl, byte [eax]
cmp cl, 0xa
je 0x1ff991e9
cmp cl, 0xd
je 0x1ff991e9
push eax
call ebx
cmp byte [eax], 0
jne 0x1ff991d5
sub eax, esi
lea ecx, [esp + 0x154]
mov edi, eax
push ecx
mov eax, dword [esp + 0x238]
push edi
push esi
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
test eax, eax
jne 0x1ff99250
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov ebp, eax
test ebp, ebp
je 0x1ff99250
mov eax, dword [esp + 0x100]
push eax
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x154]
push eax
push edi
push esi
push ebp
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
mov eax, dword [esp + 0x10]
push eax
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
push ebp
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
fld qword [esp + 0xe8]
fisub dword [esp + 0x154]
fmul qword [0x1ffe0008]
fst qword [esp + 0xf0]
fmul qword [esp + 0x18]
fadd qword [esp + 0x60]
fcom qword [section..rdata]
fstp qword [esp + 0x10]
fnstsw ax
fld qword [esp + 0x10]
test ah, 1
jne 0x1ff99290
fadd qword [0x1ffe0008]
jmp 0x1ff99296
fsub qword [0x1ffe0008]
fstp qword [esp + 0xf8]
fld qword [esp + 0x88]
fmul qword [esp + 0xf0]
fadd qword [esp + 0x58]
fcom qword [section..rdata]
fstp qword [esp + 0x10]
fnstsw ax
fld qword [esp + 0x10]
test ah, 1
jne 0x1ff992cc
fadd qword [0x1ffe0008]
jmp 0x1ff992d2
fsub qword [0x1ffe0008]
fstp qword [esp + 0x10]
fld qword [esp + 0xf8]
push edi
push esi
call fcn.1ffd6e30
fld qword [esp + 0x18]
push eax
add esi, edi
call fcn.1ffd6e30
push eax
mov eax, dword [esp + 0x244]
push eax
call dword [sym.imp.GDI32.dll_TextOutA]
mov al, byte [esi]
cmp al, 0xa
jne 0x1ff99311
push esi
call ebx
cmp byte [eax], 0xd
mov esi, eax
jne 0x1ff99324
jmp 0x1ff9931f
cmp al, 0xd
jne 0x1ff99324
push esi
call ebx
cmp byte [eax], 0xa
mov esi, eax
jne 0x1ff99324
push esi
call ebx
mov esi, eax
fld qword [esp + 0x60]
fadd qword [esp + 0xe0]
fstp qword [esp + 0x60]
fld qword [esp + 0x58]
fadd qword [esp + 0x98]
fstp qword [esp + 0x58]
cmp byte [esi], 0
jne 0x1ff991ce
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x234]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0x234]
push 0xffffffffffffffff
push eax
call dword [sym.imp.GDI32.dll_RestoreDC]
mov ecx, dword [esp + 0x15c]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0x160]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x220
ret 0x10