Function at 0x48b370
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x5dcd66
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0xc], esi
call fcn.0048e790
xor ebx, ebx
mov dword [esi], 0x5f83a0
push 0x114
mov dword [esp + 0x34], ebx
mov dword [esi + 0x2bc], ebx
call fcn.0059dece
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0x30], 1
je 0x48b3cb
mov ecx, eax
call fcn.0048d9e0
jmp 0x48b3cd
xor eax, eax
mov dword [esi + 0x2c0], eax
push 0x638
mov byte [esp + 0x34], bl
mov dword [esi + 0x2c4], eax
call fcn.0059dece
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0x30], 2
je 0x48b400
mov ecx, eax
call fcn.0048d880
jmp 0x48b402
xor eax, eax
push 0x638
mov byte [esp + 0x34], bl
mov dword [esi + 0x2c8], eax
call fcn.0059dece
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0x30], 3
je 0x48b42f
mov ecx, eax
call fcn.0048d880
jmp 0x48b431
xor eax, eax
push 0x638
mov byte [esp + 0x34], bl
mov dword [esi + 0x2cc], eax
call fcn.0059dece
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0x30], 4
je 0x48b45e
mov ecx, eax
call fcn.0048d880
jmp 0x48b460
xor eax, eax
push 0x638
mov byte [esp + 0x34], bl
mov dword [esi + 0x2d0], eax
call fcn.0059dece
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0x30], 5
je 0x48b48d
mov ecx, eax
call fcn.0048d880
jmp 0x48b48f
xor eax, eax
push 0x638
mov byte [esp + 0x34], bl
mov dword [esi + 0x2d4], eax
call fcn.0059dece
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0x30], 6
je 0x48b4bc
mov ecx, eax
call fcn.0048d880
jmp 0x48b4be
xor eax, eax
push 0x638
mov byte [esp + 0x34], bl
mov dword [esi + 0x2d8], eax
call fcn.0059dece
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0x30], 7
je 0x48b4eb
mov ecx, eax
call fcn.0048d880
jmp 0x48b4ed
xor eax, eax
push 0x638
mov byte [esp + 0x34], bl
mov dword [esi + 0x2dc], eax
call fcn.0059dece
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0x30], 8
je 0x48b51a
mov ecx, eax
call fcn.0048d880
jmp 0x48b51c
xor eax, eax
push 0x638
mov byte [esp + 0x34], bl
mov dword [esi + 0x2e0], eax
call fcn.0059dece
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0x30], 9
je 0x48b549
mov ecx, eax
call fcn.0048d880
jmp 0x48b54b
xor eax, eax
push 0x34
mov byte [esp + 0x34], bl
mov dword [esi + 0x2e4], eax
call fcn.0059dece
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebx
mov byte [esp + 0x30], 0xa
je 0x48b575
mov ecx, eax
call fcn.0048d7c0
jmp 0x48b577
xor eax, eax
or ecx, 0xffffffff
mov dword [esi + 0x2f0], eax
mov eax, 1
mov dword [esi + 0x32c], ecx
mov dword [esi + 0x334], ecx
push ebx
lea ecx, [esp + 0x18]
mov byte [esp + 0x34], bl
mov byte [esi + 0x2e8], bl
mov dword [esi + 0x2ec], ebx
mov dword [esi + 0x2f4], ebx
mov dword [esi + 0x2f8], ebx
mov dword [esi + 0x2fc], ebx
mov dword [esi + 0x300], ebx
mov dword [esi + 0x304], ebx
mov dword [esi + 0x308], ebx
mov dword [esi + 0x30c], ebx
mov dword [esi + 0x310], ebx
mov dword [esi + 0x314], ebx
mov dword [esi + 0x318], ebx
mov dword [esi + 0x31c], 0x2d0
mov byte [esi + 0x320], 1
mov dword [esi + 0x328], eax
mov dword [esi + 0x324], ebx
mov dword [esi + 0x330], eax
mov dword [esi + 0x338], ebx
mov dword [esi + 0x33c], eax
mov dword [esi + 0x340], 0x1a
mov dword [esi + 0x344], ebx
call fcn.005a6b52
mov ebx, dword [esp + 0x18]
lea eax, [esp + 0x14]
mov edi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0x58
neg eax
sbb eax, eax
and eax, ebx
push eax
call edi
mov ecx, eax
mov eax, 0x5a0
cdq
idiv ecx
mov ebx, dword [esp + 0x18]
push 0x5a
mov dword [esi + 0x314], eax
lea eax, [esp + 0x18]
neg eax
sbb eax, eax
and eax, ebx
push eax
call edi
mov ecx, eax
mov eax, 0x5a0
cdq
idiv ecx
lea ecx, [esp + 0x14]
mov dword [esi + 0x318], eax
call fcn.005a6bc4
mov ecx, dword [esp + 0x28]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x28
ret