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

Disassembly:
sub esp, 0x94
mov eax, dword [esp + 0x9c]
push ebx
push ebp
push esi
push edi
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov esi, dword [esp + 0xa8]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push eax
push esi
call edi
mov ecx, dword [esp + 0xb0]
push ecx
mov ebx, 1
push ebx
xor ebp, ebp
push ebp
mov dword [esp + 0x68], eax
call dword [sym.imp.GDI32.dll_CreatePen]
push eax
push esi
call edi
fild dword [esp + 0xb4]
mov dword [esp + 0x60], eax
fmul qword [0x4493c8]
fdiv qword [0x4493c0]
fst qword [esp + 0x10]
call fcn.004352c0
fstp dword [esp + 0x18]
fld qword [esp + 0x10]
call fcn.00435190
fstp dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
fld dword [esp + 0x18]
fld dword [esp + 0x10]
mov ecx, eax
fldz
neg ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], eax
inc eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x48], ecx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x30], eax
xor ebx, ebx
fild dword [esp + ebx + 0x20]
fstp dword [esp + 0x18]
fild dword [esp + ebx + 0x1c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld st(0)
fmul st(4)
fld dword [esp + 0x18]
fld st(0)
fmul st(5)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fcom st(3)
fnstsw ax
test ah, 5
jp 0x404ed7
fld qword [0x4493a0]
fsub st(1), st(0)
fxch st(1)
call fcn.004349a0
jmp 0x404efb
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x404ef1
fld qword [0x4493a0]
fadd st(1), st(0)
fxch st(1)
call fcn.004349a0
jmp 0x404efb
fstp st(0)
xor eax, eax
fld qword [0x4493a0]
fld st(5)
mov dword [esp + ebx + 0x64], eax
fmulp st(2)
fld st(4)
fmulp st(3)
fxch st(1)
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fcom st(2)
fnstsw ax
test ah, 5
jp 0x404f27
fsubrp st(1)
call fcn.004349a0
jmp 0x404f3f
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x404f39
faddp st(1)
call fcn.004349a0
jmp 0x404f3f
fstp st(0)
xor eax, eax
fstp st(0)
mov dword [esp + ebx + 0x68], eax
add ebx, 8
cmp ebx, 0x40
jl 0x404e91
mov eax, dword [esp + 0xb8]
fstp st(0)
mov ecx, dword [esp + 0xbc]
fstp st(1)
mov edx, dword [esp + 0x64]
fstp st(0)
add edx, eax
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x68]
add edx, ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x6c]
add edx, eax
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x70]
add edx, ecx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x74]
add edx, eax
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x78]
add edx, ecx
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x7c]
add edx, eax
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x80]
add edx, ecx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x84]
add edx, eax
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x88]
add edx, ecx
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x8c]
add edx, eax
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x90]
add edx, ecx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x94]
add edx, eax
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x98]
add edx, ecx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x9c]
add edx, eax
mov eax, dword [esp + 0xa0]
add eax, ecx
push 8
lea ecx, [esp + 0x20]
push ecx
push esi
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
call dword [sym.imp.GDI32.dll_Polygon]
mov edx, dword [esp + 0x5c]
push edx
push esi
call edi
mov ebx, dword [sym.imp.GDI32.dll_DeleteObject]
push eax
call ebx
mov eax, dword [esp + 0x60]
push eax
push esi
call edi
push eax
call ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret