Function at 0x10025239
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov eax, dword [esp + 8]
mov ebp, esp
mov dword [0x1002e534], eax
sub esp, 4
push ebx
push esi
push edi
xor esi, esi
xor edi, edi
mov ebx, dword [ebp + 0xc]
lea eax, [ebx + 0x132]
cmp dword [eax], 0
je 0x10025268
add eax, 4
inc edi
cmp edi, 0x10
jl 0x10025258
jmp 0x100252b7
push 0x142
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 4], eax
mov dword [ebx + edi*4 + 0x132], eax
test eax, eax
jne 0x10025295
push 0
push 0
push 0x35
call sym.WCT32D.DLL_ErrHdlr
xor eax, eax
jmp 0x10025687
mov ax, word [ebx + 0x24]
inc ax
mov si, word [ebx]
shl si, 4
add si, di
add si, 0x3c
mov word [ebx + 0x24], ax
cmp ax, 1
jne 0x100252b7
mov word [ebx + 0x36], si
test si, si
jne 0x100252d7
push 0
push 0
push 0x34
call sym.WCT32D.DLL_ErrHdlr
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
xor eax, eax
jmp 0x10025687
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov word [eax], si
mov edi, eax
push dword [ebp + 0x30]
mov word [edi + 0x118], 0
call sym.WCT32D.DLL_WGGetRGBColor
mov dword [edi + 0xe], eax
mov eax, 0x3ff00000
mov dword [edi + 0x42], 0
mov dword [edi + 0xa2], 0
mov dword [edi + 0xd6], 0
mov ecx, 0x40240000
mov dword [edi + 0xda], eax
mov dword [edi + 0xe6], 0
mov dword [edi + 0xea], eax
mov dword [edi + 0xee], 0
mov dword [edi + 0xf2], eax
mov dword [edi + 0xf6], 0
mov dword [edi + 0xfa], ecx
mov dword [edi + 0xfe], 0
mov dword [edi + 0x102], eax
mov dword [edi + 0x106], 0
mov dword [edi + 0x10a], ecx
mov byte [edi + 0x131], 1
mov word [edi + 0x124], 0x14
push dword [ebx + 2]
call dword [sym.imp.USER32.dll_GetDC]
push dword [ebx + 0x1a]
mov esi, eax
mov eax, dword [ebx + 0x16]
push eax
push dword [ebx + 0x12]
mov ax, word [ebx + 0x22]
push dword [ebx + 0xe]
push eax
push esi
call fcn.10014f2e
mov cx, word [ebp + 0x38]
mov eax, dword [ebp + 0x34]
mov word [edi + 0x30], ax
test eax, eax
mov word [edi + 0x2e], cx
jl 0x100253df
push eax
call sym.WCT32D.DLL_WGGetRGBColor
mov ecx, dword [ebp + 0x38]
push 1
mov dword [edi + 0x2a], eax
lea eax, [edi + 0x22]
mov dword [edi + 0x36], 1
push eax
mov dword [eax], ecx
push esi
mov dword [edi + 0x26], ecx
call dword [sym.imp.GDI32.dll_DPtoLP]
mov ax, word [ebx + 0x22]
mov word [edi + 0x10e], ax
mov dword [edi + 0x3a], 0
fild dword [ebx + 0xe]
fmul qword [ebp + 0x10]
fadd qword [0x1002f3e0]
call fcn.10026ba4
mov dword [edi + 0x6a], eax
fild dword [ebx + 0x12]
fmul qword [ebp + 0x18]
fadd qword [0x1002f3e0]
call fcn.10026ba4
fld qword [ebp + 0x20]
fsub qword [ebp + 0x10]
mov dword [edi + 0x6e], eax
fimul dword [ebx + 0xe]
fadd qword [0x1002f3e0]
call fcn.10026ba4
fld qword [ebp + 0x28]
fsub qword [ebp + 0x18]
mov dword [edi + 0x72], eax
fimul dword [ebx + 0x12]
fadd qword [0x1002f3e0]
call fcn.10026ba4
mov dword [edi + 0x76], eax
mov ecx, dword [edi + 0x6a]
mov dword [edi + 0x5a], ecx
push 2
mov edx, dword [edi + 0x6e]
mov dword [edi + 0x5e], edx
mov eax, dword [edi + 0x72]
mov dword [edi + 0x62], eax
lea eax, [edi + 0x5a]
mov ecx, dword [edi + 0x76]
push eax
push esi
mov dword [edi + 0x66], ecx
call dword [sym.imp.GDI32.dll_DPtoLP]
push 0x18
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov word [0x1002e574], ax
cmp ax, 0x10
jle 0x10025493
mov eax, dword [0x100300f8]
push eax
push esi
call dword [sym.imp.GDI32.dll_GetNearestColor]
mov dword [0x100300f8], eax
push esi
push dword [ebx + 2]
call dword [sym.imp.USER32.dll_ReleaseDC]
fild dword [edi + 0x5a]
pushfd
cmp dword [0x1003065c], 0
jne 0x100254af
fidiv dword [ebx + 0x16]
jmp 0x100254b7
push dword [ebx + 0x16]
call fcn.10027274
popfd
fstp dword [edi + 0x7a]
fild dword [edi + 0x5e]
pushfd
cmp dword [0x1003065c], 0
jne 0x100254cd
fidiv dword [ebx + 0x1a]
jmp 0x100254d5
push dword [ebx + 0x1a]
call fcn.10027274
popfd
fstp dword [edi + 0x7e]
fild dword [edi + 0x62]
pushfd
cmp dword [0x1003065c], 0
jne 0x100254eb
fidiv dword [ebx + 0x16]
jmp 0x100254f3
push dword [ebx + 0x16]
call fcn.10027274
popfd
fstp dword [edi + 0x82]
fild dword [edi + 0x62]
pushfd
cmp dword [0x1003065c], 0
jne 0x1002550c
fidiv dword [ebx + 0x16]
jmp 0x10025514
push dword [ebx + 0x16]
call fcn.10027274
popfd
fmul dword [0x1002f3e8]
fadd dword [0x1002f3ec]
call fcn.10026ba4
mov dword [ebp - 4], eax
fild dword [ebp - 4]
fmul dword [0x1002f3f0]
fstp dword [edi + 0x82]
fild dword [edi + 0x66]
pushfd
cmp dword [0x1003065c], 0
jne 0x1002554a
fidiv dword [ebx + 0x1a]
jmp 0x10025552
push dword [ebx + 0x1a]
call fcn.10027274
popfd
fmul dword [0x1002f3e8]
fadd dword [0x1002f3ec]
call fcn.10026ba4
mov dword [ebp - 4], eax
fild dword [ebp - 4]
fmul dword [0x1002f3f0]
fstp dword [edi + 0x86]
mov ecx, dword [edi + 0x82]
mov dword [edi + 0x8a], ecx
mov edx, dword [edi + 0x86]
mov dword [edi + 0x8e], edx
fild dword [edi + 0x62]
pushfd
cmp dword [0x1003065c], 0
jne 0x100255a0
fidiv dword [edi + 0x72]
jmp 0x100255a8
push dword [edi + 0x72]
call fcn.10027274
popfd
fadd qword [0x1002f3e0]
call fcn.10026ba4
mov dword [edi + 0x110], eax
fild dword [edi + 0x66]
pushfd
cmp dword [0x1003065c], 0
jne 0x100255cc
fidiv dword [edi + 0x76]
jmp 0x100255d4
push dword [edi + 0x76]
call fcn.10027274
popfd
fadd qword [0x1002f3e0]
call fcn.10026ba4
push 0x50
mov dword [edi + 0x114], eax
mov dword [edi + 0x16], 1
mov dword [edi + 0x1a], 0
push 0x40
mov dword [edi + 0x56], ebx
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push eax
mov dword [edi + 0x13a], eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, dword [ebp + 0x3c]
mov dword [edi + 0x13e], eax
mov dword [edi + 6], ecx
mov edx, dword [0x1002e534]
push dword [edx + 0x23ba]
push edi
push str.GrWin
call fcn.10015d2a
mov esi, eax
test esi, esi
je 0x1002567a
push edi
mov dword [edi + 2], esi
push 0
mov dword [edi + 0x32], esi
push esi
mov dword [edi + 0xb6], esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
push ebx
push 8
push esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 0
push 0xc
push esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 5
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0
push 0xf
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x10025685
push 0
push 0
push 0x32
call sym.WCT32D.DLL_ErrHdlr
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x38