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

Disassembly:
push ebp
push ebx
mov edx, 0x25
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x42f128
call fcn.005423e0
fld qword [esp + 0xa0]
fsub qword [esp + 0xb0]
fadd qword [0x642318]
fabs
fcomp qword [str.333333]
fnstsw ax
test ah, 0x41
je 0x42f182
fld qword [esp + 0xa8]
fsub qword [esp + 0xb8]
fadd qword [0x642318]
fabs
fcomp qword [str.333333]
fnstsw ax
test ah, 0x41
je 0x42f182
jmp 0x42f189
mov eax, 1
jmp 0x42f18b
xor eax, eax
and eax, eax
je 0x42fb01
lea ebp, [0x72b28c]
mov ebx, dword [ebp + 0x3c]
and ebx, 0x100
push ebx
pop eax
mov word [esp + 0x1c], ax
lea ebp, [0x72b28c]
mov ebx, dword [ebp + 0x3c]
and ebx, 0x200
push ebx
pop eax
mov word [esp + 0x20], ax
fld qword [esp + 0xa8]
fld qword [esp + 0xb8]
fcompp
fnstsw ax
test ah, 0x40
je 0x42f1ea
fld qword [esp + 0xa8]
fadd qword [0x642750]
fstp qword [esp + 0xa8]
lea edx, [esp + 0xb0]
push dword [edx + 4]
push dword [edx]
call fcn.00520cd0
fstp qword [esp + 0x24]
lea edx, [esp + 0xb8]
push dword [edx + 4]
push dword [edx]
call fcn.00520cd0
fstp qword [esp + 0x2c]
lea edx, [esp + 0xa0]
push dword [edx + 4]
push dword [edx]
call fcn.00520cd0
fstp qword [esp + 0x34]
lea edx, [esp + 0xa8]
push dword [edx + 4]
push dword [edx]
call fcn.00520cd0
fstp qword [esp + 0x3c]
fld qword [esp + 0xa8]
fsub qword [esp + 0xb8]
fadd qword [0x642318]
sub esp, 8
fstp qword [esp]
call fcn.00520cd0
fstp qword [esp + 0x44]
fld qword [esp + 0x34]
fptan
fstp dword [esp - 4]
fld qword [esp + 0x2c]
fcos
fmulp st(1)
fld qword [esp + 0x24]
fptan
fstp dword [esp - 4]
fld qword [esp + 0x3c]
fcos
fmulp st(1)
fsubp st(1)
fadd qword [0x642318]
fld qword [esp + 0x44]
fsin
fdivp st(1)
fstp qword [esp + 0x4c]
fld qword [esp + 0x24]
fptan
fstp dword [esp - 4]
fld qword [esp + 0x3c]
fsin
fmulp st(1)
fld qword [esp + 0x34]
fptan
fstp dword [esp - 4]
fld qword [esp + 0x2c]
fsin
fmulp st(1)
fsubp st(1)
fadd qword [0x642318]
fld qword [esp + 0x44]
fsin
fdivp st(1)
fstp qword [esp + 0x54]
push 0x4000ff
push 2
push 0
call sub.GDI32.dll_CreatePen
mov dword [esp + 0x5c], eax
push 0xffb400
push 2
push 0
call sub.GDI32.dll_CreatePen
mov dword [esp + 0x60], eax
fld qword [esp + 0xa8]
fsub qword [esp + 0xb8]
fadd qword [0x642318]
fabs
fstp qword [esp + 0x64]
fld qword [esp + 0x64]
fchs
fadd qword [0x642758]
fstp qword [esp + 0x6c]
fld qword [esp + 0xa8]
fld qword [esp + 0xb8]
fcompp
fnstsw ax
test ah, 1
je 0x42f37a
fld qword [esp + 0xb8]
fld qword [esp + 0xa8]
fstp qword [esp + 0xb8]
fstp qword [esp + 0xa8]
fld qword [esp + 0xb0]
fld qword [esp + 0xa0]
fstp qword [esp + 0xb0]
fstp qword [esp + 0xa0]
fld qword [esp + 0xc0]
fld qword [esp + 0xa8]
fmul qword [0x6424c8]
fadd qword [0x642758]
fmulp st(1)
fistp dword [esp + 0x74]
fld qword [esp + 0xc0]
fld qword [esp + 0xa0]
fmul qword [0x6424c8]
fchs
fadd qword [0x642608]
fmulp st(1)
fistp dword [esp + 0x78]
fld qword [esp + 0xc0]
fld qword [esp + 0xb8]
fmul qword [0x6424c8]
fadd qword [0x642758]
fmulp st(1)
fistp dword [esp + 0x7c]
fld qword [esp + 0xc0]
fld qword [esp + 0xb0]
fmul qword [0x6424c8]
fchs
fadd qword [0x642608]
fmulp st(1)
fistp dword [esp + 0x80]
fld qword [esp + 0x64]
fld qword [esp + 0x6c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x42f424
push dword [esp + 0x60]
push dword [esp + 0xcc]
call sub.GDI32.dll_SelectObject
jmp 0x42f434
push dword [esp + 0x5c]
push dword [esp + 0xcc]
call sub.GDI32.dll_SelectObject
fld qword [esp + 0xa8]
fmul qword [0x642718]
fadd qword [0x6425c0]
fistp dword [esp + 0x84]
fld qword [esp + 0xa8]
fmul qword [0x642718]
fadd qword [0x642760]
fistp dword [esp + 0x88]
fld qword [esp + 0xb8]
fmul qword [0x642718]
fadd qword [0x6425c0]
fistp dword [esp + 0x8c]
fld qword [esp + 0xb8]
fmul qword [0x642718]
fadd qword [0x642760]
fistp dword [esp + 0x90]
mov dword [esp + 8], 0xfffff574
jmp 0x42f4a6
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 8]
jl 0x42f5ef
fild dword [esp + 8]
fdiv qword [0x642718]
fstp qword [esp + 0x14]
lea edx, [esp + 0x14]
push dword [edx + 4]
push dword [edx]
call fcn.00520cd0
fstp qword [esp + 0xc]
push 2
fld qword [esp + 0xc4]
fld qword [esp + 0x18]
fmul dword [0x6422d0]
fadd dword [0x6422d4]
fmulp st(1)
sub esp, 4
fstp dword [esp]
call fcn.00520ce0
fistp dword [esp]
push 2
fld qword [esp + 0xc4]
sub esp, 8
fstp qword [esp]
fld qword [esp + 0x58]
fld qword [esp + 0x18]
fsin
fmulp st(1)
fld qword [esp + 0x60]
fld qword [esp + 0x18]
fcos
fmulp st(1)
faddp st(1)
fadd dword [0x6422c8]
sub esp, 4
fstp dword [esp]
call fcn.00520d70
sub esp, 4
fstp dword [esp]
call fcn.00520d90
fld qword [esp]
fxch st(1)
add esp, 8
fmul dword [0x6422d0]
fchs
fadd dword [0x6422d8]
fmulp st(1)
sub esp, 4
fstp dword [esp]
call fcn.00520ce0
fistp dword [esp + 4]
mov ebx, dword [esp + 8]
cmp ebx, 0xfffff574
jne 0x42f59a
push 0
push dword [esp + 8]
push 0
push dword [esp + 0xd4]
call sub.GDI32.dll_MoveToEx
jmp 0x42f5e5
fld qword [esp + 0x64]
fld qword [esp + 0x6c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x42f5c9
cmp word [esp + 0x20], 0
je 0x42f5c7
push dword [esp + 4]
push dword [esp + 4]
push dword [esp + 0xd0]
call sub.GDI32.dll_LineTo
jmp 0x42f5e5
cmp word [esp + 0x1c], 0
je 0x42f5e5
push dword [esp + 4]
push dword [esp + 4]
push dword [esp + 0xd0]
call sub.GDI32.dll_LineTo
inc dword [esp + 8]
jno 0x42f4a6
fld qword [esp + 0x64]
fld qword [esp + 0x6c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x42f60f
cmp word [esp + 0x20], 0
je 0x42f60f
mov eax, 1
jmp 0x42f611
xor eax, eax
and eax, eax
jne 0x42f63d
fld qword [esp + 0x64]
fld qword [esp + 0x6c]
fcompp
fnstsw ax
test ah, 0x41
je 0x42f635
cmp word [esp + 0x1c], 0
je 0x42f635
mov eax, 1
jmp 0x42f637
xor eax, eax
and eax, eax
jne 0x42f63d
jmp 0x42f644
mov eax, 1
jmp 0x42f646
xor eax, eax
and eax, eax
je 0x42f65e
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0xd0]
call sub.GDI32.dll_LineTo
fld qword [esp + 0x64]
fld qword [esp + 0x6c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x42f681
push dword [esp + 0x5c]
push dword [esp + 0xcc]
call sub.GDI32.dll_SelectObject
jmp 0x42f691
push dword [esp + 0x60]
push dword [esp + 0xcc]
call sub.GDI32.dll_SelectObject
fld qword [esp + 0xa8]
fsub qword [esp + 0xb8]
fadd qword [0x642318]
fabs
fcomp qword [0x6425d8]
fnstsw ax
test ah, 1
je 0x42f729
push 0
push dword [esp + 0x7c]
push dword [esp + 0x7c]
push dword [esp + 0xd4]
call sub.GDI32.dll_MoveToEx
fld qword [esp + 0x64]
fld qword [esp + 0x6c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x42f702
cmp word [esp + 0x1c], 0
je 0x42f700
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0xd0]
call sub.GDI32.dll_LineTo
jmp 0x42f724
cmp word [esp + 0x20], 0
je 0x42f724
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0xd0]
call sub.GDI32.dll_LineTo
jmp 0x42f880
push dword [esp + 0x84]
pop eax
mov dword [esp + 8], eax
jmp 0x42f737
mov eax, dword [esp + 0x90]
cmp eax, dword [esp + 8]
jl 0x42f880
fild dword [esp + 8]
fdiv qword [0x642718]
fstp qword [esp + 0x14]
lea edx, [esp + 0x14]
push dword [edx + 4]
push dword [edx]
call fcn.00520cd0
fstp qword [esp + 0xc]
push 2
fld qword [esp + 0xc4]
fld qword [esp + 0x18]
fmul dword [0x6422d0]
fadd dword [0x6422d4]
fmulp st(1)
sub esp, 4
fstp dword [esp]
call fcn.00520ce0
fistp dword [esp]
push 2
fld qword [esp + 0xc4]
sub esp, 8
fstp qword [esp]
fld qword [esp + 0x58]
fld qword [esp + 0x18]
fsin
fmulp st(1)
fld qword [esp + 0x60]
fld qword [esp + 0x18]
fcos
fmulp st(1)
faddp st(1)
fadd dword [0x6422c8]
sub esp, 4
fstp dword [esp]
call fcn.00520d70
sub esp, 4
fstp dword [esp]
call fcn.00520d90
fld qword [esp]
fxch st(1)
add esp, 8
fmul dword [0x6422d0]
fchs
fadd dword [0x6422d8]
fmulp st(1)
sub esp, 4
fstp dword [esp]
call fcn.00520ce0
fistp dword [esp + 4]
mov ebx, dword [esp + 8]
cmp ebx, dword [esp + 0x84]
jne 0x42f82b
push 0
push dword [esp + 0x7c]
push dword [esp + 0x7c]
push dword [esp + 0xd4]
call sub.GDI32.dll_MoveToEx
jmp 0x42f876
fld qword [esp + 0x64]
fld qword [esp + 0x6c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x42f85a
cmp word [esp + 0x1c], 0
je 0x42f858
push dword [esp + 4]
push dword [esp + 4]
push dword [esp + 0xd0]
call sub.GDI32.dll_LineTo
jmp 0x42f876
cmp word [esp + 0x20], 0
je 0x42f876
push dword [esp + 4]
push dword [esp + 4]
push dword [esp + 0xd0]
call sub.GDI32.dll_LineTo
inc dword [esp + 8]
jno 0x42f737
fld qword [esp + 0x64]
fld qword [esp + 0x6c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x42f8a0
cmp word [esp + 0x1c], 0
je 0x42f8a0
mov eax, 1
jmp 0x42f8a2
xor eax, eax
and eax, eax
jne 0x42f8ce
fld qword [esp + 0x64]
fld qword [esp + 0x6c]
fcompp
fnstsw ax
test ah, 0x41
je 0x42f8c6
cmp word [esp + 0x20], 0
je 0x42f8c6
mov eax, 1
jmp 0x42f8c8
xor eax, eax
and eax, eax
jne 0x42f8ce
jmp 0x42f8d5
mov eax, 1
jmp 0x42f8d7
xor eax, eax
and eax, eax
je 0x42f8f5
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0xd0]
call sub.GDI32.dll_LineTo
fld qword [esp + 0x64]
fld qword [esp + 0x6c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x42f918
push dword [esp + 0x60]
push dword [esp + 0xcc]
call sub.GDI32.dll_SelectObject
jmp 0x42f928
push dword [esp + 0x5c]
push dword [esp + 0xcc]
call sub.GDI32.dll_SelectObject
mov dword [esp + 8], 0xa8c
jmp 0x42f932
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 8]
jg 0x42fa7a
fild dword [esp + 8]
fdiv qword [0x642718]
fstp qword [esp + 0x14]
lea edx, [esp + 0x14]
push dword [edx + 4]
push dword [edx]
call fcn.00520cd0
fstp qword [esp + 0xc]
push 2
fld qword [esp + 0xc4]
fld qword [esp + 0x18]
fmul dword [0x6422d0]
fadd dword [0x6422d4]
fmulp st(1)
sub esp, 4
fstp dword [esp]
call fcn.00520ce0
fistp dword [esp]
push 2
fld qword [esp + 0xc4]
sub esp, 8
fstp qword [esp]
fld qword [esp + 0x58]
fld qword [esp + 0x18]
fsin
fmulp st(1)
fld qword [esp + 0x60]
fld qword [esp + 0x18]
fcos
fmulp st(1)
faddp st(1)
fadd dword [0x6422c8]
sub esp, 4
fstp dword [esp]
call fcn.00520d70
sub esp, 4
fstp dword [esp]
call fcn.00520d90
fld qword [esp]
fxch st(1)
add esp, 8
fmul dword [0x6422d0]
fchs
fadd dword [0x6422d8]
fmulp st(1)
sub esp, 4
fstp dword [esp]
call fcn.00520ce0
fistp dword [esp + 4]
mov ebx, dword [esp + 8]
cmp ebx, 0xa8c
jne 0x42fa25
push 0
push dword [esp + 8]
push dword [esp + 8]
push dword [esp + 0xd4]
call sub.GDI32.dll_MoveToEx
jmp 0x42fa70
fld qword [esp + 0x64]
fld qword [esp + 0x6c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x42fa54
cmp word [esp + 0x20], 0
je 0x42fa52
push dword [esp + 4]
push dword [esp + 4]
push dword [esp + 0xd0]
call sub.GDI32.dll_LineTo
jmp 0x42fa70
cmp word [esp + 0x1c], 0
je 0x42fa70
push dword [esp + 4]
push dword [esp + 4]
push dword [esp + 0xd0]
call sub.GDI32.dll_LineTo
dec dword [esp + 8]
jno 0x42f932
fld qword [esp + 0x64]
fld qword [esp + 0x6c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x42fa9a
cmp word [esp + 0x20], 0
je 0x42fa9a
mov eax, 1
jmp 0x42fa9c
xor eax, eax
and eax, eax
jne 0x42fac8
fld qword [esp + 0x64]
fld qword [esp + 0x6c]
fcompp
fnstsw ax
test ah, 0x41
je 0x42fac0
cmp word [esp + 0x1c], 0
je 0x42fac0
mov eax, 1
jmp 0x42fac2
xor eax, eax
and eax, eax
jne 0x42fac8
jmp 0x42facf
mov eax, 1
jmp 0x42fad1
xor eax, eax
and eax, eax
je 0x42faef
push dword [esp + 0x80]
push dword [esp + 0x80]
push dword [esp + 0xd0]
call sub.GDI32.dll_LineTo
push dword [esp + 0x5c]
call sub.GDI32.dll_DeleteObject
push dword [esp + 0x60]
call sub.GDI32.dll_DeleteObject
xor eax, eax
add esp, 0x94
pop ebx
pop ebp
ret 0x2c