Function at 0x42c1b1
Capabilities:
Delete file
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x270
push ebx
mov dword [ebp - 0x28], 0xfffffff6
xor eax, eax
mov dword [ebp - 0x1c], 0x4e6dc660
push esi
mov dword [ebp - 0x18], eax
push edi
mov dword [ebp - 0x2c], 0x9e63
mov dword [ebp - 0x24], 0xffffffff
push 3
mov dword [ebp - 0x20], 0xfffffff9
mov byte [ebp - 0x31], dl
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0xc], eax
pop esi
jmp 0x42c204
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0xd4], 0xa35f394
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x42c1f3
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0xd4], ecx
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], eax
jne 0x42c220
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd4]
xor ebx, ebx
mov ecx, dword [ebp - 0x2c]
inc ebx
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0x2c]
imul edx, ecx
mov ecx, dword [ebp - 0x18]
dec dword [ebp - 0x18]
cmp ecx, edx
mov edx, ebx
cmovl edx, eax
xor ecx, ecx
cmp edx, 0xbca9
setge cl
dec ecx
je 0x42c277
cmp dword [ebp - 0xcc], eax
je 0x42c277
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x42c2ab
push eax
push 0x15d4
push eax
call dword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
xor eax, eax
jmp 0x42c2ab
mov dword [ebp - 0x24], 0x6fc75dfc
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], 4
mov dword [ebp - 0xc], eax
jmp 0x42c2a2
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x228], 0xacb085bb
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x42c291
inc dword [ebp - 0x20]
mov dword [ebp - 0x10], 0xc0f8067e
mov dword [ebp - 0x14], 0x73e7ed6f
mov dword [ebp - 0x18], 0xfffffffd
cmp dword [ebp - 0x10], eax
jne 0x42c2dd
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x14], 0xffff
sbb ecx, ecx
inc ecx
add ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x14], ecx
je 0x42c2df
mov eax, ebx
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
xor ecx, ecx
cmp eax, 0x3aeb
mov eax, dword [ebp - 0x18]
setle cl
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x18]
jg 0x42c3d8
push esi
lea ecx, [ebp - 0xe4]
call fcn.0042be3e
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x42c32f
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xe4]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x42c320
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 2
jg 0x42c3cd
push 2
pop esi
mov dword [ebp - 0x14], eax
jmp 0x42c368
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42c365
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x42c349
mov dword [ebp - 0x14], eax
jmp 0x42c3b9
mov dword [ebp - 0x18], eax
jmp 0x42c3b1
mov dword [ebp - 0xc], 0xfffffff9
mov dword [ebp - 0xc], eax
jmp 0x42c39b
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0xe4]
push 2
mov ecx, dword [edx + ecx*4]
mov dword [edx + esi*4], ecx
inc dword [ebp - 0xc]
pop esi
cmp dword [ebp - 0xc], esi
jle 0x42c383
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xe4]
cmp dword [ecx + edx*4], eax
jne 0x42c3b6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x42c377
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x42c372
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x42c344
push 3
pop esi
lea ecx, [ebp - 0xe4]
jmp 0x42c4c4
push 4
lea ecx, [ebp - 0xfc]
call fcn.0042be3e
mov dword [ebp - 0x2c], 0x1300ca3c
xor eax, eax
mov dword [ebp - 0x28], 0xcbfb41ce
mov dword [ebp - 0xc], eax
jmp 0x42c40d
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xfc]
mov dword [ecx + edx*4], 0x4042
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x42c3fa
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], eax
jl 0x42c4be
mov dword [ebp - 0x1c], 0xfffffff8
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], eax
jl 0x42c4b5
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ecx + edx*4]
sub edx, dword [ecx + esi*4]
neg edx
sbb edx, edx
inc edx
mov dword [ebp - 0x2c], edx
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xfc]
mov dword [ecx + edx*4], esi
cmp esi, 0x3de37d66
jl 0x42c46d
mov edx, ebx
cmp dword [ebp - 0x10], eax
jne 0x42c46f
mov edx, eax
mov ecx, dword [ebp - 0x1c]
xor ebx, ebx
cmp ecx, edx
mov ecx, dword [ebp - 0x2c]
push 0
setg bl
xor edx, edx
cmp ebx, ecx
mov ecx, 0xa9e1a0
setle dl
xor ebx, ebx
cmp edx, 0x3f0e
setne bl
sub ecx, ebx
pop ecx
setns cl
xor edx, edx
cmp ecx, 0xffffffff
push 1
setl dl
imul edx, dword [ebp - 0x28]
pop ebx
mov dword [ebp - 0x18], edx
dec dword [ebp - 0x10]
jns 0x42c432
push 3
pop esi
dec dword [ebp - 0x14]
jns 0x42c41f
lea ecx, [ebp - 0xfc]
call fcn.0042bf10
mov dword [ebp - 0x14], 0x2887cf2e
lea ecx, [ebp - 0x1c4]
mov dword [ebp - 0x18], 0x2e7c
mov dword [ebp - 0x24], esi
xor esi, esi
mov dword [ebp - 0x24], 0x2c78ef8a
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], 0x6ac116e0
push ebx
call fcn.0042be3e
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x42c520
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c4]
mov dword [ecx + edx*4], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x42c511
push 3
mov dword [ebp - 0x10], eax
pop esi
jmp 0x42c53e
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x25c], 0x742cc323
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x42c52d
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x42c567
push 0x13fc
push 0xe50
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
xor eax, eax
cmp dword [ebp - 0x14], eax
je 0x42c572
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x18], eax
je 0x42c670
push dword [ebp + 8]
movdqa xmm0, xmmword [0xaa5a70]
lea ecx, [ebp - 0x1c4]
push ecx
lea ecx, [ebp - 0x1d4]
mov dword [ebp - 0xf0], eax
push ecx
push eax
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0xec], eax
movdqu xmmword [ebp - 0x1d4], xmm0
mov dword [ebp - 0xe8], eax
call fcn.0042bf81
mov dword [ebp - 0x24], 0xfffffff8
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x24], 0xccaea0a9
mov dword [ebp - 0x24], 0xffffffff
push esi
call fcn.0042be3e
xor eax, eax
mov dword [ebp - 0x1c], 0x631a
mov dword [ebp - 0xc], eax
jmp 0x42c616
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x12c]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x42c607
cmp dword [ebp - 0x18], eax
jne 0x42c626
dec dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
xor ebx, ebx
mov ecx, dword [ebp - 0x14]
cmp edx, ecx
mov ecx, dword [ebp - 0x12c]
setne bl
mov dword [ecx], ebx
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x42c658
push 0x954
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
lea ecx, [ebp - 0x12c]
call fcn.0042bf10
lea ecx, [ebp - 0xf0]
call fcn.0042bf10
jmp 0x42c6a3
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x24], 0x379a1d12
mov dword [ebp - 0x2c], 0x116104db
mov dword [ebp - 0xc], eax
jmp 0x42c69b
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x244], 0x67d3d8e1
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], esi
jl 0x42c68a
dec dword [ebp - 0x2c]
lea ecx, [ebp - 0x1c4]
call fcn.0042bf10
push dword [ebp + 8]
movdqa xmm0, xmmword [0xaa5a80]
lea ecx, [ebp - 0x1d4]
mov ebx, dword [0x4b19fc]
xor eax, eax
push ecx
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 0x2c], ebx
push ecx
push eax
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x94], eax
movdqu xmmword [ebp - 0x1e4], xmm0
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], eax
call fcn.0042bf81
mov eax, 0xb22124f8
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x3c], 0xffff
mov dword [ebp - 0x1c], 0xc3e1b8d8
mov dword [ebp - 0x18], 0xfffffffb
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], esi
jg 0x42c8ec
mov edx, dword [ebp - 0x94]
xor esi, esi
mov dword [ebp - 0x10], edx
inc esi
mov dword [ebp - 0x14], 0xeb987642
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], 0xebdab6ac
mov dword [ebp - 0xc], eax
jmp 0x42c75f
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x50], 0xfffffffa
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x42c751
cmp dword [edx + 8], eax
jne 0x42c7d0
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x50]
sub ecx, 0x1d7feae2
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, 0x582d517d
mov dword [ebp - 0x38], ecx
je 0x42c78d
mov edx, esi
cmp dword [ebp - 0x3c], eax
jne 0x42c78f
mov edx, eax
mov ecx, dword [ebp - 0x4c]
xor ebx, ebx
add edx, 0x5243b9c3
cmp edx, ecx
setl bl
mov dword [ebp - 0x1c], ebx
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x78]
neg ecx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add ecx, 0x942796a5
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], eax
jmp 0x42c8ca
mov dword [ebp - 0x28], 6
mov dword [ebp - 0xc], eax
jmp 0x42c800
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x210], esi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x42c7f3
mov ecx, dword [ebp - 0x14]
cmp dword [ebp + ecx*4 - 0x50], eax
je 0x42c82e
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42c8c4
push 0xe9e
call dword [sym.imp.USER32.dll_GetSysColor]
xor eax, eax
jmp 0x42c8c4
mov ecx, dword [ebp - 0x14]
cmp dword [ebp + ecx*4 - 0x50], eax
jne 0x42c8d3
mov edi, dword [ebp - 0x14]
xor ebx, ebx
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x94]
mov esi, dword [ebp - 0x94]
mov ecx, dword [ecx + edx*4]
mov dword [esi + edi*4 + 8], ecx
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp + ecx*4 - 0x50]
cmp ecx, 0xb5c0
mov ecx, dword [ebp - 0x14]
setle bl
xor edx, edx
mov ecx, dword [ebp + ecx*4 - 0x50]
cmp ebx, ecx
setl dl
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp + ecx*4 - 0x50]
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp + ecx*4 - 0x50]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp + ecx*4 - 0x50]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp + ecx*4 - 0x50]
cmp dword [ebp - 0x38], eax
jne 0x42c8b6
cmp dword [ebp - 0x18], eax
jne 0x42c8b6
xor esi, esi
mov ecx, eax
inc esi
jmp 0x42c8bb
xor esi, esi
inc esi
mov ecx, esi
imul ecx, ecx, 0xffff
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x78]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x42c7e7
inc dword [ebp - 0x6c]
cmp dword [ebp - 0x6c], 3
mov edx, dword [ebp - 0x10]
jle 0x42c738
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
mov ebx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x94]
call fcn.0042bf10
mov esi, dword [ebp + 8]
xor eax, eax
push 0xfffffffffffffffe
pop edx
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
cmp byte [ebp - 0x31], al
je 0x42cb1b
cmp ebx, 1
jne 0x42cb1b
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x24], 0xb1b0
mov dword [ebp - 0x10], 0xa
cmp dword [ebp - 0x10], 0x1a
jge 0x42c97b
mov dword [ebp - 0x1c], 0xf390197f
mov dword [ebp - 0x28], 0x41b66baf
mov dword [ebp - 0xc], eax
jmp 0x42c957
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0xd8], 0x95e1
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x42c946
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jl 0x42c970
mov dword [ebp - 0x28], 0x5a9576c3
dec dword [ebp - 0x1c]
jns 0x42c964
mov ecx, dword [ebp - 0xd8]
inc dword [ebp - 0x10]
jmp 0x42c92d
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfff6
je 0x42c98d
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x1c], 0x8885
mov dword [ebp - 0x24], 0xfffffff9
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x18], 0xd9ddcef9
mov dword [ebp - 0x20], 0x4456e348
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x24], 0xb0ae28de
mov dword [ebp - 0x24], 0xb1510afb
mov dword [ebp - 0x24], 0x378470ed
mov dword [ebp - 0x30], 0xeb8e136d
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x24], 0x311c3fc0
mov dword [ebp - 0x38], 0x2a42bbd4
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0x20], 0xfffffff8
mov dword [ebp - 0x28], 0x55fd0a32
push 2
mov dword [esi + 8], 4
call fcn.0042be3e
mov dword [ebp - 0x20], 0xff32
lea ecx, [ebp - 0x198]
push 4
call fcn.0042be3e
xor eax, eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], eax
jmp 0x42ca4e
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x26c], 0x2f617a94
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x42ca3d
mov dword [ebp - 0x14], eax
jmp 0x42ca68
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18c]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x42ca59
mov dword [ebp - 0x14], eax
jmp 0x42ca86
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x198]
mov dword [eax + ecx*4], 0xd2c6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x42ca73
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18c]
sub ecx, eax
inc dword [edx + 4]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp dword [edx + 4], ecx
sete al
cmp eax, 0xbad2ce6c
mov eax, dword [ebp - 0x198]
sbb edx, edx
xor ecx, ecx
neg edx
add edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x30]
cmp edx, eax
setle cl
xor edx, edx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
lea ecx, [ebp - 0x198]
setg dl
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
call fcn.0042bf10
lea ecx, [ebp - 0x18c]
call fcn.0042bf10
mov dword [esi + 0xc], 0x4b19fc
xor eax, eax
jmp 0x42cb1e
xor ebx, ebx
inc ebx
mov dword [ebp - 0x14], 0xfffffffc
mov dword [ebp - 0x10], 0xfffffff6
mov dword [ebp - 0xc], eax
jmp 0x42cb3b
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x7c], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x42cb31
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42cb5c
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SelectClipRgn]
xor eax, eax
mov dword [ebp - 0x14], eax
jmp 0x42cbde
mov ecx, dword [ebp - 0x14]
imul ecx, dword [ebp + ecx*4 - 0x7c], 0x782a
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x10], eax
jmp 0x42cbd6
mov dword [ebp - 0xc], 0xfffffffe
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42cb99
push eax
push eax
push eax
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CreateEnhMetaFileW]
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x42cbce
mov dword [ebp - 0x18], eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42cbb3
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x42cbc6
mov ecx, dword [ebp - 0x18]
mov dword [ebp + ecx*4 - 0x7c], 0xfffffffc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x42cbb8
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x42cb9e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x42cb74
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x42cb61
mov ebx, dword [ebp - 0x44]
cmp ebx, dword [ebp - 0x2c]
jge 0x42d9da
push 2
lea ecx, [ebp - 0x108]
call fcn.0042be3e
xor esi, esi
mov dword [ebp - 0x10], esi
jmp 0x42cc1a
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x108]
mov dword [eax + ecx*4], 0xdf99ff60
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x42cc07
xor edi, edi
mov dword [ebp - 0x10], esi
inc edi
cmp dword [ebp - 0x10], 4
jge 0x42cc3b
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x238], edi
inc dword [ebp - 0x10]
jmp 0x42cc26
mov esi, dword [ebp - 0x108]
mov dword [esi + 4], 0xfffffff1
push 3
lea ecx, [ebp - 0x174]
call fcn.0042be3e
mov dword [ebp - 0x30], 0xa21e1d82
lea ecx, [ebp - 0x144]
push 3
call fcn.0042be3e
mov dword [ebp - 0x28], 0xd1b71362
xor eax, eax
mov dword [ebp - 0x30], 0x64f943af
mov dword [ebp - 0x10], eax
jmp 0x42cc91
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x174]
mov dword [ecx + edx*4], 0x46507e67
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x42cc7e
mov dword [ebp - 0x10], eax
jmp 0x42ccaf
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x144]
mov dword [ecx + edx*4], 0x1e0c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x42cc9c
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x42ccd0
push 0xf3
push eax
push 0x542
call dword [sym.imp.KERNEL32.dll_OpenProcess]
xor eax, eax
cmp dword [esi + 4], edi
jne 0x42cce1
mov ecx, dword [ebp - 0x108]
cmp dword [ecx], eax
jne 0x42cce1
mov edi, eax
mov ecx, dword [ebp - 0x174]
xor edx, edx
cmp dword [ecx], edi
mov ecx, dword [esi + 4]
setle dl
add ecx, edx
mov dword [ebp - 0x234], edx
mov dword [ebp - 0x30], ecx
je 0x42cd0a
cmp dword [esi + 4], eax
je 0x42cd0a
xor edi, edi
inc edi
mov ecx, edi
jmp 0x42cd0f
xor edi, edi
mov ecx, eax
inc edi
mov eax, dword [ebp - 0x144]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x144]
mov eax, dword [ebp - 0x28]
mov eax, dword [esi + 4]
mov dword [ebp - 0x30], eax
call fcn.0042bf10
lea ecx, [ebp - 0x174]
call fcn.0042bf10
dec dword [esi + 4]
cmp dword [esi + 4], 0xffffffec
jg 0x42cc48
lea ecx, [ebp - 0x108]
call fcn.0042bf10
mov edi, 0x4b1a00
test ebx, ebx
jle 0x42d388
xor eax, eax
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x120]
mov dword [ebp - 0xc], 0x8ab659d5
mov dword [ebp - 0x20], 0xbc1c234a
push 4
call fcn.0042be3e
xor eax, eax
mov dword [ebp - 0x20], 0x3d076c56
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], eax
jmp 0x42cd9e
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x15c], 0x1213072c
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x42cd8d
mov dword [ebp - 0x10], eax
jmp 0x42cdbc
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x120]
mov dword [ecx + edx*4], 0xd3e9
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x42cda9
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
shl ecx, 2
neg ecx
sbb ecx, ecx
xor ebx, ebx
inc ecx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
mov ecx, dword [ebp - 0x120]
setle bl
xor esi, esi
mov dword [ebp - 0x15c], ebx
inc esi
mov dword [ecx + 8], ebx
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp - 0x15c], eax
je 0x42ce08
mov eax, esi
cmp eax, 0xa67f6a19
mov eax, dword [ebp - 0x18]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp eax, ecx
setg dl
xor eax, eax
cmp edx, 0xffffffff
setle al
cmp eax, 0xfffffff9
sbb ecx, ecx
xor ebx, ebx
inc ecx
imul ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
setl bl
xor edx, edx
cmp eax, ecx
setg dl
xor ecx, ecx
cmp edx, ebx
setle cl
xor eax, eax
cmp ecx, esi
lea ecx, [ebp - 0x120]
setge al
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x30], eax
call fcn.0042bf10
mov eax, dword [edi]
mov dword [ebp - 0x18], 0xe77dd688
mov dword [ebp - 0x20], 0xe57f
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x20], 0x8c556123
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xc], eax
jmp 0x42cea1
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x1ac], 0x63d18804
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x42ce90
cmp dword [ebp - 0x18], eax
je 0x42cef6
mov ecx, dword [ebp - 0x18]
xor ebx, ebx
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1a8], ecx
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
add ecx, 0x3e76e5b1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
push 7
setge bl
pop ecx
cmp ecx, ebx
sbb ecx, ecx
xor ebx, ebx
inc ecx
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
mov ecx, esi
setl bl
cmp ebx, dword [ebp - 0x18]
jle 0x42cef8
mov ecx, eax
xor ebx, ebx
cmp ecx, 0xecb302af
mov ecx, dword [ebp - 0x18]
setne bl
xor edx, edx
cmp ecx, ebx
setne dl
cmp edx, 0x833fcb50
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x30], ecx
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x42cf31
push eax
call dword [sym.imp.USER32.dll_SetCursor]
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0xc], eax
inc ebx
jmp 0x42cf47
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x58], 0xc75b57fd
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x42cf39
push 7
pop ecx
mov dword [ebp - 0x58], ecx
jmp 0x42cf6a
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42cf67
push eax
push eax
call dword [sym.imp.USER32.dll_LoadIconA]
xor eax, eax
dec dword [ebp - 0x58]
cmp dword [ebp - 0x58], 0xfffffffd
jge 0x42cf54
mov eax, dword [edi + 4]
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 0x18], 0x648261f
mov dword [ebp - 0x40], 0x23b4709b
push ebx
mov dword [ebp - 0x54], eax
call fcn.0042be3e
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x42cfa6
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1b8]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ebx
jl 0x42cf97
mov dword [ebp - 0x18], 0xffffffe2
cmp dword [ebp - 0x18], 0xffffffe8
jge 0x42d05d
jmp 0x42cfc0
xor eax, eax
push dword [ebp + 8]
movdqa xmm0, xmmword [0xaa5a20]
lea ecx, [ebp - 0x1f4]
push ecx
lea ecx, [ebp - 0x204]
mov dword [ebp - 0xc8], eax
push ecx
push eax
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xc4], eax
movdqu xmmword [ebp - 0x204], xmm0
mov dword [ebp - 0xc0], eax
call fcn.0042bf81
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x42d013
mov ecx, dword [ebp - 0xc]
mov dword [ebp + ecx*4 - 0x250], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x42d006
mov ecx, dword [ebp - 0xc8]
mov dword [ecx + 4], 9
mov byte [ebp - 5], al
cmp byte [ebp - 5], al
je 0x42d045
push 0x36e
push 0x121d
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EnableScrollBar]
lea ecx, [ebp - 0xc8]
call fcn.0042bf10
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffe8
jl 0x42cfbe
lea ecx, [ebp - 0x1b8]
call fcn.0042bf10
mov dword [ebp - 0x14], 0xffffffff
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x18], 0xfaeb382e
xor esi, esi
mov dword [ebp - 0x1c], 0xb6fb96f
add edi, 8
mov dword [ebp - 0xc], 0x83adeb94
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x40], 0x8487
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x20], 0xbc5f2630
mov dword [ebp - 0x3c], ebx
push ebx
call fcn.0042be3e
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x42d0c5
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x48], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x42d0b7
mov dword [ebp - 0x10], eax
jmp 0x42d0e2
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1a4]
mov dword [ecx + edx*4], 0xfad3
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x42d0cf
cmp dword [ebp - 0x14], eax
jne 0x42d108
mov esi, dword [ebp - 0x14]
xor edx, edx
add esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
cmp esi, ecx
setne dl
mov dword [ebp - 0x18], edx
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x82a1
mov ecx, dword [ebp - 0x1c]
setle dl
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
imul edx, ecx
add edx, dword [ebp - 0x14]
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], eax
jl 0x42d2f2
mov dword [ebp - 0x40], 0xfffffff6
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x38], 0xfcc72fdd
mov dword [ebp - 0x10], 0xfffffff8
push 4
call fcn.0042be3e
push dword [ebp + 8]
movdqa xmm0, xmmword [0xaa5a40]
lea ecx, [ebp - 0x1e4]
push ecx
xor eax, eax
mov dword [ebp - 0x40], 0xd78db584
lea ecx, [ebp - 0x1f4]
mov dword [ebp - 0xb8], eax
push ecx
push eax
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xb4], eax
movdqu xmmword [ebp - 0x1f4], xmm0
mov dword [ebp - 0xb0], eax
call fcn.0042bf81
mov eax, 0xfffc
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x42d1d3
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x138]
mov dword [ecx + edx*4], 0x91b86007
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x42d1c0
mov ecx, dword [ebp - 0x30]
xor ebx, ebx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + ecx*4 - 0x48]
imul edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x138]
cmp dword [ecx + 8], edx
mov ecx, dword [ebp - 0x18]
setge bl
mov dword [ebp - 0xc], ebx
xor ebx, ebx
cmp dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x48]
setge bl
xor edx, edx
cmp ebx, ecx
setne dl
add edx, 3
cmp edx, 0xffffffff
jge 0x42d224
cmp dword [ebp - 0x20], eax
jne 0x42d224
xor ebx, ebx
mov esi, eax
inc ebx
jmp 0x42d229
xor ebx, ebx
inc ebx
mov esi, ebx
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + ecx*4 - 0x48]
mov ecx, dword [ebp - 0x3c]
sub ecx, esi
neg ecx
sbb ecx, ecx
inc ecx
add edx, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp + ecx*4 - 0x48], edx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x38]
sub esi, 0x73f1
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, ecx
setge dl
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0xffffffff
ja 0x42d26d
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x1c]
sub edx, ecx
mov ecx, dword [ebp - 0x28]
dec dword [esi + 4]
neg edx
mov esi, dword [esi + 4]
sbb edx, edx
inc edx
sub esi, edx
xor edx, edx
cmp esi, ecx
setl dl
cmp edx, 0x832f
jne 0x42d2a6
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x48]
imul ecx, dword [ebp - 0x1c]
cmp ecx, 0x1377
jl 0x42d2c2
mov edx, eax
cmp dword [ebp - 0x38], eax
je 0x42d2c4
mov edx, ebx
mov ecx, dword [ebp - 0x3c]
xor eax, eax
neg edx
cmp edx, ecx
lea ecx, [ebp - 0xb8]
setl al
mov dword [ebp - 0x20], eax
call fcn.0042bf10
lea ecx, [ebp - 0x138]
call fcn.0042bf10
dec dword [ebp - 0x14]
jns 0x42d147
lea ecx, [ebp - 0x1a4]
call fcn.0042bf10
cmp dword [ebp - 0x54], 0
jne 0x42d306
add edi, 8
xor eax, eax
mov dword [ebp - 0x10], 0xfffffff8
mov dword [ebp - 0x1c], eax
jmp 0x42d321
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + ecx*4 - 0x220], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x42d314
mov dword [ebp - 0x10], eax
jmp 0x42d339
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x220], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jle 0x42d32c
mov dword [ebp - 0x10], eax
jmp 0x42d376
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42d35d
push 0xaf5
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
xor eax, eax
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42d373
push 0x36e
call dword [sym.imp.USER32.dll_BeginDeferWindowPos]
xor eax, eax
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffee
je 0x42d344
add edi, dword [ebp - 0x24]
dec dword [ebp - 0x44]
jne 0x42cd5e
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 0xfffffffc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], 0x1a
jmp 0x42d414
mov dword [ebp - 0xc], eax
mov dword [ebp - 0xc], 0xffffffff
jmp 0x42d3db
mov dword [ebp - 0x1c], 0xa290be4
mov dword [ebp - 0x1c], 0x1d
jmp 0x42d3d2
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42d3cf
push eax
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
xor eax, eax
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffff2
jle 0x42d3bc
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x42d3ac
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42d411
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push 0x17e6
push 0xbb1
push 0x227c
push 0x1878
xor esi, esi
push esi
call dword [sym.imp.USER32.dll_TrackPopupMenu]
xor eax, eax
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xe
je 0x42d3a0
mov dword [ebp - 0x14], 0xffffffec
cmp dword [ebp - 0x14], 0xe
jle 0x42d467
xor esi, esi
inc esi
mov ebx, dword [edi]
xor eax, eax
mov dword [ebp - 0x14], 0x7e2799ac
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xe
mov dword [ebp - 0x40], ebx
jg 0x42d6a6
mov dword [ebp - 0x10], 0x914d2edc
lea ecx, [ebp - 0x114]
mov dword [ebp - 0xc], esi
push esi
call fcn.0042be3e
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x42d5bb
xor eax, eax
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x150]
mov dword [ebp - 0xc], 0xffffffff
push 2
call fcn.0042be3e
xor esi, esi
mov dword [ebp - 0x1c], esi
jmp 0x42d498
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x150]
mov dword [eax + ecx*4], 0xa67f41b6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x42d485
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, 0xe32883e7
sbb eax, eax
xor edx, edx
inc eax
add eax, dword [ebp - 0x14]
cmp eax, 0x935db5a2
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
setg cl
xor esi, esi
mov dword [ebp - 0x18], ecx
inc esi
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, esi
setle cl
xor edx, edx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setge dl
mov dword [ebp - 0xc], edx
xor edx, edx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edx
je 0x42d52b
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
cmp eax, esi
setl cl
sub ecx, 0x9c78
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
sub ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0xc]
cmp ecx, 0x39b9878f
setl al
xor edx, edx
imul eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setg dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x150]
setl bl
xor ecx, ecx
cmp ebx, dword [eax]
setge cl
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x150]
call fcn.0042bf10
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xe
jle 0x42d465
jmp 0x42d42a
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x114]
mov dword [ecx + edx*4], 0xac196a16
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x42d5a8
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], eax
jmp 0x42d683
mov dword [ebp - 0xc], eax
jmp 0x42d665
mov dword [ebp - 0x18], 9
mov dword [ebp - 0x18], eax
jmp 0x42d604
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42d601
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SaveDC]
xor eax, eax
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jle 0x42d5e2
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], eax
jl 0x42d662
mov dword [ebp - 0x1c], 0xf8b8ae50
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], eax
jl 0x42d65d
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x114]
cmp dword [ecx + edx*4], eax
jne 0x42d65d
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42d658
push eax
push 0x490
push 0x2e0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetViewportExtEx]
xor eax, eax
dec dword [ebp - 0x1c]
jns 0x42d620
dec dword [ebp - 0x18]
jns 0x42d611
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], eax
jle 0x42d5d6
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42d680
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor eax, eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x42d5ce
lea ecx, [ebp - 0x114]
call fcn.0042bf10
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xe
jle 0x42d445
xor eax, eax
add edi, 4
mov dword [ebp - 0xc], 0x76820624
mov dword [ebp - 0x20], edi
mov dword [ebp - 0xc], 0xffffffed
jmp 0x42d6e6
mov dword [ebp - 0x1c], 0x71d976ff
mov dword [ebp - 0x1c], eax
jmp 0x42d6dd
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42d6da
push eax
call dword [sym.imp.USER32.dll_DestroyCursor]
xor eax, eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x13
jl 0x42d6c8
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x17
jne 0x42d6bc
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42d6fb
call dword [sym.imp.USER32.dll_ReleaseCapture]
mov eax, dword [edi]
lea ecx, [ebp - 0xac]
push 3
mov dword [ebp - 0x30], eax
call fcn.0042be3e
or eax, 0xffffffff
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
xor eax, eax
mov dword [ebp - 0x1c], 0x58aae07e
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x1c], eax
jmp 0x42d740
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xac]
mov dword [ecx + edx*4], 0xbbca6318
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x42d72d
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 2
jg 0x42d823
xor esi, esi
mov dword [ebp - 0x44], 4
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x24], 0x32f3f608
push 4
call fcn.0042be3e
mov dword [ebp - 0x24], 0x14b11f38
mov dword [ebp - 0x1c], esi
jmp 0x42d78f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x168]
mov dword [eax + ecx*4], 0xdae974ca
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x42d77c
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + eax*4]
add eax, dword [ecx + edx*4]
neg eax
je 0x42d7ce
mov edi, dword [ebp - 0x60]
xor ecx, ecx
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x64]
cmp dword [edx + edi*4], eax
setne cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x60]
xor edx, edx
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x60]
mov dword [eax], 0x2c9a
mov eax, dword [ebp - 0xac]
cmp dword [eax + ecx*4], 0x2c9a
mov eax, dword [ebp - 0x44]
setge dl
inc dword [ebp - 0x44]
cmp eax, edx
je 0x42d801
xor eax, eax
inc eax
jmp 0x42d803
mov eax, esi
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x168]
call fcn.0042bf10
inc dword [ebp - 0x60]
cmp dword [ebp - 0x60], 2
jle 0x42d755
xor esi, esi
xor eax, eax
inc esi
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x42d8ea
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0x18], 0x5cc7c44d
mov dword [ebp - 0x28], 0x51885a1e
mov dword [ebp - 0x18], eax
jmp 0x42d86e
mov dword [ebp - 0x28], 0xaf9031ea
mov byte [ebp - 5], al
cmp byte [ebp - 5], 0
je 0x42d868
push eax
push eax
push 0x1b78
call dword [sym.imp.ADVAPI32.dll_CopySid]
xor eax, eax
inc dword [ebp - 0x28]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xf
je 0x42d849
mov ecx, dword [ebp - 0x18]
mov edx, 0xfffc
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x28], 0x59515ed
mov ecx, dword [ebp - 0x28]
neg ecx
sbb ecx, ecx
inc ecx
add ecx, dword [ebp - 0x64]
cmp edx, ecx
mov ecx, dword [ebp - 0x5c]
sbb esi, esi
xor edx, edx
neg esi
cmp ecx, esi
mov ecx, dword [ebp - 0x54]
setne dl
xor ebx, ebx
cmp edx, dword [edi + 8]
setl bl
xor edx, edx
imul ecx, ebx
test ecx, ecx
setns dl
xor ecx, ecx
cmp edx, 0xfffd
setne cl
cmp dword [ebp - 0x18], ecx
jge 0x42d8d2
cmp dword [ebp - 0x18], eax
jne 0x42d8d2
xor esi, esi
mov ecx, eax
inc esi
jmp 0x42d8d7
xor esi, esi
inc esi
mov ecx, esi
mov dword [ebp - 0x5c], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x42d836
mov ebx, dword [ebp - 0x40]
lea ecx, [ebp - 0xac]
call fcn.0042bf10
cmp dword [ebp - 0x30], 0
mov ecx, dword [ebp - 0x20]
jne 0x42d9d7
cmp byte [ebp - 0x31], 0
je 0x42d916
cmp dword [ebp - 0x2c], esi
jne 0x42d916
mov edx, dword [ebp + 8]
lea eax, [ebx + 0x10]
add dword [edx + 8], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + 8]
add ecx, 0xc
push ebx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x20], ecx
call fcn.0047ee8a
mov dword [ebp - 0x28], eax
xor eax, eax
pop ecx
mov dword [ebp - 0xbc], eax
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0xbc]
push eax
push ebx
call fcn.004591d8
mov edi, dword [ebp - 0x88]
xor esi, esi
mov ecx, esi
test ebx, ebx
jle 0x42d9ae
mov eax, ecx
and eax, 0x80000001
jns 0x42d978
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x24]
add eax, ecx
add eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x54]
jmp 0x42d98d
lea eax, [edx + 1]
cdq
idiv ebx
cmp word [edi + edx*2], si
jne 0x42d98a
xor eax, eax
inc eax
mov word [edi + edx*2], ax
mov eax, dword [ebp - 0x20]
mov al, byte [edx + eax]
mov edx, dword [ebp - 0x28]
mov byte [ecx + edx], al
inc ecx
cmp ecx, ebx
jl 0x42d96a
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x28]
mov dword [esi], ebx
mov dword [esi + 4], eax
test edi, edi
je 0x42d9da
push edi
call fcn.00481826
xor eax, eax
pop ecx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
jmp 0x42d9da
mov esi, dword [ebp + 8]
xor ebx, ebx
lea ecx, [ebp - 0x180]
inc ebx
mov dword [ebp + 8], ebx
push ebx
call fcn.0042be3e
mov dword [ebp - 0x2c], 0x1720348f
xor eax, eax
mov dword [ebp - 0x24], 0xfffffff9
mov dword [ebp + 8], eax
jmp 0x42da0e
mov ecx, dword [ebp + 8]
mov dword [ebp + ecx*4 - 0xa0], eax
inc dword [ebp + 8]
cmp dword [ebp + 8], 3
jl 0x42da01
mov dword [ebp + 8], eax
jmp 0x42da2c
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x180]
mov dword [ecx + edx*4], 0x33f23e93
inc dword [ebp + 8]
cmp dword [ebp + 8], ebx
jl 0x42da19
mov ecx, dword [ebp - 0xa0]
mov dword [ebp + 8], ecx
cmp dword [ebp - 0x9c], eax
je 0x42da4e
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp + 8]
xor ecx, ecx
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x24]
cmp eax, 0x126c7f05
setg cl
xor edx, edx
cmp ecx, 4
mov ecx, dword [ebp - 0x180]
setl dl
sub edx, dword [ecx]
neg edx
sbb edx, edx
inc edx
mov dword [ecx], edx
lea ecx, [ebp - 0x180]
call fcn.0042bf10
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret