Function at 0x430fc0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4a42ee
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebx
push esi
push edi
mov edi, ecx
xor esi, esi
mov dword [esp + 0x14], edi
mov dword [edi + 4], esi
lea ebx, [edi + 8]
mov ecx, ebx
mov dword [esp + 0x38], esi
mov dword [edi], 0x4ad1f8
call fcn.0047e881
mov dword [ebx], method.CPtrArray.virtual_0
lea ebx, [edi + 0x1c]
mov ecx, ebx
mov byte [esp + 0x38], 1
call fcn.0047e881
mov dword [ebx], method.CPtrArray.virtual_0
or eax, 0xffffffff
push 0x4d0c48
push esi
mov byte [esp + 0x40], 2
mov dword [edi + 0x4c], esi
mov dword [edi + 0x38], esi
mov dword [edi + 0x44], eax
mov dword [edi + 0x48], eax
mov dword [edi + 0x3c], esi
mov dword [edi + 0x40], esi
mov dword [edi + 0x30], 0xc0c0c0
mov dword [edi + 0x34], esi
call dword [sym.imp.KERNEL32.DLL_GetCPInfo]
push esi
lea eax, [esp + 0x10]
push eax
push esi
push 0x1008
mov dword [edi + 0x50], esi
mov dword [esp + 0x1c], esi
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
cmp dword [esp + 0xc], esi
jne 0x43106a
mov dword [0x4cd440], esi
cmp dword [0x4d0c9c], esi
jne 0x4311f4
push ebp
push 2
call dword [sym.imp.USER32.dll_GetSysColor]
mov ecx, eax
shr ecx, 0x10
movzx ebp, ah
movzx ecx, cl
mov dword [esp + 0x14], eax
and eax, 0xff
cmp ecx, ebp
mov ebx, eax
mov eax, ecx
ja 0x43109d
mov eax, ebp
cmp eax, ebx
ja 0x4310a3
mov eax, ebx
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x4310b5
fadd qword [0x4a79c8]
test ecx, ecx
fdivr qword [0x4ad1f0]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jge 0x4310cd
fadd qword [0x4a79c8]
fmul st(1)
call fcn.00469dd0
mov esi, eax
add esi, 0x82
test ebp, ebp
mov dword [esp + 0x14], ebp
fild dword [esp + 0x14]
jge 0x4310ee
fadd qword [0x4a79c8]
fmul st(1)
call fcn.00469dd0
mov ebp, eax
add ebp, 0x82
test ebx, ebx
mov dword [esp + 0x14], ebx
fild dword [esp + 0x14]
jge 0x43110f
fadd qword [0x4a79c8]
fmul st(1)
call fcn.00469dd0
fstp st(0)
mov ebx, eax
lea ecx, [esp + 0x24]
add ebx, 0x82
call fcn.00488638
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], vtable.CBitmap.0
push 0
mov byte [esp + 0x40], 4
call dword [sym.imp.USER32.dll_GetDC]
push 1
push 0x16
push eax
mov dword [esp + 0x20], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
lea ecx, [esp + 0x20]
call fcn.00488e11
mov ecx, dword [esp + 0x14]
push ecx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push eax
lea ecx, [esp + 0x28]
call fcn.00488b14
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
push edx
push eax
call fcn.00488e9a
shl esi, 8
add esi, ebp
mov ebp, dword [sym.imp.GDI32.dll_SetPixel]
shl esi, 8
add esi, ebx
mov ebx, 0x15
mov ecx, dword [esp + 0x28]
push esi
push 0
push ebx
push ecx
call ebp
add esi, 0x30303
dec ebx
jns 0x431198
mov edx, dword [esp + 0x20]
push edx
call dword [sym.imp.GDI32.dll_CreatePatternBrush]
push eax
mov ecx, 0x4d0c98
call fcn.00488e11
mov eax, dword [esp + 0x14]
push eax
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x3c], 3
mov dword [esp + 0x1c], vtable.CGdiObject.0
call fcn.00488e68
lea ecx, [esp + 0x24]
mov byte [esp + 0x3c], 2
call fcn.00488b92
pop ebp
mov ecx, dword [esp + 0x30]
mov eax, edi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x30
ret