Function at 0x4275be
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x180
push ebx
push esi
mov dword [ebp - 4], 0xe7a6
xor ebx, ebx
push edi
mov dword [ebp - 0x2c], 0x40fc0272
mov esi, ecx
xor edi, edi
mov dword [ebp - 0x2c], 0x951ea66e
mov byte [ebp - 0x25], dl
inc edi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0xc], ebx
jmp 0x427602
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x120], 0x35e1f6f0
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x4275f1
mov dword [ebp - 0xc], ebx
jmp 0x427619
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x170], edi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x42760c
cmp dword [ebp - 4], ebx
je 0x42771e
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x2c], 0xfffffffb
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x2c], 0xfffffffd
mov dword [ebp - 0xc], ebx
jmp 0x427668
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x9c], 0x13dce9d
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x427657
mov dword [ebp - 0xc], ebx
jmp 0x427684
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x12c], 0x86992f1e
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x427673
mov dword [ebp - 0xc], ebx
jmp 0x42769f
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xf4], 0x2057
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x42768e
mov dword [ebp - 4], ebx
jmp 0x427717
mov dword [ebp - 0xc], ebx
jmp 0x4276bf
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x140], 0xe704f3d4
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x4276ae
mov dword [ebp - 0xc], ebx
jmp 0x4276db
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x110], 0xfffa
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x4276ca
dec dword [ebp - 0x10c]
xor ecx, ecx
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x9c]
test eax, eax
sete cl
imul eax, dword [ebp - 0x140], 0x8436
add ecx, eax
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x9c], ecx
mov dword [ebp - 0x164], ecx
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jle 0x4276a9
jmp 0x427741
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x427741
push ebx
push 0x929
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
push 5
pop eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x10], 6
mov dword [ebp - 0x10], 3
cmp dword [ebp - 0x10], ebx
jl 0x42778d
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x427788
push 0xe5d
push 0x195
push ebx
call dword [sym.imp.KERNEL32.dll_SetHandleInformation]
dec dword [ebp - 0x10]
jns 0x42776f
mov dword [ebp - 4], 0x78ab
mov dword [ebp - 0x18], 0x7f6fb807
mov dword [ebp - 0x18], 0x3b94
mov dword [ebp - 0x18], 0x1ca7bc41
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x14], 0x45a3
mov dword [ebp - 0x10], 0x13d46409
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0xcc], edi
mov dword [ebp - 0x20], 0x274c
mov dword [ebp - 0x18], edi
mov dword [ebp - 0xc], ebx
jmp 0x4277f5
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x128], ebx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jl 0x4277e8
mov dword [ebp - 0xc], ebx
jmp 0x42780e
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x40], 0x3a74adf2
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x427800
mov dword [ebp - 0xc], ebx
jmp 0x427829
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x158], 0x5f49dcb7
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 3
jl 0x427818
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
dec dword [ebp - 0x40]
mov dword [ebp - 0x158], edi
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
inc edx
neg edx
sbb edx, edx
add edx, 0xffffdcda
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
setg cl
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], 0x46b7
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ebx
jne 0x427897
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
cmp eax, edi
setge cl
xor edx, edx
mov dword [ebp - 0xd4], ecx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 4]
sete dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
cmp ecx, dword [ebp - 0x10]
jne 0x4278cf
mov eax, edi
cmp dword [ebp - 0x40], edx
jne 0x4278d1
mov eax, edx
mov edi, dword [0x48e5ec]
xor ecx, ecx
mov ebx, dword [ebp + 8]
inc ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xc], 8
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], 8
mov dword [ebp - 0x2c], edi
mov dword [ebx], edx
mov dword [ebx + 4], edx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edx
jge 0x42792d
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x427921
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCurrentPositionEx]
xor edx, edx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 8
jl 0x427901
xor ecx, ecx
inc ecx
mov dword [ebp - 0xc], 0xfffffff7
jmp 0x427a5d
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], edx
jmp 0x42794f
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x3c], ecx
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x427945
mov dword [ebp - 4], edx
jmp 0x42796a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xac], 0xe283
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x427959
mov dword [ebp - 4], 8
jmp 0x427a3c
mov dword [ebp - 0x1c], edx
jmp 0x42798f
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x70], 0x729cf308
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x427981
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0x6c], edx
jl 0x4279ae
mov eax, dword [ebp - 0x6c]
cmp dword [ebp + eax*4 - 0x3c], edx
jne 0x4279ae
mov eax, dword [ebp - 0x6c]
dec dword [ebp - 0x6c]
jns 0x42799d
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0xa8], edx
je 0x4279d6
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x6c]
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
imul eax, ecx
cmp eax, dword [ebp - 0x68]
jge 0x4279d6
xor ecx, ecx
inc ecx
jmp 0x4279d8
mov ecx, edx
mov eax, dword [ebp - 0xc]
sub eax, ecx
imul eax, dword [ebp - 0xc]
test eax, eax
jne 0x4279ee
cmp dword [ebp - 0x70], edx
jne 0x4279ee
mov eax, edx
jmp 0x4279f1
xor eax, eax
inc eax
xor ecx, ecx
cmp eax, 0xfffffffd
mov eax, dword [ebp - 0xc]
setg cl
add ecx, 0xffffdd7a
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx
cmp eax, 0xfffb
mov eax, dword [ebp - 0xc]
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
setne dl
mov dword [ebp - 0x68], edx
test edx, edx
jne 0x427a2f
cmp dword [ebp - 0x6c], edx
jne 0x427a31
xor ecx, ecx
mov eax, edx
inc ecx
jmp 0x427a36
xor edx, edx
xor ecx, ecx
inc ecx
mov eax, ecx
mov dword [ebp - 0x18], eax
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffec
jne 0x42797c
cmp dword [ebp - 0x3c], edx
je 0x427a55
mov eax, dword [ebp - 0x3c]
add eax, 4
mov eax, ecx
jne 0x427a57
mov eax, edx
mov dword [ebp - 0x3c], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0xfffffff8
jg 0x427939
cmp byte [ebp - 0x25], 0
je 0x427c20
cmp edi, ecx
jne 0x427c20
mov dword [ebp - 0xc], 0x167fa5c6
mov dword [ebp - 0x14], 0xb4c8f0d0
mov dword [ebp - 0x18], 0xfffffff6
mov dword [ebp - 0x20], 0x6de0184d
mov dword [ebp - 4], 0xfffffffc
mov dword [ebp - 0x1c], edx
jmp 0x427aaf
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x38], 0xfffffffd
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jl 0x427aa1
cmp dword [ebp - 0xc], edx
je 0x427ae3
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x20]
imul edx, eax
mov eax, dword [ebp - 0x38]
cmp edx, eax
setne cl
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
dec dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
neg eax
sbb eax, eax
neg eax
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], ecx
je 0x427b13
mov dword [ebp - 0x20], 0xfffffff9
jmp 0x427ba5
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov eax, dword [ebp - 0x14]
cmp eax, 0x97ec
setne cl
mov dword [ebp - 0x38], ecx
test ecx, ecx
je 0x427b5e
cmp dword [ebp - 0x18], edx
je 0x427b5e
mov dword [ebp - 0x18], edx
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x427b4c
push 0x2560
call dword [sym.imp.USER32.dll_GetSystemMetrics]
xor edx, edx
mov dword [ebp - 4], edx
jmp 0x427b57
dec dword [ebp - 0x18]
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jle 0x427b51
jmp 0x427b7a
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x427b7a
push edx
push 0x2019
push 0x2ff
call dword [sym.imp.GDI32.dll_CreatePen]
xor edx, edx
mov dword [ebp - 0xc], edx
jmp 0x427ba0
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x427b9d
push 0x25df
push edx
push 0x14dd
push 0x4d
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
xor edx, edx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jle 0x427b7f
mov dword [ebp - 0x20], edx
mov dword [ebx + 8], 4
mov dword [ebp - 0x20], 0xffffffed
jmp 0x427c13
mov dword [ebp - 0x14], 9
mov dword [ebp - 0x14], edx
jmp 0x427be4
cmp byte [ebp - 5], 0
je 0x427be1
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SelectClipRgn]
xor edx, edx
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff1
mov byte [ebp - 5], dl
jg 0x427bc4
cmp byte [ebp - 5], 0
je 0x427c10
push edx
push edx
push 0x261c
push edx
push 0x1b
push edx
push 0x3bd
push 0x1737
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xor edx, edx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x13
jle 0x427bb8
mov dword [ebx + 0xc], 0x48e5ec
cmp esi, edi
jge 0x4284a4
mov dword [ebp - 4], 0x7cb3f4f4
xor ecx, ecx
mov dword [ebp - 0x18], 0xfffffff6
inc ecx
mov dword [ebp - 0x14], edx
jmp 0x427c4f
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x88], 0x62d5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x427c3e
mov dword [ebp - 4], edx
jmp 0x427c6a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x88], 0xb505
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x427c59
mov dword [ebp - 4], 0xffffffff
mov ebx, 0x48e5f0
mov dword [ebp - 0x18], 0xc04ee7d2
mov dword [ebp - 0x20], 0xe60
mov dword [ebp - 0x10], 0x6942
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], edx
jmp 0x427ca9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x14c], 0xef6b8f3d
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x427c98
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x427ccf
push 0x183d
push 0x8d5
push edx
push edx
push 0x3b2
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setg dl
mov dword [ebp - 0x148], edx
xor edx, edx
mov edi, edx
test esi, esi
jle 0x4280eb
xor ecx, ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0x14], edx
inc ecx
jmp 0x427d0d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x34], 0x2799ac78
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x427cff
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x427d2e
push 0x22ed
push edx
push edx
push edx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
xor ecx, ecx
xor edx, edx
inc ecx
mov dword [ebp - 4], edx
jmp 0x427db6
mov dword [ebp - 0xc], 0x4b64b5c6
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0x34], edx
jne 0x427d69
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0x34], edx
jne 0x427d69
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0x34], edx
je 0x427d69
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 4]
mov eax, dword [ebp + eax*4 - 0x34]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], edx
jg 0x427db3
mov dword [ebp - 0x10], 0xffffffff
dec dword [ebp - 0x10]
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x427da8
push edx
push 0x1fd1
push 0x26a5
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_MoveToEx]
xor edx, edx
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jle 0x427d74
xor ecx, ecx
inc ecx
inc dword [ebp - 4]
cmp dword [ebp - 4], edx
jle 0x427d36
mov esi, dword [ebx]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x60], esi
mov dword [ebp - 4], edx
jmp 0x427dd9
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x160], ecx
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x427dcc
mov dword [ebp - 4], edx
jmp 0x427df5
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x134], 0x59af2c67
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x427de4
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0xfffffffa
jge 0x427f2b
xor ebx, ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0xc], ebx
jmp 0x427ef2
mov dword [ebp - 0x20], 0xfffffffa
mov dword [ebp - 0x20], ebx
jmp 0x427ee6
mov dword [ebp - 0x1c], 0x328f6c74
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], ebx
jl 0x427ee3
mov dword [ebp - 0x14], ebx
jmp 0x427e4d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x48], 0x41fc9a57
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x427e3f
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x48], ebx
jl 0x427eda
mov dword [ebp - 4], 0x6ce4a6f4
mov dword [ebp - 4], ebx
jmp 0x427ed0
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x427e7b
push 0x11f2
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x48], 0xfffffffb
jae 0x427e8f
cmp dword [ebp - 0x1c], ebx
jne 0x427e92
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
xor edx, edx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 4]
setle dl
sub edx, eax
mov eax, 0xd7d3
add edx, 0xaf48
neg edx
sbb edx, edx
inc edx
sub eax, edx
sub eax, 0x6d4f
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
imul eax, dword [ebp - 4]
mov dword [ebp - 0x14], eax
inc dword [ebp - 4]
inc ecx
cmp dword [ebp - 4], ecx
jle 0x427e67
dec dword [ebp - 0x48]
jns 0x427e5b
dec dword [ebp - 0x1c]
jns 0x427e3a
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jle 0x427e27
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jle 0x427e18
mov dword [ebp - 0xc], ebx
jmp 0x427f13
mov dword [ebp - 0x14], 3
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x130], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x1b
jne 0x427f00
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffffa
jl 0x427e0a
mov ebx, dword [ebp - 0x18]
xor edx, edx
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x427f52
push 0x16
push 0x1501
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawFrameControl]
xor edx, edx
mov dword [ebp - 0x10], 2
mov dword [ebp - 0x10], edx
jmp 0x427f6f
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xe8], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x427f5e
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x427f93
push edx
push 0x5e6
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetScrollInfo]
xor edx, edx
mov dword [ebp - 0x10], edx
jmp 0x427fc9
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], edx
jmp 0x427fc0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + eax*4 - 0xe8]
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xe8], ecx
cmp dword [ebp - 4], edx
jne 0x427fc6
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jle 0x427fa4
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x16
jl 0x427f98
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x24], 0x1124
mov dword [ebp - 0x24], 0x1f2c29a
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x24], 0xa654fddd
mov dword [ebp - 0x24], 0xfffffffb
mov dword [ebp - 0x18], 0x5fcc58a0
mov dword [ebp - 0x10], edx
jmp 0x42800e
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xdc], 0x29ea4144
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 1
jl 0x427ffd
inc dword [ebp - 0x18]
add ebx, 8
mov dword [ebp - 4], edx
mov dword [ebp - 0x10], edx
jmp 0x428033
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa4], 0x13b91020
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x428022
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 1
jg 0x42807a
xor esi, esi
inc esi
mov dword [ebp - 0x1c], 0x2751c76d
mov dword [ebp - 0x1c], edx
jmp 0x42806a
mov eax, dword [ebp - 4]
cmp dword [ebp + eax*4 - 0xa4], edx
jne 0x42806f
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xa4]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x428051
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jle 0x428045
mov esi, dword [ebp - 0x60]
test ecx, ecx
jne 0x428081
add ebx, 8
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], edx
mov dword [ebp - 4], 0x4caf
dec dword [ebp - 4]
mov dword [ebp - 4], edx
jmp 0x4280d6
mov dword [ebp - 0x10], edx
jmp 0x4280bb
cmp dword [ebp - 0xc0], edx
jne 0x4280c1
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff3
je 0x4280b0
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x4280d3
push edx
call dword [sym.imp.USER32.dll_DestroyIcon]
xor edx, edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x26
jle 0x4280ab
add ebx, esi
inc edi
mov dword [ebp - 0x18], ebx
cmp edi, dword [ebp - 0x30]
jl 0x427cf4
push 2
mov dword [ebp - 0x10], edx
pop esi
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], 0xfffffff0
jge 0x428159
push 4
pop ecx
mov dword [ebp - 4], edx
jmp 0x428113
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x180], 0x638e
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x428102
mov dword [ebp - 4], edx
jmp 0x42812b
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x5c], 0x69aed23b
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x42811d
mov dword [ebp - 0x5c], edx
jmp 0x428146
mov eax, dword [ebp - 0x5c]
mov dword [ebp + eax*4 - 0x180], 3
inc dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], ecx
jl 0x428135
cmp dword [ebp - 0x5c], edx
jne 0x428159
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xfffffff0
jl 0x4280fd
mov edi, dword [ebx]
mov dword [ebp - 0x24], 0x847dfa86
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x428178
push 0x26b8
call dword [sym.imp.KERNEL32.dll_Sleep]
xor edx, edx
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x4281b5
push 0x1988
push 0x1028
push 0x1f53
push 0x98
push 0x8a1
push 0x7c7
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_RoundRect]
xor edx, edx
mov dword [ebp - 0x10], 0x42a1e948
xor ecx, ecx
mov dword [ebp - 0x18], 0xfffffffb
inc ecx
mov dword [ebp - 0x14], 0x43e
mov dword [ebp - 4], edx
jmp 0x4281e0
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x74], 0xfb6f65e7
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x4281d2
mov dword [ebp - 4], edx
jmp 0x4281fb
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xf0], 0x63d18804
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x4281ea
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x74], 0x1dfd9475
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xec], eax
inc dword [ebp - 0x14]
mov esi, dword [ebx + 4]
mov dword [ebp - 0x10], 0xfffffffc
mov dword [ebp - 0x24], 0x5c62e089
mov dword [ebp - 0x24], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x30], 0x96bb6454
mov dword [ebp - 0x20], 0x5f03
mov dword [ebp - 0x64], 0x4c2e3979
mov dword [ebp - 4], edx
jmp 0x428269
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x50], 0x60477862
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x42825b
mov dword [ebp - 4], edx
jmp 0x428285
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x94], 0xfffffffd
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x428274
mov dword [ebp - 0x50], edx
jmp 0x42839a
mov dword [ebp - 0x54], 3
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x54], 0xfffffff6
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x1c], 0x41ac3dc9
mov dword [ebp - 0x60], 0x77509cb0
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x30], 0xfffffffe
mov dword [ebp - 0x14], 0xfeb1ec6c
mov dword [ebp - 4], edx
jmp 0x4282ec
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x114], ecx
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x4282df
mov dword [ebp - 4], edx
jmp 0x428307
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb8], 0xfffffff9
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x4282f6
dec dword [ebp - 0xb0]
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 2
jg 0x428397
mov dword [ebp - 0x10], edx
jmp 0x428332
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x11c], 0xb09c821f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x428321
mov dword [ebp - 0x30], 0x71081b2
xor edx, edx
mov eax, dword [ebp - 0x1c]
push 0
mov eax, dword [ebp + eax*4 - 0x94]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x54]
dec dword [ebp - 0x14]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x118]
mov eax, dword [ebp - 0x18]
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setne dl
sub eax, edx
imul eax, eax, 0xc7e4
pop edx
push 1
pop ecx
mov dword [ebp - 0x10], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jle 0x42831c
inc dword [ebp - 0x50]
cmp dword [ebp - 0x50], 7
jle 0x428293
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x64]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x10]
mov dword [ebp - 0x50], eax
test esi, esi
jne 0x42849d
cmp byte [ebp - 0x25], 0
je 0x4283e4
cmp dword [ebp - 0x2c], ecx
jne 0x4283e4
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0xc]
add ebx, 0x10
push edi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], ebx
call fcn.0046721a
mov ebx, eax
xor eax, eax
pop ecx
mov dword [ebp - 0x84], eax
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x84]
push eax
push edi
mov dword [ebp - 0x64], ebx
call fcn.0044e918
mov esi, dword [ebp - 0x80]
xor edx, edx
mov ecx, edx
test edi, edi
jle 0x42847f
mov eax, ecx
and eax, 0x80000001
jns 0x42843c
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x2c]
add eax, ecx
add eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x24]
cdq
idiv edi
xor eax, eax
cmp word [esi + edx*2], ax
je 0x428468
xor ebx, ebx
lea eax, [edx + 1]
cdq
idiv edi
cmp word [esi + edx*2], bx
jne 0x428459
mov ebx, dword [ebp - 0x64]
xor eax, eax
inc eax
mov word [esi + edx*2], ax
mov eax, dword [ebp - 0x18]
mov al, byte [edx + eax]
mov byte [ecx + ebx], al
inc ecx
cmp ecx, edi
jl 0x42842e
xor edx, edx
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov dword [eax + 4], ebx
test esi, esi
je 0x4284a2
push esi
call fcn.00468706
xor edx, edx
pop ecx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], edx
mov ebx, dword [ebp + 8]
jmp 0x4284a4
mov ebx, eax
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x10], edx
jmp 0x4284e5
mov byte [ebp + 0xb], dl
cmp byte [ebp + 0xb], 0
je 0x4284c9
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ValidateRect]
xor edx, edx
mov byte [ebp + 0xb], dl
cmp byte [ebp + 0xb], 0
je 0x4284e2
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_ValidateRgn]
xor edx, edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x16
jl 0x4284b0
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret