Function at 0x4a105c
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52b0b4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x24], ecx
mov dword [ecx], 0x588888
mov dword [ebp - 0x14], ecx
mov dword [ecx + 4], 0
mov dword [ebp - 4], 0
mov dword [ecx], 0x59a1e4
call fcn.004a98d0
fld1
mov ecx, dword [ebp - 0x24]
movzx edx, byte [ecx + 8]
fst qword [ecx + 0x20]
fst qword [ecx + 0x28]
fst qword [ecx + 0x30]
fst qword [ecx + 0x38]
fst qword [ecx + 0x40]
fstp qword [ecx + 0x48]
and edx, 0xfffffffe
and eax, 1
mov dword [ecx + 0x78], 5
or edx, eax
or edx, 2
and edx, 0xffffffe3
mov dword [ecx + 0x7c], 0x6a
mov byte [ecx + 8], dl
xor eax, eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], eax
mov ebx, 1
mov dword [ecx + 0x50], ebx
mov dword [ecx + 0x54], ebx
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x5c], eax
mov dword [ecx + 0x60], eax
mov dword [ecx + 0x64], eax
mov dword [ecx + 0x68], eax
mov dword [ecx + 0x6c], eax
mov dword [ecx + 0x70], eax
mov dword [ecx + 0x74], eax
mov dword [ecx + 0x80], ebx
add ecx, 0x84
call fcn.004ae964
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x24]
add ecx, 0x8c
call fcn.004af7a4
mov dword [ebp - 4], 2
push 8
call fcn.0049009c
pop ecx
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x94], 0x588888
mov eax, dword [eax + 4]
mov dword [edx + 0x98], eax
test eax, eax
je 0x4a1166
add dword [eax + 4], 1
mov dword [edx + 0x94], 0x59a1a4
mov dword [ebp - 4], 3
push 0xa
call fcn.0048fb48
pop ecx
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x9c], 0x588888
mov ecx, dword [eax + 4]
mov dword [edx + 0xa0], ecx
test ecx, ecx
je 0x4a119d
add dword [ecx + 4], 1
mov dword [edx + 0x9c], 0x588924
mov ecx, dword [eax + 8]
mov dword [edx + 0xa4], ecx
movzx ebx, byte [eax + 0xc]
mov byte [edx + 0xa8], bl
movzx ecx, byte [eax + 0xd]
mov byte [edx + 0xa9], cl
movzx ecx, byte [eax + 0xe]
mov byte [edx + 0xaa], cl
movzx ecx, byte [eax + 0xf]
mov byte [edx + 0xab], cl
movzx eax, byte [eax + 0x10]
mov byte [edx + 0xac], al
mov dword [ebp - 4], 4
push 0x10
call fcn.0048fb48
pop ecx
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xb0], 0x588888
mov ecx, dword [eax + 4]
mov dword [edx + 0xb4], ecx
test ecx, ecx
je 0x4a120f
add dword [ecx + 4], 1
mov dword [edx + 0xb0], 0x588924
mov ecx, dword [eax + 8]
mov dword [edx + 0xb8], ecx
movzx ebx, byte [eax + 0xc]
mov byte [edx + 0xbc], bl
movzx ecx, byte [eax + 0xd]
mov byte [edx + 0xbd], cl
movzx ecx, byte [eax + 0xe]
mov byte [edx + 0xbe], cl
movzx ecx, byte [eax + 0xf]
mov byte [edx + 0xbf], cl
movzx eax, byte [eax + 0x10]
mov byte [edx + 0xc0], al
mov dword [ebp - 4], 5
mov eax, dword [ebp - 0x24]
mov dword [eax + 0xc8], 0
mov dword [eax + 0xc4], 0x588a04
mov dword [ebp - 4], 6
mov ecx, dword [ebp - 0x24]
add ecx, 0xcc
call fcn.004afd3c
mov edx, dword [ebp - 0x24]
and byte [edx + 8], 0xeb
xor eax, eax
mov byte [edx + 0xd4], al
mov dword [edx], 0x59a344
mov dword [edx + 0x64], eax
mov dword [edx + 0x5c], eax
mov dword [edx + 0x60], eax
mov dword [edx + 0xdc], 0x59a13c
mov dword [edx + 0x58], eax
mov dword [edx + 0x74], eax
mov dword [edx + 0x6c], eax
and byte [edx + 0xe4], 0xfe
mov dword [edx + 0x70], eax
mov dword [edx + 0x68], eax
mov dword [edx + 0xe0], eax
mov dword [edx + 0xd8], eax
mov dword [edx + 0xe8], eax
mov dword [edx + 0xec], eax
mov dword [edx + 0xf0], eax
mov dword [edx + 0xf4], eax
mov dword [edx + 0xf8], eax
mov dword [edx + 0xfc], eax
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0x24]
mov dword [eax], 0x5aae84
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov edx, dword [ebp - 0x24]
push 1
push eax
mov dword [edx + 0xe8], eax
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret