Function at 0x48b760
Capabilities:
Capture screenshot
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4d4
push ebx
push esi
mov esi, ecx
mov ecx, dword [ebp + 8]
mov al, 9
cmp al, byte [ecx + 2]
push edi
sbb ecx, ecx
and ecx, dword [0x515e34]
mov dword [esp + 0x74], ecx
je 0x48b78c
call fcn.0041bc60
mov edx, dword [0x51161c]
movzx edi, word [edx + 0xf0]
xor eax, eax
and edi, 3
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
cmp edi, 2
je 0x48b80a
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ebx, eax
test ebx, ebx
je 0x48b80a
push ebx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne 0x48b80a
test edi, edi
jne 0x48b7e0
lea eax, [esp + 0x78]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x48b80a
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
jmp 0x48b802
xor eax, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x68]
push eax
push ebx
call dword [sym.imp.USER32.dll_ClientToScreen]
test eax, eax
je 0x48b80a
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
add dword [esp + 0x44], ecx
add dword [esp + 0x48], edx
mov byte [esp + 0x17], 0
mov byte [esp + 0x1b], 0
mov byte [esp + 0x14], 0
mov byte [esp + 0x22], 0
mov byte [esp + 0x23], 0
mov byte [esp + 0x21], 0
mov dword [esp + 0x50], 0xffffffff
mov dword [esp + 0x30], 3
mov byte [esp + 0x1a], 0
mov byte [esp + 0x20], 1
mov dword [esp + 0x3c], 0
mov byte [esp + 0x2b], 0
mov byte [esp + 0x2a], 0
mov edi, esi
movzx eax, word [edi]
cmp eax, 0x20
je 0x48b863
cmp eax, 9
jne 0x48b868
add edi, 2
jmp 0x48b856
cmp word [edi], 0x2a
jne 0x48bc9e
mov byte [esp + 0x17], 1
mov eax, dword [0x5194a4]
push 2
push eax
add edi, 2
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x48b8be
add edi, 4
cmp dword [ebp + 0x14], eax
jle 0x48b89d
mov eax, dword [ebp + 0xc]
dec eax
jmp 0x48b89f
xor eax, eax
add dword [ebp + 0x14], eax
cmp dword [ebp + 0x18], 0
jle 0x48b8b4
mov eax, dword [ebp + 0x10]
dec eax
add dword [ebp + 0x18], eax
jmp 0x48bc54
xor eax, eax
add dword [ebp + 0x18], eax
jmp 0x48bc54
push 4
push 0x507d38
call fcn.0049fc00
add esp, 4
push eax
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x48b9ea
push 2
add edi, 8
push 0x507cf8
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x48b903
mov dword [esp + 0x30], 1
jmp 0x48bc54
push 2
push 0x507d00
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x48b924
mov dword [esp + 0x30], 7
jmp 0x48bc54
push 2
push 0x507d30
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x48b945
mov dword [esp + 0x30], 5
jmp 0x48bc54
push 2
push 0x507d18
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x48b966
mov dword [esp + 0x30], 2
jmp 0x48bc54
push 2
push 0x507d20
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x48b987
mov dword [esp + 0x30], 8
jmp 0x48bc54
push 2
push 0x507d08
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x48b9a4
mov dword [esp + 0x30], eax
jmp 0x48bc54
push 2
push 0x507d10
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x48b9c5
mov dword [esp + 0x30], 6
jmp 0x48bc54
push 2
push 0x507d28
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x48bbd7
mov dword [esp + 0x30], 3
jmp 0x48bc54
push 0xa
push 0x507f08
call fcn.0049fc00
add esp, 4
push eax
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x48ba14
add edi, 0x14
mov byte [esp + 0x23], 1
jmp 0x48bc54
push 6
push 0x507c14
call fcn.0049fc00
add esp, 4
push eax
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x48ba3e
add edi, 0xc
mov byte [esp + 0x21], 1
jmp 0x48bc54
push 6
push 0x507d78
call fcn.0049fc00
add esp, 4
push eax
push edi
call fcn.004c56eb
add esp, 0xc
push 0xa
test eax, eax
jne 0x48bbde
push 0x507bcc
add edi, 0xc
mov byte [esp + 0x22], 1
call fcn.0049fc00
add esp, 4
push eax
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x48ba92
add edi, 0x14
mov byte [esp + 0x18], 1
mov byte [esp + 0x20], al
jmp 0x48bae3
push 4
push 0x507bf4
call fcn.0049fc00
add esp, 4
push eax
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x48bab6
mov byte [esp + 0x18], 1
jmp 0x48badb
push 4
push 0x4ec7dc
call fcn.0049fc00
add esp, 4
push eax
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x48bbd7
mov byte [esp + 0x18], al
add edi, 8
mov byte [esp + 0x20], 1
cmp byte [esp + 0x14], 0
jne 0x48bc54
cmp dword [esp + 0x3c], 0
jne 0x48bc54
push 0x207
lea ecx, [esp + 0xd4]
push edi
push ecx
call fcn.004c67b5
xor edx, edx
add esp, 0xc
mov ebx, 0x4e6dc4
lea eax, [esp + 0xd0]
mov word [esp + 0x4de], dx
call fcn.00409df0
test eax, eax
je 0x48bb33
xor ecx, ecx
mov word [eax], cx
cmp byte [esp + 0x18], 0
je 0x48bb4f
lea esi, [esp + 0xd0]
call fcn.0041bbf0
mov dword [esp + 0x3c], eax
jmp 0x48bbd0
push 0x207
lea edx, [esp + 0xd4]
push edi
push edx
call fcn.004c67b5
xor eax, eax
add esp, 0xc
cmp word [esp + 0xd0], 0x3c
mov word [esp + 0x4de], ax
jne 0x48bbd7
mov ebx, 0x507c10
lea eax, [esp + 0xd2]
call fcn.00409df0
test eax, eax
je 0x48bbd7
xor ecx, ecx
push ecx
mov word [eax], cx
lea edx, [esp + 0xd4]
push ecx
sub eax, edx
sar eax, 1
push ecx
lea edi, [edi + eax*2 + 2]
lea eax, [esp + 0x6c]
push eax
push ecx
push ecx
lea ecx, [esp + 0xea]
push ecx
call fcn.004a8870
mov dword [esp + 0x58], eax
mov eax, 1
add esp, 0x1c
cmp dword [esp + 0x60], eax
jne 0x48bbd0
mov byte [esp + 0x14], al
cmp dword [esp + 0x3c], 0
jne 0x48bc54
mov byte [esp + 0x14], 1
jmp 0x48bc54
push 0x507c58
call fcn.0049fc00
add esp, 4
push eax
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x48bc03
add edi, 0x14
mov byte [esp + 0x2b], 1
jmp 0x48bc54
push 0xa
push 0x507c80
call fcn.0049fc00
add esp, 4
push eax
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x48bc2f
add edi, 0x14
mov byte [esp + 0x2b], 1
mov byte [esp + 0x2a], 1
jmp 0x48bc54
push 3
push 0x507f30
call fcn.0049fc00
add esp, 4
push eax
push edi
call fcn.004c56eb
add esp, 0xc
test eax, eax
jne 0x48bc54
add edi, 6
mov byte [esp + 0x1b], 1
test edi, edi
je 0x48bc91
movzx eax, word [edi]
test ax, ax
je 0x48bc91
movzx edx, ax
mov ecx, 0x4e6dc4
mov eax, 0x20
lea ecx, [ecx]
cmp dx, ax
je 0x48bd21
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x48bc70
movzx eax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x48bc60
xor esi, esi
cmp byte [esp + 0x14], 0
jne 0x48be23
test esi, esi
je 0x48bcf3
cmp byte [esp + 0x17], 0
jne 0x48bcd1
cmp byte [ebp + 0x24], 0
jne 0x48bccc
push 0x4effd0
call fcn.0049fc00
add esp, 4
mov ecx, esi
call fcn.004a75a0
mov byte [esp + 0x17], 0
test eax, eax
je 0x48bcd1
mov byte [esp + 0x17], 1
cmp byte [esp + 0x1b], 0
jne 0x48bcfa
push 0x507f30
call fcn.0049fc00
add esp, 4
mov ecx, esi
call fcn.004a75a0
test eax, eax
setne byte [esp + 0x1b]
cmp byte [esp + 0x1b], 0
je 0x48bd47
mov eax, dword [ebp + 0x1c]
mov edx, eax
shr edx, 8
movzx ecx, dl
movzx edx, al
mov dword [esp + 0x2c], eax
shl edx, 8
shr eax, 0x10
or ecx, edx
movzx eax, al
shl ecx, 8
or ecx, eax
mov dword [ebp + 0x1c], ecx
jmp 0x48bd69
lea esi, [edi + 2]
mov edi, esi
movzx eax, word [edi]
cmp eax, 0x20
je 0x48bd33
cmp eax, 9
jne 0x48bd38
add edi, 2
jmp 0x48bd26
cmp word [edi], 0x2a
je 0x48b877
jmp 0x48bc93
mov ecx, dword [ebp + 0x1c]
mov edx, ecx
shr edx, 8
movzx eax, dl
movzx edx, cl
shl edx, 8
shr ecx, 0x10
or eax, edx
movzx ecx, cl
shl eax, 8
or eax, ecx
mov dword [esp + 0x2c], eax
cmp byte [ebp + 0x24], 0
mov ecx, dword [0x515e10]
mov dword [esp + 0x64], ecx
je 0x48bd7d
xor esi, esi
jmp 0x48bd8d
mov eax, dword [ebp + 8]
mov dl, 1
cmp dl, byte [eax + 2]
sbb esi, esi
and esi, dword [0x515e14]
mov dword [esp + 0x70], esi
test ecx, ecx
je 0x48bd9a
call fcn.0041bc60
test esi, esi
je 0x48bda5
mov ecx, esi
call fcn.0041bc60
cmp byte [esp + 0x1a], 0
jne 0x48bdc0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
add dword [ebp + 0xc], eax
add dword [ebp + 0x10], ecx
add dword [ebp + 0x14], eax
add dword [ebp + 0x18], ecx
mov ebx, dword [ebp + 0x20]
test ebx, ebx
jns 0x48bdd3
mov dword [ebp + 0x20], 0
mov ebx, dword [ebp + 0x20]
jmp 0x48be02
cmp ebx, 0xff
jle 0x48bde7
mov dword [ebp + 0x20], 0xff
mov ebx, dword [ebp + 0x20]
jmp 0x48bdeb
test ebx, ebx
jle 0x48be02
mov eax, dword [ebp + 0x1c]
mov ecx, eax
shr ecx, 8
mov byte [esp + 0x16], al
shr eax, 0x10
mov byte [esp + 0x15], cl
mov byte [esp + 0x13], al
cmp byte [esp + 0x1a], 0
mov edi, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push 0
je 0x48be15
call edi
jmp 0x48be1b
call dword [sym.imp.USER32.dll_GetDC]
mov dword [esp + 0x40], eax
test eax, eax
jne 0x48be84
cmp byte [esp + 0x20], 0
je 0x48be39
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x48be39
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edx, dword [0x51161c]
test byte [edx + 0x100], 1
jne 0x48be67
mov eax, dword [0x5166e0]
push 1
push 0
push 0xffffffffffffffff
push 0x4e6e3c
push eax
call fcn.004aa2a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
mov ecx, dword [ebp + 8]
push 0x4e1a4c
push 0
push 0x4e6e3c
call fcn.0042ef30
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
cmp byte [esp + 0x17], 0
mov byte [esp + 0x19], 0
je 0x48c90e
xor esi, esi
cmp byte [esp + 0x1a], 0
mov dword [esp + 0x54], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x60], esi
jne 0x48bf67
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp + 0x18]
mov ecx, dword [esp + 0x40]
sub esi, dword [ebp + 0xc]
sub edi, dword [ebp + 0x10]
push ecx
inc esi
inc edi
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [esp + 0x58], eax
test eax, eax
je 0x48c769
mov edx, dword [esp + 0x40]
push edi
push esi
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov dword [esp + 0x54], eax
test eax, eax
je 0x48c769
mov ecx, dword [esp + 0x58]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x68], eax
test eax, eax
je 0x48c769
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x40]
push 0xcc0020
push edx
mov edx, dword [esp + 0x60]
push eax
push ecx
push edi
push esi
push 0
push 0
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
je 0x48c769
push 8
lea eax, [esp + 0x18]
push eax
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x30]
push edx
push eax
mov eax, dword [esp + 0x6c]
call fcn.0043a630
add esp, 0x14
mov dword [esp + 0x5c], eax
test eax, eax
je 0x48c769
mov edi, eax
jmp 0x48c053
push esi
call edi
mov edi, eax
mov dword [esp + 0x58], edi
cmp edi, esi
je 0x48c751
cmp dword [ebp + 0xc], esi
jne 0x48bfa9
cmp dword [ebp + 0x10], esi
jne 0x48bfa9
cmp dword [ebp + 0x14], esi
mov esi, dword [ebp + 0x18]
jne 0x48bfac
test esi, esi
jne 0x48bfac
push 8
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x30]
push eax
push ecx
jmp 0x48c03b
mov esi, dword [ebp + 0x18]
cmp byte [ebp + 0x24], 0
je 0x48bfbb
mov ecx, 1
mov eax, ecx
jmp 0x48bff7
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x78]
push edx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectW]
test eax, eax
je 0x48c751
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x48bfed
test esi, esi
jne 0x48bfed
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x80]
dec eax
dec esi
sub eax, dword [ebp + 0xc]
inc eax
sub esi, dword [ebp + 0x10]
lea ecx, [esi + 1]
mov edx, dword [ebp + 0x10]
push 0xffffffffffffffff
push 0
push 0
push 0
push 0
push edx
mov edx, dword [ebp + 0xc]
push edx
push ecx
push eax
mov eax, dword [esp + 0x60]
push eax
lea ecx, [esp + 0x7c]
push ecx
call fcn.00496570
add esp, 0x2c
test al, al
je 0x48c751
push 8
lea edx, [esp + 0x18]
push edx
mov edx, dword [esp + 0x5c]
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x30]
push ecx
push edx
mov eax, edi
call fcn.0043a630
mov edi, eax
add esp, 0x14
mov dword [esp + 0x5c], edi
test edi, edi
je 0x48c751
mov ecx, dword [esp + 0x24]
imul ecx, dword [esp + 0x34]
mov al, byte [esp + 0x14]
mov edx, edi
mov dword [esp + 0x38], edx
mov dword [esp + 0x1c], ecx
test al, al
je 0x48c082
xor esi, esi
test ecx, ecx
jle 0x48c086
and dword [edi + esi*4], 0xf8f8f8f8
inc esi
cmp esi, ecx
jl 0x48c074
jmp 0x48c086
mov esi, dword [esp + 0x1c]
cmp byte [esp + 0x2b], 0
je 0x48c15b
xor esi, esi
test ecx, ecx
jle 0x48c0f8
mov eax, dword [edi + esi*4]
mov ecx, eax
mov edx, eax
shr ecx, 8
shr edx, 0x10
movzx eax, al
movzx ecx, cl
movzx edx, dl
add ecx, edx
add ecx, eax
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp byte [esp + 0x2a], 0
je 0x48c0e2
mov ecx, 0xff
sub ecx, ebx
cmp eax, ecx
sbb edx, edx
and edx, 0xff000001
add edx, 0xffffff
mov dword [edi + esi*4], edx
jmp 0x48c0f1
mov ecx, eax
shl ecx, 8
or ecx, eax
shl ecx, 8
or ecx, eax
mov dword [edi + esi*4], ecx
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x48c097
mov eax, dword [esp + 0x2c]
mov edx, eax
shr edx, 8
movzx ecx, dl
mov edx, eax
shr edx, 0x10
movzx eax, al
movzx edx, dl
add ecx, edx
add ecx, eax
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp byte [esp + 0x2a], 0
je 0x48c26f
mov ecx, 0xff
sub ecx, ebx
cmp eax, ecx
sbb eax, eax
and eax, 0xff000001
add eax, 0xffffff
mov dword [ebp + 0x20], 0
mov ebx, dword [ebp + 0x20]
mov dword [esp + 0x2c], eax
mov al, byte [esp + 0x14]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
cmp byte [ebp + 0x24], 0
jne 0x48c284
cmp dword [esp + 0x30], 3
je 0x48c1d2
mov edx, dword [esp + 0x1c]
lea eax, [edx*4]
push eax
call fcn.004c4f28
add esp, 4
mov dword [esp + 0x60], eax
test eax, eax
je 0x48c755
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x38], eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x78], edi
mov dword [esp + 0x84], edx
call fcn.00489150
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
mov al, byte [esp + 0x14]
cmp byte [esp + 0x23], 0
je 0x48c488
cmp dword [esp + 0x30], 4
jle 0x48c1f8
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x34], eax
mov al, byte [esp + 0x14]
mov dword [esp + 0x24], ecx
cmp ebx, 1
jge 0x48c300
test al, al
je 0x48c20d
and dword [esp + 0x2c], 0xf8f8f8f8
cmp dword [esp + 0x34], 0
mov dword [esp + 0x1c], 0
jle 0x48c438
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x38]
lea eax, [edx*4]
mov dword [esp + 0x4c], eax
xor eax, eax
mov byte [esp + 0x19], 1
test edx, edx
jle 0x48c25c
mov esi, dword [esp + 0x2c]
mov ecx, edi
mov ebx, dword [ecx]
and ebx, 0xffffff
cmp ebx, esi
je 0x48c2db
inc eax
add ecx, 4
cmp eax, edx
jl 0x48c244
mov ecx, dword [esp + 0x1c]
imul ecx, edx
mov edx, dword [esp + 0x38]
mov eax, dword [edx + ecx*4]
jmp 0x48c42f
mov ecx, eax
shl ecx, 8
or ecx, eax
shl ecx, 8
or ecx, eax
mov dword [esp + 0x2c], ecx
jmp 0x48c14f
mov edi, dword [edi]
and edi, 0xffffff
cmp byte [esp + 0x1b], 0
je 0x48c297
mov eax, edi
jmp 0x48c29e
mov ecx, edi
call fcn.00430c70
push eax
lea ecx, [esp + 0x94]
push str.0x_06X
push ecx
call fcn.004c52a7
mov eax, dword [esp + 0x70]
add esp, 0xc
push 1
push 0
push 0xffffffffffffffff
lea edx, [esp + 0x9c]
push edx
push eax
call fcn.004aa2a0
mov byte [esp + 0x19], 1
mov byte [esp + 0x22], 1
jmp 0x48c755
mov eax, dword [esp + 0x1c]
add edi, dword [esp + 0x4c]
inc eax
mov byte [esp + 0x19], 0
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x34]
jge 0x48c438
mov edx, dword [esp + 0x24]
jmp 0x48c233
mov cl, byte [esp + 0x16]
mov dl, byte [esp + 0x15]
test al, al
je 0x48c317
and cl, 0xf8
and dl, 0xf8
and byte [esp + 0x13], 0xf8
movzx edi, cl
cmp ebx, edi
jle 0x48c325
mov byte [esp + 0x18], 0
jmp 0x48c32d
mov al, cl
sub al, bl
mov byte [esp + 0x18], al
movzx eax, dl
cmp ebx, eax
jle 0x48c33b
mov byte [esp + 0x17], 0
jmp 0x48c343
mov al, dl
sub al, bl
mov byte [esp + 0x17], al
mov al, byte [esp + 0x13]
movzx esi, al
cmp ebx, esi
jle 0x48c355
mov byte [esp + 0x14], 0
jmp 0x48c35b
sub al, bl
mov byte [esp + 0x14], al
mov eax, 0xff
sub eax, edi
cmp ebx, eax
jle 0x48c36d
mov byte [esp + 0x16], 0xff
jmp 0x48c374
lea eax, [ecx + ebx]
mov byte [esp + 0x16], al
movzx eax, dl
mov ecx, 0xff
sub ecx, eax
cmp ebx, ecx
jle 0x48c389
mov byte [esp + 0x15], 0xff
jmp 0x48c390
lea eax, [edx + ebx]
mov byte [esp + 0x15], al
mov edx, 0xff
sub edx, esi
cmp ebx, edx
jle 0x48c3a2
mov byte [esp + 0x13], 0xff
jmp 0x48c3aa
add bl, byte [esp + 0x13]
mov byte [esp + 0x13], bl
cmp dword [esp + 0x34], 0
mov dword [esp + 0x1c], 0
jle 0x48c438
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
lea ecx, [eax*4]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x2c], edx
xor edi, edi
mov byte [esp + 0x19], 1
cmp dword [esp + 0x24], edi
jle 0x48c41f
mov esi, dword [esp + 0x2c]
mov eax, dword [esi]
mov ecx, eax
mov edx, eax
shr ecx, 0x10
shr edx, 8
cmp cl, byte [esp + 0x18]
jb 0x48c415
cmp cl, byte [esp + 0x16]
ja 0x48c415
cmp dl, byte [esp + 0x17]
jb 0x48c415
cmp dl, byte [esp + 0x15]
ja 0x48c415
cmp al, byte [esp + 0x14]
jb 0x48c415
cmp al, byte [esp + 0x13]
jbe 0x48c466
inc edi
add esi, 4
cmp edi, dword [esp + 0x24]
jl 0x48c3e5
mov edx, dword [esp + 0x1c]
imul edx, dword [esp + 0x24]
mov eax, dword [esp + 0x38]
mov eax, dword [eax + edx*4]
and eax, 0xffffff
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0x1c]
imul esi, dword [esp + 0x24]
cmp dword [esp + 0x30], 4
jle 0x48c2d1
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], eax
mov byte [esp + 0x22], 1
jmp 0x48c755
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
add dword [esp + 0x2c], ecx
inc eax
mov byte [esp + 0x19], 0
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x34]
jl 0x48c3d4
jmp 0x48c438
cmp byte [esp + 0x21], 0
je 0x48c607
cmp ebx, 1
jge 0x48c4d0
test al, al
mov eax, dword [esp + 0x2c]
je 0x48c4a5
and eax, 0xf8f8f8f8
xor esi, esi
test ecx, ecx
jle 0x48c2d1
nop
mov edi, dword [edx + esi*4]
and edi, 0xffffff
cmp edi, eax
jne 0x48c5ec
inc esi
cmp esi, ecx
jl 0x48c4b0
mov byte [esp + 0x22], 1
jmp 0x48c755
test al, al
je 0x48c4e2
mov al, pe_nt_image_headers32
and byte [esp + 0x16], al
and byte [esp + 0x15], al
and byte [esp + 0x13], al
mov dl, byte [esp + 0x16]
movzx edi, dl
cmp ebx, edi
jle 0x48c4f1
xor dl, dl
jmp 0x48c4f3
sub dl, bl
movzx eax, byte [esp + 0x15]
mov byte [esp + 0x18], dl
mov dword [esp + 0x4c], eax
cmp ebx, eax
jle 0x48c50b
mov byte [esp + 0x17], 0
jmp 0x48c515
mov al, byte [esp + 0x15]
sub al, bl
mov byte [esp + 0x17], al
movzx esi, byte [esp + 0x13]
cmp ebx, esi
jle 0x48c525
mov byte [esp + 0x14], 0
jmp 0x48c52f
mov al, byte [esp + 0x13]
sub al, bl
mov byte [esp + 0x14], al
mov eax, 0xff
sub eax, edi
cmp ebx, eax
jle 0x48c541
mov byte [esp + 0x16], 0xff
jmp 0x48c54f
mov ecx, dword [esp + 0x1c]
mov al, bl
add al, byte [esp + 0x16]
mov byte [esp + 0x16], al
mov eax, 0xff
sub eax, dword [esp + 0x4c]
cmp ebx, eax
jle 0x48c563
mov byte [esp + 0x15], 0xff
jmp 0x48c571
mov ecx, dword [esp + 0x1c]
mov al, bl
add al, byte [esp + 0x15]
mov byte [esp + 0x15], al
mov eax, 0xff
sub eax, esi
cmp ebx, eax
jle 0x48c583
mov byte [esp + 0x13], 0xff
jmp 0x48c58b
add bl, byte [esp + 0x13]
mov byte [esp + 0x13], bl
xor esi, esi
test ecx, ecx
jle 0x48c2d1
jmp 0x48c5a4
mov dl, byte [esp + 0x18]
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + esi*4]
mov ecx, eax
mov ebx, eax
shr ecx, 0x10
shr ebx, 8
cmp cl, dl
jb 0x48c5e8
cmp cl, byte [esp + 0x16]
ja 0x48c5e8
cmp bl, byte [esp + 0x17]
jb 0x48c5e8
cmp bl, byte [esp + 0x15]
ja 0x48c5e8
cmp al, byte [esp + 0x14]
jb 0x48c5e8
cmp al, byte [esp + 0x13]
ja 0x48c5e8
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x48c5a0
mov byte [esp + 0x22], 1
jmp 0x48c755
mov edx, dword [esp + 0x38]
mov eax, dword [edx + esi*4]
and eax, 0xffffff
mov dword [esp + 0x50], eax
mov byte [esp + 0x19], 1
mov byte [esp + 0x22], 1
jmp 0x48c755
cmp ebx, 1
jge 0x48c643
test al, al
mov eax, dword [esp + 0x2c]
je 0x48c619
and eax, 0xf8f8f8f8
xor esi, esi
test ecx, ecx
jle 0x48c2d1
mov edi, dword [edx + esi*4]
and edi, 0xffffff
cmp edi, eax
je 0x48c2cc
inc esi
cmp esi, ecx
jl 0x48c623
mov byte [esp + 0x22], 1
jmp 0x48c755
test al, al
je 0x48c655
mov al, pe_nt_image_headers32
and byte [esp + 0x16], al
and byte [esp + 0x15], al
and byte [esp + 0x13], al
mov dl, byte [esp + 0x16]
movzx edi, dl
cmp ebx, edi
jle 0x48c664
xor dl, dl
jmp 0x48c666
sub dl, bl
movzx eax, byte [esp + 0x15]
mov byte [esp + 0x18], dl
mov dword [esp + 0x4c], eax
cmp ebx, eax
jle 0x48c67e
mov byte [esp + 0x17], 0
jmp 0x48c688
mov al, byte [esp + 0x15]
sub al, bl
mov byte [esp + 0x17], al
movzx esi, byte [esp + 0x13]
cmp ebx, esi
jle 0x48c698
mov byte [esp + 0x14], 0
jmp 0x48c6a2
mov al, byte [esp + 0x13]
sub al, bl
mov byte [esp + 0x14], al
mov eax, 0xff
sub eax, edi
cmp ebx, eax
jle 0x48c6b4
mov byte [esp + 0x16], 0xff
jmp 0x48c6c2
mov ecx, dword [esp + 0x1c]
mov al, bl
add al, byte [esp + 0x16]
mov byte [esp + 0x16], al
mov eax, 0xff
sub eax, dword [esp + 0x4c]
cmp ebx, eax
jle 0x48c6d6
mov byte [esp + 0x15], 0xff
jmp 0x48c6e4
mov ecx, dword [esp + 0x1c]
mov al, bl
add al, byte [esp + 0x15]
mov byte [esp + 0x15], al
mov eax, 0xff
sub eax, esi
cmp ebx, eax
jle 0x48c6f6
mov byte [esp + 0x13], 0xff
jmp 0x48c6fe
add bl, byte [esp + 0x13]
mov byte [esp + 0x13], bl
xor esi, esi
test ecx, ecx
jle 0x48c2d1
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + esi*4]
mov ecx, eax
mov ebx, eax
shr ecx, 0x10
shr ebx, 8
cmp cl, dl
jb 0x48c743
cmp cl, byte [esp + 0x16]
ja 0x48c73f
cmp bl, byte [esp + 0x17]
jb 0x48c73f
cmp bl, byte [esp + 0x15]
ja 0x48c73f
cmp al, byte [esp + 0x14]
jb 0x48c73f
cmp al, byte [esp + 0x13]
jbe 0x48c2cc
mov dl, byte [esp + 0x18]
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x48c708
mov byte [esp + 0x22], 1
jmp 0x48c755
mov esi, dword [esp + 0x1c]
cmp byte [esp + 0x1a], 0
je 0x48c76d
mov edx, dword [esp + 0x40]
push edx
call dword [sym.imp.GDI32.dll_DeleteDC]
jmp 0x48c77a
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
push eax
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
mov edi, dword [esp + 0x58]
test edi, edi
je 0x48c799
mov eax, dword [esp + 0x68]
test eax, eax
je 0x48c792
push eax
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
push edi
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp byte [esp + 0x20], 0
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
je 0x48c7b1
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x48c7b1
push eax
call edi
mov eax, dword [esp + 0x54]
test eax, eax
je 0x48c7bc
push eax
call edi
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x48c7cd
push eax
call fcn.004c57e5
add esp, 4
mov eax, dword [esp + 0x60]
test eax, eax
je 0x48c7de
push eax
call fcn.004c57e5
add esp, 4
cmp byte [esp + 0x22], 0
jne 0x48c803
mov eax, dword [0x5166e0]
push 0x18
push 0
push 2
call fcn.00401590
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
cmp byte [ebp + 0x24], 0
jne 0x48c8e1
cmp byte [esp + 0x19], 0
je 0x48c8ed
cmp dword [esp + 0x30], 3
mov edi, dword [esp + 0x24]
je 0x48c834
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov eax, esi
call fcn.00488830
mov esi, eax
mov ebx, dword [esp + 0x50]
mov eax, esi
cdq
idiv edi
cmp byte [esp + 0x1a], 0
je 0x48c84f
mov ecx, dword [ebp + 0x10]
add edx, dword [ebp + 0xc]
lea esi, [eax + ecx]
jmp 0x48c85f
sub edx, dword [esp + 0x44]
sub eax, dword [esp + 0x48]
add edx, dword [ebp + 0xc]
add eax, dword [ebp + 0x10]
mov esi, eax
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x48c875
mov eax, edx
cdq
push 0x18
push edx
push eax
mov eax, ecx
call fcn.00401590
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x48c88b
mov eax, esi
cdq
push 0x18
push edx
push eax
mov eax, ecx
call fcn.00401590
mov esi, dword [esp + 0x74]
test esi, esi
je 0x48c8e1
cmp ebx, 0xffffffff
je 0x48c8e1
cmp byte [esp + 0x1b], 0
je 0x48c8a3
mov eax, ebx
jmp 0x48c8aa
mov ecx, ebx
call fcn.00430c70
push eax
lea edx, [esp + 0x94]
push str.0x_06X
push edx
call fcn.004c52a7
add esp, 0xc
push 1
push 0
push 0xffffffffffffffff
lea eax, [esp + 0x9c]
push eax
push esi
call fcn.004aa2a0
test eax, eax
jne 0x48c8e1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
cmp byte [esp + 0x19], 0
mov eax, 0x4e1a5c
jne 0x48c8f2
mov eax, 0x4e6784
mov ecx, dword [0x5166e0]
push 1
push 0
push 0xffffffffffffffff
push eax
push ecx
call fcn.004aa2a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
mov edx, dword [ebp + 0xc]
cmp edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
setg byte [esp + 0x23]
cmp eax, dword [ebp + 0x18]
setg byte [esp + 0x21]
test ebx, ebx
jle 0x48c9d0
mov cl, byte [esp + 0x16]
movzx esi, cl
cmp ebx, esi
jle 0x48c93e
mov byte [esp + 0x18], 0
jmp 0x48c946
mov al, cl
sub al, bl
mov byte [esp + 0x18], al
mov dl, byte [esp + 0x15]
movzx eax, dl
cmp ebx, eax
jle 0x48c958
mov byte [esp + 0x17], 0
jmp 0x48c960
mov al, dl
sub al, bl
mov byte [esp + 0x17], al
movzx edi, byte [esp + 0x13]
cmp ebx, edi
jle 0x48c970
mov byte [esp + 0x14], 0
jmp 0x48c97a
mov al, byte [esp + 0x13]
sub al, bl
mov byte [esp + 0x14], al
mov eax, 0xff
sub eax, esi
cmp ebx, eax
jle 0x48c98c
mov byte [esp + 0x16], 0xff
jmp 0x48c993
lea eax, [ecx + ebx]
mov byte [esp + 0x16], al
movzx eax, dl
mov ecx, 0xff
sub ecx, eax
cmp ebx, ecx
jle 0x48c9a8
mov byte [esp + 0x15], 0xff
jmp 0x48c9af
lea eax, [edx + ebx]
mov byte [esp + 0x15], al
mov ecx, dword [ebp + 0x18]
mov edx, 0xff
sub edx, edi
cmp ebx, edx
jle 0x48c9c4
mov byte [esp + 0x13], 0xff
jmp 0x48c9d3
mov al, bl
add al, byte [esp + 0x13]
mov byte [esp + 0x13], al
jmp 0x48c9d3
mov ecx, dword [ebp + 0x18]
mov esi, dword [ebp + 0xc]
mov edi, dword [esp + 0x74]
mov al, byte [esp + 0x23]
mov edi, edi
test al, al
je 0x48c9ee
xor eax, eax
cmp esi, dword [ebp + 0x14]
setge al
jmp 0x48c9f6
xor eax, eax
cmp esi, dword [ebp + 0x14]
setle al
test eax, eax
je 0x48ca3c
mov edi, dword [ebp + 0x10]
lea ecx, [ecx]
xor eax, eax
cmp byte [esp + 0x21], al
je 0x48ca0f
cmp edi, ecx
setge al
jmp 0x48ca14
cmp edi, ecx
setle al
test eax, eax
je 0x48cabd
mov eax, dword [esp + 0x40]
push edi
push esi
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
cmp ebx, 1
jge 0x48ca74
cmp eax, dword [ebp + 0x1c]
jne 0x48caa8
mov byte [esp + 0x19], 1
mov eax, dword [esp + 0x40]
push eax
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp byte [esp + 0x19], 0
jne 0x48cad1
mov ecx, dword [0x5166e0]
push 1
push 0
push 0xffffffffffffffff
push 0x4e6784
push ecx
call fcn.004aa2a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
mov ecx, eax
mov edx, eax
shr edx, 0x10
shr ecx, 8
mov byte [esp + 0x22], dl
cmp al, byte [esp + 0x18]
jb 0x48caa8
cmp al, byte [esp + 0x16]
ja 0x48caa8
cmp cl, byte [esp + 0x17]
jb 0x48caa8
cmp cl, byte [esp + 0x15]
ja 0x48caa8
mov al, dl
cmp al, byte [esp + 0x14]
jb 0x48caa8
cmp al, byte [esp + 0x13]
jbe 0x48ca37
mov ecx, dword [ebp + 0x18]
xor eax, eax
cmp byte [esp + 0x21], al
sete al
lea edi, [edi + eax*2 - 1]
jmp 0x48ca00
mov al, byte [esp + 0x23]
xor edx, edx
test al, al
sete dl
lea esi, [esi + edx*2 - 1]
jmp 0x48c9e0
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x48caeb
mov eax, esi
sub eax, dword [esp + 0x44]
push 0x18
cdq
push edx
push eax
mov eax, ecx
call fcn.00401590
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x48cb05
mov eax, edi
sub eax, dword [esp + 0x48]
push 0x18
cdq
push edx
push eax
mov eax, ecx
call fcn.00401590
mov edx, dword [0x5166e0]
push 1
push 0
push 0xffffffffffffffff
push 0x4e1a5c
push edx
call fcn.004aa2a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20