Function at 0x10001dba
Capabilities:
Get geographical location

Disassembly:
push pe_nt_image_headers32
mov eax, 0x10046a59
call fcn.1003784d
push 0xc
pop esi
push 0
mov dword [ebp - 0x78], 0xd7f825e7
mov dword [ebp - 0x78], 0xfffffff8
pop ebx
jmp 0x10001e30
mov dword [ebp - 0x88], 0xfffffffc
lea ecx, [ebp - 0xfc]
push 4
call fcn.10001a29
mov dword [ebp - 0x74], ebx
jmp 0x10001e0e
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0xfc]
mov dword [eax + ecx*4], 0x4d073ff8
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 4
jl 0x10001dfb
mov ecx, dword [ebp - 0x88]
mov eax, dword [ebp - 0xfc]
mov dword [eax], ecx
lea ecx, [ebp - 0xfc]
call fcn.1000c4da
inc dword [ebp - 0x78]
cmp dword [ebp - 0x78], esi
jne 0x10001ddf
mov dword [ebp - 0x78], 0xa7275995
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x78], 0xfffffff9
push 2
call fcn.10001a29
mov dword [ebp - 0x80], 0x36d0
mov dword [ebp - 0x70], ebx
jmp 0x10001e6d
mov eax, dword [ebp - 0x70]
mov dword [ebp + eax*4 - 0x94], 0xfffffffd
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], 1
jl 0x10001e5c
mov dword [ebp - 0x70], ebx
jmp 0x10001e8b
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0xd8]
mov dword [eax + ecx*4], 0xfffffff7
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], 2
jl 0x10001e78
mov eax, dword [ebp - 0x78]
inc dword [ebp - 0x78]
cmp eax, 0xa1e9
je 0x10001ea3
xor ecx, ecx
inc ecx
jmp 0x10001ea5
mov ecx, ebx
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x80]
add eax, ecx
jne 0x10001ec4
mov eax, dword [ebp - 0x94]
mov eax, dword [ebp - 0x78]
mov edi, dword [ebp - 0xd8]
mov eax, dword [edi + 4]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x78], 0xffffffea
jmp 0x10001f94
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x8c], 0x5a258d3b
mov dword [ebp - 0x84], 0xc923f2b6
mov dword [ebp - 0x74], ebx
jmp 0x10001f0f
mov eax, dword [ebp - 0x74]
mov dword [ebp + eax*4 - 0xb4], 0x7014
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 2
jl 0x10001efe
mov eax, dword [ebp - 0x70]
cmp dword [ebp - 0x80], 7
jne 0x10001f21
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x80]
cmp dword [edi + 4], ebx
je 0x10001f39
cmp dword [ebp - 0x80], ebx
je 0x10001f39
xor ecx, ecx
inc ecx
jmp 0x10001f3b
mov ecx, ebx
mov eax, dword [ebp - 0x70]
xor edx, edx
mov dword [ebp - 0x94], 0xc63b8821
mov eax, dword [ebp - 0x78]
cmp ecx, eax
mov eax, dword [ebp - 0x70]
setne dl
xor ecx, ecx
cmp eax, edx
mov eax, 0xc63b8821
setl cl
sub eax, ecx
xor ecx, ecx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x84]
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x70]
test eax, eax
setns cl
mov dword [ebp - 0x84], ecx
inc dword [ebp - 0x78]
cmp dword [ebp - 0x78], 0x39
jle 0x10001ee2
lea ecx, [ebp - 0xd8]
call fcn.1000c4da
mov eax, dword [0x1005d134]
test al, 1
jne 0x10001fe7
or eax, 1
mov dword [0x1005d134], eax
mov ecx, 0x1005d12c
mov dword [ebp - 4], ebx
mov dword [0x1005d12c], ebx
mov dword [0x1005d130], ebx
call fcn.10002a11
push 0x10049788
mov dword [0x1005d12c], eax
call fcn.10036748
or dword [ebp - 4], 0xffffffff
pop ecx
mov dword [ebp - 0x78], 0xffffffff
mov dword [ebp - 0x78], 0x1a
jmp 0x10002022
mov dword [ebp - 0x74], 0xffffffff
mov dword [ebp - 0x74], esi
jmp 0x10002019
mov dword [ebp - 0x88], 0x1c55
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x88], eax
dec dword [ebp - 0x74]
cmp dword [ebp - 0x74], 0xffffffe2
jle 0x10002003
dec dword [ebp - 0x78]
cmp dword [ebp - 0x78], 7
jle 0x10001ff7
cmp byte [0x1005d128], 0
jne 0x1000278e
push 4
lea ecx, [ebp - 0xe4]
mov byte [0x1005d128], 1
call fcn.10001a29
mov dword [ebp - 0x74], ebx
jmp 0x10002061
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0xe4]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 4
jl 0x1000204e
mov byte [ebp - 0x79], bl
cmp byte [ebp - 0x79], 0
je 0x10002078
push ebx
push ebx
call dword [sym.imp.GDI32.dll_GetWindowOrgEx]
mov eax, dword [ebp - 0xe4]
lea ecx, [ebp - 0xe4]
inc dword [eax + 0xc]
call fcn.1000c4da
push 1
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x8c], ebx
call fcn.10001a29
mov dword [ebp - 0x74], ebx
jmp 0x100020b3
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x110]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 1
jl 0x100020a4
mov byte [ebp - 0x79], bl
cmp byte [ebp - 0x79], 0
je 0x100020cb
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_EnableMenuItem]
mov byte [ebp - 0x79], bl
cmp byte [ebp - 0x79], 0
je 0x100020e5
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.GDI32.dll_StretchBlt]
lea ecx, [ebp - 0x110]
call fcn.1000c4da
mov al, byte [0x10058010]
cmp al, byte [esi + 0x10058010]
je 0x10002108
inc esi
cmp esi, 0xe0
jl 0x100020f5
jmp 0x1000210e
mov dword [ebp - 0x8c], esi
push 3
pop edi
push edi
lea ecx, [ebp - 0xc0]
call fcn.10001a29
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x84], 0x268dd2ac
mov dword [ebp - 0x80], 0xffffffff
mov dword [ebp - 0x84], 0xdcff2fd6
mov dword [ebp - 0x74], ebx
jmp 0x10002153
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0xc0]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], edi
jl 0x10002140
mov byte [ebp - 0x79], bl
cmp byte [ebp - 0x79], 0
je 0x10002171
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_DrawStateW]
push 2
mov dword [ebp - 0x70], ebx
pop esi
jmp 0x100021cc
mov dword [ebp - 0x78], 1
mov dword [ebp - 0x84], 0xfffffff6
mov dword [ebp - 0x88], 0xd239f94a
cmp dword [ebp - 0x78], ebx
jne 0x100021d1
xor ecx, ecx
mov eax, ebx
cmp eax, 0xfffffffd
mov eax, dword [ebp - 0xc0]
setge cl
imul ecx, dword [eax + 4]
mov eax, dword [ebp - 0x78]
neg ecx
sbb ecx, ecx
neg ecx
imul eax, ecx
xor ecx, ecx
cmp eax, 0xed99
setne cl
mov dword [ebp - 0x88], ecx
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], esi
jle 0x10002179
lea ecx, [ebp - 0xc0]
call fcn.1000c4da
mov dword [ebp - 0x80], 0x648261f
mov dword [ebp - 0x80], ebx
cmp dword [ebp - 0x80], 0xffffffee
push 0xa
pop eax
jne 0x100022b1
mov edi, 0xfaaf
mov dword [ebp - 0x70], 0x925b0e44
mov dword [ebp - 0x70], ebx
cmp dword [ebp - 0x70], 0xffffffe7
je 0x1000228e
mov dword [ebp - 0x78], 0x887cf2e5
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x78], 0xfffffff0
jmp 0x1000227c
push esi
lea ecx, [ebp - 0xcc]
call fcn.10001a29
mov dword [ebp - 0x74], ebx
jmp 0x1000224c
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 0xee1c9741
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], esi
jl 0x10002239
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + 4], ebx
mov eax, dword [ecx + 4]
inc dword [ecx + 4]
cmp dword [ecx + 4], 4
mov dword [ebp + eax*4 - 0x34], 0xa5b7
jl 0x1000225a
lea ecx, [ebp - 0xcc]
call fcn.1000c4da
inc dword [ebp - 0x78]
cmp dword [ebp - 0x78], 0xfffffffa
jle 0x10002228
dec dword [ebp - 0x70]
cmp dword [ebp - 0x70], 0xffffffe7
jne 0x1000220c
push 0xa
pop eax
mov dword [ebp - 0x70], eax
jmp 0x1000229b
cmp dword [ebp - 0x70], ebx
jne 0x100022a1
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], 0xd
jg 0x10002293
dec dword [ebp - 0x80]
cmp dword [ebp - 0x80], 0xffffffee
je 0x100021f8
push 3
pop edi
mov cl, byte [0x100580f0]
movzx eax, byte [0x10058010]
push eax
movzx eax, cl
push eax
mov byte [ebp - 0x88], cl
call fcn.100018da
pop ecx
pop ecx
push 4
lea ecx, [ebp - 0xf0]
mov byte [0x100580f0], al
call fcn.10001a29
mov dword [ebp - 0x74], 0x44d4e2b7
mov dword [ebp - 0x78], 0xffffffff
mov dword [ebp - 0x84], 7
mov dword [ebp - 4], 1
mov dword [ebp - 0x70], ebx
jmp 0x10002314
mov eax, dword [ebp - 0x70]
mov dword [ebp + eax*4 - 0x44], 0xffffffff
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], 4
jl 0x10002306
mov dword [ebp - 0x70], ebx
jmp 0x1000232c
mov eax, dword [ebp - 0x70]
mov dword [ebp + eax*4 - 0x9c], ebx
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], esi
jl 0x1000231f
mov dword [ebp - 0x70], ebx
jmp 0x10002349
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0xf0]
mov dword [eax + ecx*4], 0xfffffff9
inc dword [ebp - 0x70]
cmp dword [ebp - 0x70], 4
jl 0x10002336
mov dword [ebp - 0x9c], edi
cmp dword [ebp - 0x9c], ebx
jl 0x100024ca
mov edi, dword [ebp - 0xf0]
push dword [ebp - 0xa0]
movdqa xmm0, xmmword [0x1004a3a0]
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x6c]
mov dword [ebp - 0xac], ebx
push eax
push ebx
lea ecx, [ebp - 0xac]
mov dword [ebp - 0xa8], ebx
movdqu xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0xa4], ebx
call fcn.100013e3
mov dword [ebp - 0x84], 0x1e5c8a52
mov dword [ebp - 0x80], ebx
jmp 0x100023c0
mov eax, dword [ebp - 0x80]
mov dword [ebp + eax*4 - 0x104], 8
inc dword [ebp - 0x80]
cmp dword [ebp - 0x80], esi
jl 0x100023af
mov esi, dword [ebp - 0xac]
mov dword [esi], ebx
mov dword [ebp - 0x80], ebx
jmp 0x100023e0
mov eax, dword [ebp - 0x80]
mov dword [ebp + eax*4 - 0x24], 4
inc dword [ebp - 0x80]
cmp dword [ebp - 0x80], 3
jl 0x100023d2
mov dword [ebp - 0x20], 3
cmp dword [ebp - 0x20], ebx
jl 0x1000240a
mov byte [ebp - 0x79], bl
cmp byte [ebp - 0x79], 0
je 0x10002405
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
dec dword [ebp - 0x20]
jns 0x100023f2
mov eax, dword [ebp - 0x9c]
mov eax, dword [ebp + eax*4 - 0x44]
cmp dword [esi + 4], ebx
je 0x10002428
mov eax, dword [ebp - 0xac]
cmp dword [eax], ebx
je 0x10002428
xor edx, edx
inc edx
jmp 0x1000242a
mov edx, ebx
mov ecx, dword [ebp - 0x20]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, edx
setne al
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xac]
inc dword [eax]
cmp dword [eax], 3
jle 0x100023cd
mov eax, dword [ebp - 0x9c]
cmp dword [ebp + eax*4 - 0x44], ebx
jne 0x1000246f
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xac]
imul ecx, dword [eax]
test ecx, ecx
jne 0x1000246f
mov eax, ebx
jmp 0x10002472
xor eax, eax
inc eax
mov dword [ebp - 0x84], eax
xor ecx, ecx
mov eax, dword [ebp - 0x98]
mov dword [edi + 0xc], eax
imul eax, eax, 0x2057
cmp eax, 7
mov eax, dword [ebp - 0x9c]
setl cl
xor edx, edx
mov eax, dword [ebp + eax*4 - 0x44]
cmp eax, ecx
mov eax, dword [ebp - 0x74]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x78], ecx
lea ecx, [ebp - 0xac]
call fcn.1000c4da
dec dword [ebp - 0x9c]
push 2
pop esi
jns 0x10002367
push 3
pop edi
push 0xfffffffffffffff6
mov dword [ebp - 0x78], 0xfffffff4
pop esi
jmp 0x10002563
mov dword [ebp - 0x84], ebx
xor ecx, ecx
mov eax, dword [ebp - 0x78]
cmp eax, 1
setge cl
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x74], ebx
jmp 0x1000255b
mov dword [ebp - 0x84], 0x28bc1302
lea ecx, [ebp - 0x11c]
push 4
call fcn.10001a29
mov dword [ebp - 0x84], 0x7078
mov dword [ebp - 0x80], ebx
jmp 0x10002530
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x11c]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x80]
cmp dword [ebp - 0x80], 4
jl 0x10002521
inc dword [ebp - 0x84]
mov byte [ebp - 0x79], bl
cmp byte [ebp - 0x79], 0
je 0x1000254d
push ebx
push ebx
call dword [sym.imp.USER32.dll_BeginPaint]
lea ecx, [ebp - 0x11c]
call fcn.1000c4da
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], edi
jle 0x100024fb
inc dword [ebp - 0x78]
cmp dword [ebp - 0x78], esi
jge 0x100024d9
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf0]
call fcn.1000c4da
mov edi, dword [ebp - 0x8c]
xor esi, esi
inc esi
mov eax, esi
mov bl, byte [esi + 0x100580f0]
cdq
idiv edi
mov byte [ebp - 0x84], bl
movzx eax, byte [edx + 0x10058010]
push eax
push dword [ebp - 0x88]
push dword [ebp - 0x84]
call fcn.100018da
pop ecx
pop ecx
movzx eax, al
push eax
call fcn.100018da
mov byte [esi + 0x100580f0], al
inc esi
mov byte [ebp - 0x88], bl
pop ecx
pop ecx
cmp esi, 4
jl 0x10002584
mov edi, dword [0x100580f0]
test edi, edi
jle 0x1000278e
cmp edi, 0x387
jae 0x1000278e
push dword [ebp - 0x8c]
push 0x10058010
push dword [ebp - 0x84]
push 0x100580f0
push edi
push 4
call fcn.10003133
add esp, 0x18
mov ecx, 0x1005d12c
call fcn.10032b3a
push 0xa
pop eax
xor ebx, ebx
mov dword [ebp - 0x18], 0x99041700
push 2
mov word [ebp - 0x14], 0x313a
mov ecx, ebx
mov byte [ebp - 0x12], 0x1b
mov word [ebp - 0x90], ax
pop esi
cmp esi, 2
jne 0x10002640
push 5
pop ecx
push ecx
pop esi
jmp 0x1000266d
movzx edx, byte [ebp + esi - 0x17]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x1a]
movzx eax, word [ebp + eax*2 - 0x90]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + esi - 0x18]
mov word [ebp + eax*2 - 0x90], cx
mov ecx, ebx
add esi, 2
cmp esi, 7
jb 0x10002634
xor eax, eax
mov dword [ebp - 0x48], 7
mov word [ebp - 0x8e], ax
mov dword [ebp - 0x4c], ebx
mov word [ebp - 0x5c], ax
cmp word [ebp - 0x90], ax
je 0x100026a2
lea eax, [ebp - 0x90]
push eax
call fcn.10037734
pop ecx
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x5c]
call fcn.10002fe5
cmp dword [ebp - 0x48], 8
lea eax, [ebp - 0x5c]
push ebx
cmovae eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x5c]
push 1
movzx eax, word [eax]
mov dword [ebp - 0x88], eax
call fcn.10002dd1
mov eax, ebx
cmp eax, 4
jae 0x10002799
xor ecx, ecx
mov word [ebp + eax - 0x90], cx
add eax, 2
cmp eax, 4
jb 0x100026dc
shr edi, 1
mov dword [ebp - 0x8c], edi
cmp edi, 1
jbe 0x1000278e
lea eax, [ebx*2 + 0x100580f4]
push eax
call fcn.100030c9
mov dword [ebp - 0xa0], eax
lea eax, [ebx*2 + 0x100580f8]
push eax
call fcn.100030c9
cmp dword [ebp - 0xa0], 0xffffffff
pop ecx
pop ecx
mov dword [ebp - 0x80], eax
jne 0x10002731
test eax, eax
je 0x1000278e
add ebx, 4
mov dword [ebp - 0x84], ebx
test eax, eax
jle 0x10002781
lea ebx, [ebx*2 + 0x100580f4]
lea edi, [ebx + eax*2]
lea esi, [edi - 2]
push esi
call fcn.1000310c
cmp ax, word [ebp - 0x88]
lea eax, [ebp - 0xa0]
pop ecx
push eax
mov ecx, 0x1005d12c
cmove edi, esi
call fcn.10001bcb
mov dword [eax], ebx
mov ebx, dword [ebp - 0x84]
mov dword [eax + 4], edi
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x80]
add ebx, eax
lea eax, [ebx + 1]
cmp eax, edi
jb 0x100026ff
mov eax, 0x1005d12c
call fcn.1003780b
ret
call fcn.10036895
int3