Function at 0x100173c0
Capabilities:
Get geographical location

Disassembly:
mov eax, 0x1007841e
call fcn.10077f88
sub esp, 0x1f4
push ebx
push esi
push edi
mov dword [ebp - 0xa8], ecx
or esi, 0xffffffff
mov dword [ebp - 0x20], 0xde21
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x28], esi
push 4
mov dword [ebp - 0x6c], edx
call fcn.1001540a
xor ebx, ebx
lea ecx, [ebp - 0x138]
mov dword [ebp - 4], ebx
xor edi, edi
mov dword [ebp - 0x18], 0x4a0d461e
inc edi
mov dword [ebp - 0x10], 0x299fa9ef
mov dword [ebp - 0x10], 0x7972e7eb
mov dword [ebp - 0x10], 0x402be2ff
push edi
call fcn.1001540a
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x1c], ebx
jmp 0x10017442
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x78]
mov dword [eax + ecx*4], 0xa095a979
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10017432
mov dword [ebp - 0x1c], ebx
jmp 0x10017460
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x138]
mov dword [eax + ecx*4], 0x45e32052
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x1001744d
cmp dword [ebp - 0x20], ebx
je 0x1001750c
mov dword [ebp - 0x10], 0xc2e3
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
sub eax, 4
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
cmp eax, esi
setl cl
xor eax, eax
cmp ecx, 0x93d7
setg al
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x28]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x4d2c
mov eax, dword [ebp - 0x138]
setge cl
mov dword [eax], ecx
xor eax, eax
mov ecx, dword [ebp - 0x78]
cmp dword [ecx + 4], 0xffffb65c
setl al
neg eax
je 0x100174d3
cmp dword [ecx], ebx
je 0x100174d3
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x20]
jl 0x100174ea
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x78]
xor edx, edx
imul ecx, dword [eax + 0xc], 0xfffffffb
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x78]
sete dl
mov dword [eax], edx
mov eax, dword [ebp - 0x18]
dec dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x30], 4
call fcn.10015c65
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], esi
call fcn.10015c65
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x24], ebx
jmp 0x1001756c
mov dword [ebp - 0x10], ebx
jmp 0x1001754a
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xc4], 0x73eb905d
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10017539
inc dword [ebp - 0xc0]
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x10017569
push 0x164f
call dword [sym.imp.KERNEL32.dll_Sleep]
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xfffffffd
jge 0x10017534
mov dword [ebp - 0x24], 3
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x20], 0xfffffffc
mov dword [ebp - 0x18], 0x603fa75c
push 2
call fcn.1001540a
mov dword [ebp - 0x10], ebx
jmp 0x100175a8
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x180]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10017599
push 0xffffffffffffffe5
pop esi
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], 0xfffffff7
je 0x10017630
mov dword [ebp - 0x10], 0x1e29ea41
xor ecx, ecx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x2c], 0x8ef068cd
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
cmp eax, 0xfffffffc
mov eax, dword [ebp - 0x24]
setne cl
xor ebx, ebx
cmp ecx, eax
push 0
setg bl
sub ebx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
neg ebx
sbb ebx, ebx
xor edx, edx
inc ebx
cmp eax, ebx
mov eax, dword [ebp - 0x20]
pop ebx
setg dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp edi, ecx
sbb eax, eax
xor ecx, ecx
neg eax
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, 0x1dfe
setle cl
imul eax, ecx, 0xfff7
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xfffffff7
jne 0x100175ba
lea ecx, [ebp - 0x180]
call fcn.10015c65
mov dword [ebp - 0x20], 0xfd41
mov dword [ebp - 0x1c], 0xe387
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x10], 0x16b5b384
mov dword [ebp - 0x10], 0x7f4a7d2a
mov dword [ebp - 0x10], 0xc0ec0dce
push 4
mov dword [ebp - 0x2c], 0xb9c309ab
mov dword [ebp - 0x10], ebx
pop ecx
jmp 0x10017685
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x88], 0xfffc
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10017674
inc dword [ebp - 0x1c]
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], 3
jg 0x10017760
cmp dword [ebp - 0x1c], ebx
je 0x100176ad
mov eax, dword [ebp - 0x1c]
mov ecx, edi
cmp dword [ebp + eax*4 - 0x88], ebx
jne 0x100176af
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x88]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0x88]
cmp dword [ebp - 0x10], ebx
je 0x100176e2
mov eax, dword [ebp - 0x1c]
mov edx, edi
cmp dword [ebp + eax*4 - 0x88], ebx
jne 0x100176e4
mov edx, ebx
mov eax, dword [ebp - 0x1c]
push 0
mov ecx, dword [ebp + eax*4 - 0x88]
mov eax, 0x80c6548a
cmp eax, edx
sbb eax, eax
xor edx, edx
inc eax
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setle dl
xor ebx, ebx
add edx, 0xae21
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setne bl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x88]
cmp ebx, eax
pop ebx
setle cl
xor edx, edx
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0x88]
mov eax, dword [ebp - 0x10]
cmp eax, 0x57b1a094
setl dl
xor eax, eax
sub edx, ecx
cmp edx, 0xfffffffa
setl al
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x1001769a
push 4
pop ecx
mov eax, 0xe216
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], 2
mov dword [ebp - 0x1c], 6
mov dword [ebp - 0x10], ebx
jmp 0x100177a4
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x150], 0xfffffff8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10017793
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], 0xffffffed
jg 0x1001789b
mov dword [ebp - 0x18], 0xbbe5
xor edx, edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x28]
setle bl
xor ecx, ecx
cmp ebx, eax
setg cl
xor ebx, ebx
cmp ecx, dword [ebp - 0x28]
jl 0x100177ed
mov ecx, edi
cmp dword [ebp - 0x28], ebx
jne 0x100177ef
mov ecx, ebx
xor eax, eax
cmp ecx, 0xd373
setg al
xor edx, edx
imul ecx, eax, 0x7637
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setl dl
xor eax, eax
add edx, dword [ebp - 0x18]
cmp edx, 0x714ffd81
setg al
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 0xfffffffb
jmp 0x10017886
mov dword [ebp - 0x24], 0x6717b38e
mov dword [ebp - 0x10], ebx
jmp 0x10017841
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1f0], 0xf6c5533f
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10017830
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10017858
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov dword [ebp - 0x14c], 0x442b7a8a
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1e8], edi
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x10017824
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffed
jle 0x100177b7
push 4
pop ecx
mov dword [ebp - 0x1c], ebx
jmp 0x100178b1
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x150], 0x3c12d493
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x100178a0
mov dword [ebp - 0x18], 0xd94fe5f3
mov dword [ebp - 0x2c], 0x98815cbc
mov dword [ebp - 0x10], 8
mov dword [ebp - 0x10], 0xfffffffe
mov dword [ebp - 0x30], 0x4456e348
mov dword [ebp - 0x10], ebx
jmp 0x100178ec
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x200], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x100178df
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x1f4], ecx
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setg dl
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, 0xa8f9
mov ecx, dword [ebp - 0x10]
sub ecx, 0xef98
add ecx, dword [ebp - 0x18]
neg ecx
sbb ecx, ecx
inc ecx
sub eax, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], ebx
jmp 0x10017941
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x38], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10017937
mov dword [ebp - 0x18], 0xffffffff
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 0x10], 0x2526041
push 4
call fcn.1001540a
mov dword [ebp - 0x10], ebx
jmp 0x10017979
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1b4]
mov dword [eax + ecx*4], 0x95010f7a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x10017966
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
neg eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], 3
cmp dword [ebp - 0x10], ebx
jl 0x100179b1
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x100179ac
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
dec dword [ebp - 0x10]
jns 0x10017999
lea ecx, [ebp - 0x1b4]
call fcn.10015c65
cmp dword [ebp - 0x20], ebx
mov esi, dword [sym.imp.USER32.dll_GetDC]
mov ebx, dword [sym.imp.USER32.dll_GetDesktopWindow]
je 0x10017a88
mov dword [ebp - 0x2c], 0x24039b64
mov byte [ebp - 0x11], 0
cmp byte [ebp - 0x11], 0
je 0x100179f3
push 0x390
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_SetStretchBltMode]
xor ebx, ebx
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x10017a0c
push ebx
push ebx
push 0x913
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x18], 0xd9a924c0
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x20], 0xfffffffb
jmp 0x10017a7a
mov dword [ebp - 0x10], 0x8f0d
mov dword [ebp - 0x30], 0xffffffff
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x10017a4a
push 0x1527
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x10]
jg 0x10017a72
mov eax, ebx
cmp dword [ebp - 0x2c], ebx
je 0x10017a74
mov eax, edi
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xe
jle 0x10017a26
dec dword [ebp - 0x18]
jmp 0x10017d6c
mov dword [ebp - 0x1c], 0xfffffffb
lea ecx, [ebp - 0xb4]
push 2
call fcn.1001540a
push 2
mov dword [ebp - 0x1c], 0x504cd453
mov dword [ebp - 0x10], 0
pop edx
jmp 0x10017ac2
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], 8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10017aaf
mov dword [ebp - 0x1c], 0
jmp 0x10017adf
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10017ad0
mov dword [ebp - 0x1c], 0
jmp 0x10017b00
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], 0xa473
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10017aed
lea ecx, [ebp - 0xb4]
call fcn.10015c65
xor ecx, ecx
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 0x17
jle 0x10017cd4
mov dword [ebp - 0x18], 0xf9c7
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x24], 0x811f
push edi
call fcn.1001540a
xor edx, edx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x10], edx
jmp 0x10017b67
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x144]
mov dword [eax + ecx*4], edi
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10017b58
mov dword [ebp - 0x28], edx
jmp 0x10017b8c
mov dword [ebp - 0x2c], 0xca0029bf
mov dword [ebp - 0x10], 0x90be4438
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x10], 7
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0x16
je 0x10017b71
mov eax, dword [ebp - 0x1c]
sub eax, 0x6dd2cc91
neg eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x30]
jg 0x10017ba7
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x24], edx
je 0x10017bc2
mov ecx, edi
cmp dword [ebp - 0x30], edx
jne 0x10017bc4
mov ecx, edx
mov eax, dword [ebp - 0x144]
mov eax, dword [eax]
add eax, ecx
jne 0x10017bd7
mov ecx, edx
cmp dword [ebp - 0x24], edx
je 0x10017bd9
mov ecx, edi
mov eax, dword [ebp - 0x28]
xor edx, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
cmp eax, ecx
setg dl
imul edx, dword [ebp - 0x10]
sub edx, 0x77b69c93
neg edx
sbb edx, edx
inc edx
cmp edx, 0x83e731e7
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0x5cbf
setne cl
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x144]
call fcn.10015c65
mov dword [ebp - 0x10], 0x10f1939
mov dword [ebp - 0x30], 0x98934ec
mov dword [ebp - 0x2c], 0x264a3a20
mov eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
neg eax
imul eax, eax, 0xb09c
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
imul ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x10017c64
cmp dword [ebp - 0x18], 0
je 0x10017c64
mov ecx, edi
jmp 0x10017c66
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setg cl
xor edx, edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x38]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
sub edx, eax
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x10017cae
cmp dword [ebp - 0x10], 0
je 0x10017cae
mov eax, edi
jmp 0x10017cb0
xor eax, eax
xor edx, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x38]
setge dl
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0x17
jg 0x10017b1f
xor ecx, ecx
mov dword [ebp - 0x24], 3
cmp dword [ebp - 0x24], ecx
jl 0x10017d6a
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x20], 3
cmp dword [ebp - 0x20], ecx
jl 0x10017d61
mov dword [ebp - 0x10], ecx
jmp 0x10017d09
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xbc], 0x9ab67338
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10017cf8
mov dword [ebp - 0x1c], ecx
jmp 0x10017d51
mov byte [ebp - 0x11], cl
cmp byte [ebp - 0x11], 0
je 0x10017d36
push ecx
push 0x837
push 0x121c
call ebx
push eax
call esi
push eax
call dword [sym.imp.GDI32.dll_SetViewportExtEx]
xor ecx, ecx
mov byte [ebp - 0x11], cl
cmp byte [ebp - 0x11], 0
je 0x10017d4e
push 0x2316
push ecx
push ecx
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
xor ecx, ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ecx
jle 0x10017d14
inc dword [ebp - 0xbc]
dec dword [ebp - 0x20]
jns 0x10017cf3
dec dword [ebp - 0x24]
jns 0x10017ce4
xor ebx, ebx
mov dword [ebp - 0x1c], 0xfffffffa
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], 0xfffb
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x10], 0x12630673
push 2
call fcn.1001540a
push 2
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x10], ebx
pop edx
jmp 0x10017dac
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x48]
mov dword [eax + ecx*4], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10017da0
mov dword [ebp - 0x1c], ebx
jmp 0x10017ec4
mov dword [ebp - 0x28], 0x1891f782
mov dword [ebp - 0x20], 0xb000e2e4
mov dword [ebp - 0x10], ebx
jmp 0x10017dda
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x34], 0x51d69f42
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x10017dcc
mov dword [ebp - 0x28], ebx
cmp dword [ebp - 0x28], ebx
jl 0x10017e9a
mov eax, dword [ebp - 0x28]
cmp dword [ebp + eax*4 - 0x34], ebx
jne 0x10017e0b
mov ecx, dword [ebp - 0x34]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
setne dl
cmp edx, 0x7392
mov edx, edi
je 0x10017e0d
mov edx, ebx
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], ebx
je 0x10017e22
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x34]
cmp eax, 0x7825
mov eax, dword [ebp - 0x34]
setl cl
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x1c]
sub ecx, eax
sub ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setne dl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x34]
cmp eax, edx
mov eax, dword [ebp - 0x28]
setne cl
cmp ecx, 0xd437f1bd
sbb ecx, ecx
neg ecx
cmp dword [ebp + eax*4 - 0x34], ecx
je 0x10017e72
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
mov ecx, 0xae055a24
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + eax*4 - 0x34]
sub ecx, eax
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x34], ecx
dec dword [ebp - 0x28]
jns 0x10017deb
mov eax, dword [ebp - 0x24]
xor edx, edx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setg dl
sub eax, edx
je 0x10017eb4
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], 5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 6
jl 0x10017db9
xor ecx, ecx
mov dword [ebp - 0x1c], 0x70b7
mov eax, dword [ebp - 0x20]
cmp eax, 0xfffffff8
setne cl
mov dword [ebp - 0x10], ecx
mov ecx, 0xffff
mov eax, dword [ebp - 0x10]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
sbb ecx, ecx
xor edx, edx
neg ecx
cmp ecx, eax
setle dl
xor eax, eax
cmp edx, 0x6c07
setg al
xor ecx, ecx
cmp eax, 0xfffffff8
mov eax, dword [ebp - 0x48]
setne cl
xor edx, edx
cmp ecx, dword [eax]
mov eax, dword [ebp - 0x1c]
setle dl
xor ebx, ebx
cmp edx, 0xc008b242
setne bl
xor ecx, ecx
cmp eax, ebx
mov eax, dword [ebp - 0x48]
setne cl
xor edx, edx
cmp ecx, dword [eax]
setge dl
xor ebx, ebx
cmp edx, dword [ebp - 0x18]
jg 0x10017f45
mov ecx, edi
cmp dword [ebp - 0x18], ebx
jne 0x10017f47
mov ecx, ebx
mov eax, dword [ebp - 0x20]
sub ecx, eax
mov eax, dword [ebp - 0x48]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx
test eax, eax
jne 0x10017f67
mov edx, ebx
cmp dword [ebp - 0x10], ebx
je 0x10017f69
mov edx, edi
mov eax, dword [ebp - 0x48]
xor ecx, ecx
cmp edx, dword [eax]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x48]
setl cl
imul edx, ecx
xor ecx, ecx
add edx, dword [eax + 4]
mov eax, dword [ebp - 0x24]
sub edx, eax
mov eax, dword [ebp - 0x18]
inc edx
cmp edx, eax
setg cl
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
cmp eax, edi
setl cl
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x48]
call fcn.10015c65
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
je 0x10017fc5
push 0x854
push ebx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov dword [ebp - 0x18], edi
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x24], 0x7cba
push 2
call fcn.1001540a
mov dword [ebp - 0x2c], 0x3fde7504
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x10], ebx
jmp 0x1001800c
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xd8]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10017ff9
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x24], ebx
je 0x10018021
mov edx, edi
cmp dword [ebp - 0x30], ebx
jne 0x10018023
mov edx, ebx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0xfffffff9
setl al
xor ecx, ecx
imul eax, eax, 0x73ae
cmp ecx, eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x18]
cmp eax, 8
mov eax, dword [ebp - 0xd8]
setg cl
mov dword [eax], ecx
mov eax, dword [ebp - 0x24]
add eax, ecx
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
call fcn.10015c65
mov dword [ebp - 0x24], 0xde21
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x20], 0xffffffff
push 4
call fcn.1001540a
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x18], 0x4a0d461e
mov dword [ebp - 0x30], 0x299fa9ef
mov dword [ebp - 0x30], 0x7972e7eb
mov dword [ebp - 0x10], 0x402be2ff
push edi
call fcn.1001540a
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x28], ebx
jmp 0x100180eb
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x94]
mov dword [eax + ecx*4], 0xa095a979
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 4
jl 0x100180d8
mov dword [ebp - 0x28], ebx
jmp 0x10018109
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x120]
mov dword [eax + ecx*4], 0x45e32052
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jl 0x100180f6
cmp dword [ebp - 0x24], ebx
je 0x100181bf
mov dword [ebp - 0x30], 0xc2e3
xor ecx, ecx
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
sub eax, 4
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
cmp eax, 0xffffffff
setl cl
xor eax, eax
cmp ecx, 0x93d7
setg al
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0x4d2c
mov eax, dword [ebp - 0x120]
setge cl
mov dword [eax], ecx
xor eax, eax
mov ecx, dword [ebp - 0x94]
cmp dword [ecx + 4], 0xffffb65c
setl al
neg eax
je 0x10018180
cmp dword [ecx], ebx
je 0x10018180
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jl 0x10018197
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x94]
xor edx, edx
imul ecx, dword [eax + 0xc], 0xfffffffb
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x94]
sete dl
mov dword [eax], edx
mov eax, dword [ebp - 0x18]
dec dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x30], 4
call fcn.10015c65
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x94]
call fcn.10015c65
mov eax, 0x5cbc
mov dword [ebp - 0x28], 0xc4ab274b
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x20], 0xa3fc4b03
push 3
call fcn.1001540a
push 3
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x10], ebx
pop edx
jmp 0x1001822d
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1e4]
mov dword [eax + ecx*4], 0xd8b26de0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x1001821a
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
inc eax
neg eax
sbb eax, eax
inc eax
cmp eax, 0x8470
jl 0x10018255
mov ecx, edi
cmp dword [ebp - 0x5c], ebx
jne 0x10018257
mov ecx, ebx
mov eax, dword [ebp - 0x64]
add eax, ecx
je 0x10018261
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x10], ebx
jmp 0x10018276
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x1cc], ebx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edx
jl 0x10018269
mov dword [ebp - 0x20], ebx
jmp 0x100182eb
mov dword [ebp - 0x24], 0x37bd55fd
mov dword [ebp - 0x2c], 0xffffffff
cmp dword [ebp - 0x1c8], ebx
jne 0x100182f0
mov dword [ebp - 0x24], ebx
jmp 0x100182e3
mov dword [ebp - 0x10], 0xc458a922
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], ebx
jl 0x100182e0
xor ecx, ecx
mov dword [ebp - 0x2c], 0x2457718d
mov eax, dword [ebp - 0x1c8]
test eax, eax
mov eax, dword [ebp - 0x24]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x2c], ecx
inc dword [ebp - 0x30]
dec dword [ebp - 0x10]
jns 0x100182aa
push 3
pop edx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], edx
jle 0x1001829b
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edx
jle 0x10018280
lea ecx, [ebp - 0x1e4]
call fcn.10015c65
mov dword [ebp - 0x10], ebx
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x20], 0x7cba
push 2
call fcn.1001540a
mov dword [ebp - 0x2c], 0x3fde7504
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x10018345
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xfc]
mov dword [eax + ecx*4], 0xfffffffc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10018332
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x20], ebx
je 0x1001835a
mov edx, edi
cmp dword [ebp - 0x30], ebx
jne 0x1001835c
mov edx, ebx
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
setge cl
xor eax, eax
cmp ecx, 0xfffffff9
setl al
xor ecx, ecx
imul eax, eax, 0x73ae
cmp ecx, eax
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x24]
cmp eax, 8
mov eax, dword [ebp - 0xfc]
setg cl
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
add eax, ecx
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
call fcn.10015c65
mov dword [ebp - 0x2c], 0xfffffffe
lea ecx, [ebp - 0xe4]
push 2
call fcn.1001540a
mov dword [ebp - 4], 2
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], ebx
mov ebx, dword [sym.imp.USER32.dll_GetMenuItemInfoW]
jmp 0x10018404
mov byte [ebp - 0x11], 0
cmp byte [ebp - 0x11], 0
je 0x100183fb
push 0
push edi
push 0x1357
push 0
call ebx
cmp dword [ebp - 0x18], 0
jne 0x1001840a
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffea
je 0x100183e5
mov eax, 0x5cbc
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x20], 0xa3fc4b03
push 3
call fcn.1001540a
xor edx, edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x18], edx
jmp 0x1001844c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x15c]
mov dword [eax + ecx*4], 0xd8b26de0
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10018439
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
inc eax
neg eax
sbb eax, eax
inc eax
cmp eax, 0x8470
jl 0x10018475
mov ecx, edi
cmp dword [ebp - 0x4c], edx
jne 0x10018477
mov ecx, edx
mov eax, dword [ebp - 0x54]
add eax, ecx
je 0x10018481
mov eax, dword [ebp - 0x20]
push 3
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edx
pop ecx
jmp 0x10018499
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x1d8], edx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ecx
jl 0x1001848c
mov dword [ebp - 0x20], edx
jmp 0x10018510
mov dword [ebp - 0x24], 0x37bd55fd
mov dword [ebp - 0x18], 0xffffffff
cmp dword [ebp - 0x1d4], edx
jne 0x10018515
mov dword [ebp - 0x24], edx
jmp 0x10018508
mov dword [ebp - 0x18], 0xc458a922
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], edx
jl 0x10018505
xor ecx, ecx
mov dword [ebp - 0x1c], 0x2457718d
mov eax, dword [ebp - 0x1d4]
test eax, eax
mov eax, dword [ebp - 0x24]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x24]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x1c], ecx
inc dword [ebp - 0x30]
dec dword [ebp - 0x18]
jns 0x100184cd
push 3
xor edx, edx
pop ecx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], ecx
jle 0x100184be
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jle 0x100184a3
lea ecx, [ebp - 0x15c]
call fcn.10015c65
mov dword [ebp - 0x24], 0xfffd
lea ecx, [ebp - 0x18c]
push edi
call fcn.1001540a
xor edx, edx
mov dword [ebp - 0x18], edx
jmp 0x1001854d
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18c]
mov dword [eax + ecx*4], 0x91a049fe
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x1001853a
mov edi, dword [sym.imp.GDI32.dll_SetTextColor]
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], dl
je 0x1001856f
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call esi
push eax
call edi
xor edx, edx
mov esi, dword [sym.imp.KERNEL32.dll_FindResourceW]
mov byte [ebp - 0x11], dl
cmp byte [ebp - 0x11], 0
je 0x10018583
push edx
push edx
push edx
call esi
lea ecx, [ebp - 0x18c]
call fcn.10015c65
mov dword [ebp - 0x18], 0xabefa025
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x30], 8
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x30], 0xde713a47
mov dword [ebp - 0x30], 0xffffffff
push 4
call fcn.1001540a
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x30], 0x7c2076ac
push 3
call fcn.1001540a
push 1
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 4
call fcn.1001540a
mov dword [ebp - 0x1c], 0
jmp 0x10018607
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c0]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x100185f7
mov dword [ebp - 0x1c], 0
jmp 0x10018629
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x12c]
mov dword [eax + ecx*4], 0xd7006986
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x10018616
mov dword [ebp - 0x1c], 0
jmp 0x1001864b
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x19c]
mov dword [eax + ecx*4], 0x9ae4f78d
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x10018638
mov eax, dword [ebp - 0x12c]
lea ecx, [ebp - 0x19c]
dec dword [eax]
call fcn.10015c65
lea ecx, [ebp - 0x12c]
call fcn.10015c65
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 2
call fcn.10015c65
mov dword [ebp - 0x30], 0x15b01d97
xor eax, eax
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], eax
jmp 0x100186b1
mov byte [ebp - 0x11], al
cmp byte [ebp - 0x11], 0
je 0x100186a9
push eax
push 1
push 0x1357
push eax
call ebx
xor eax, eax
cmp dword [ebp - 0x18], eax
jne 0x100186b7
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffea
je 0x10018693
push 0x131
xor ebx, ebx
lea eax, [ebp - 0x190]
push ebx
push 0x652f
push eax
lea eax, [ebp - 0xe4]
push eax
call fcn.1001aaec
add esp, 0x14
lea ecx, [ebp - 0x1a8]
push 1
call fcn.1001540a
mov dword [ebp - 0x18], ebx
jmp 0x100186ff
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1a8]
mov dword [eax + ecx*4], 0x91a049fe
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x100186ec
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1001871e
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call edi
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], bl
je 0x1001872b