Function at 0x102215d4
Capabilities:
Get geographical location

Disassembly:
sub esp, 0x48
mov eax, dword [0x1023904c]
xor eax, esp
mov dword [esp + 0x44], eax
push ebx
mov ebx, dword [esp + 0x5c]
push ebp
mov ebp, dword [esp + 0x58]
push esi
push edi
xor eax, eax
xor esi, esi
push 2
inc eax
mov dword [esp + 0x14], esi
pop ecx
test ebx, ebx
je 0x10221633
cmp ebx, eax
je 0x10221633
cmp ebx, ecx
jne 0x1022161e
cmp dword [0x1023af64], esi
je 0x10221628
call fcn.101f1c5e
test eax, eax
jne 0x10221628
call fcn.10221c05
jmp 0x10221638
push ebx
call fcn.1015692e
test eax, eax
jne 0x1022163a
push 5
call fcn.10089e37
jmp 0x10221631
jmp 0x1022163a
call fcn.1000adcf
mov ebx, eax
mov edi, dword [esp + 0x64]
test edi, edi
js 0x1022164a
cmp edi, 0xff
jle 0x10221651
push 5
call fcn.10089e37
xor eax, eax
mov word [0x102391b8], ax
xor ecx, ecx
inc ecx
mov eax, 0x6011
mov word [esp + 0x14], cx
mov dword [esp + 0x1c], esi
cmp word [ebp], ax
jne 0x1022169e
mov eax, dword [ebp + 8]
cmp dword [eax], esi
jne 0x1022169e
push 8
pop edi
lea eax, [esp + 0x2c]
push eax
push edi
lea eax, [esp + 0x1c]
push eax
push 0x102391b8
mov word [esp + 0x24], di
call fcn.100146ed
xor ecx, ecx
inc ecx
mov word [esp + 0x14], cx
jmp 0x102216b3
lea eax, [esp + 0x2c]
push eax
push 8
push ebp
push 0x102391b8
call fcn.100146ed
xor ecx, ecx
inc ecx
cmp eax, 0x800a005e
jne 0x102216cb
mov word [0x102391b8], cx
mov esi, 0x102391b8
jmp 0x10221974
test eax, eax
jns 0x102216da
lea ecx, [esp + 0x2c]
push ecx
push eax
call fcn.10014606
mov eax, dword [esp + 0x64]
test eax, 0xffffff3f
je 0x102216f6
test al, 0xc0
je 0x102216f6
push 5
call fcn.10089e37
jmp 0x102216f2
mov eax, dword [esp + 0x64]
and eax, 0xc0
sub eax, 0x40
je 0x10221751
sub eax, 0x40
je 0x10221715
sub eax, 0x40
jne 0x1022179b
push 5
jmp 0x10221796
push 6
lea eax, [esp + 0x50]
push eax
push 0x1004
push ebx
call dword [sym.imp.kernel32.dll_GetLocaleInfoA]
test eax, eax
jne 0x10221733
push 5
call fcn.10089e37
lea eax, [esp + 0x4c]
push eax
call dword [sym.imp.msvcr100.dll_atoi]
pop ecx
mov ecx, dword [0x102391c0]
push eax
lea edx, [esp + 0x20]
call fcn.1000d0e8
jmp 0x1022178b
push 6
lea eax, [esp + 0x50]
push eax
push 0x1004
push ebx
call dword [sym.imp.kernel32.dll_GetLocaleInfoA]
test eax, eax
jne 0x1022176f
push 5
call fcn.10089e37
lea eax, [esp + 0x4c]
push eax
call dword [sym.imp.msvcr100.dll_atoi]
pop ecx
mov ecx, dword [0x102391c0]
push eax
lea edx, [esp + 0x20]
call fcn.101b7189
push eax
call fcn.1009ecbc
test eax, eax
je 0x1022179b
push eax
call fcn.10089e37
mov edi, dword [esp + 0x64]
mov eax, edi
and eax, 3
mov dword [esp + 0x24], eax
dec eax
je 0x102217b5
dec eax
jne 0x102217ba
mov esi, 0x100
jmp 0x102217ba
mov esi, 0x200
mov ebp, edi
push 0x11
pop edx
and ebp, 0x30
je 0x102217dc
mov eax, ebx
and eax, 0x3ff
cmp ax, dx
je 0x102217dc
push 5
call fcn.10089e37
jmp 0x102217d9
push 0x11
pop edx
and edi, 0xc
je 0x1022188b
mov ecx, ebx
and ecx, 0x3ff
cmp cx, dx
jne 0x102217ff
cmp dword [0x102418cc], 0
jne 0x1022188b
cmp cx, 0x12
jne 0x1022180e
cmp dword [0x102418d0], 0
jne 0x1022188b
push 4
pop edx
cmp cx, dx
jne 0x10221836
mov eax, ebx
and eax, 0xfc00
mov edx, 0x400
cmp ax, dx
jne 0x10221830
cmp dword [0x102418d4], 0
jne 0x1022188b
push 4
pop edx
cmp cx, dx
mov edx, dword [0x102418d8]
jne 0x10221858
mov eax, ebx
and eax, 0xfc00
mov dword [esp + 0x28], 0x800
cmp ax, word [esp + 0x28]
jne 0x10221858
test edx, edx
jne 0x1022188b
push 4
pop eax
cmp cx, ax
jne 0x10221884
xor ecx, ecx
mov ax, bx
shr ax, 0xa
inc ecx
cmp ax, cx
je 0x10221884
push 2
pop ecx
cmp ax, cx
je 0x10221884
cmp dword [0x102418d4], 0
jne 0x1022188b
test edx, edx
jne 0x1022188b
push 5
call fcn.10089e37
push 4
pop edx
cmp edi, edx
je 0x102218af
cmp edi, 8
je 0x102218a7
cmp edi, 0xc
jne 0x102218b5
push 5
call fcn.10089e37
jmp 0x102218a5
jmp 0x102218b5
or esi, 0x400000
jmp 0x102218b5
or esi, 0x800000
cmp dword [0x102418cc], 0
je 0x102218e6
cmp ebp, 0x10
je 0x102218e0
cmp ebp, 0x20
je 0x102218d8
cmp ebp, 0x30
jne 0x102218e6
push 5
call fcn.10089e37
jmp 0x102218d6
jmp 0x102218e6
or esi, 0x100000
jmp 0x102218e6
or esi, 0x200000
cmp dword [esp + 0x24], 3
jne 0x10221901
push dword [0x102391c0]
lea ecx, [esp + 0x20]
push ebx
mov eax, esi
call fcn.10221a0d
jmp 0x10221915
test esi, esi
je 0x1022191b
push dword [0x102391c0]
lea ecx, [esp + 0x20]
push esi
call fcn.10221aa6
mov dword [esp + 0x10], eax
jmp 0x1022193d
cmp dword [esp + 0x1c], 0
jne 0x1022193d
push dword [0x102391c0]
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x1022193d
push 7
call fcn.10089e37
mov ecx, 0x102391b8
call fcn.10014cf3
mov esi, dword [esp + 0x10]
test esi, esi
jne 0x10221959
push 8
pop eax
mov word [esp + 0x14], ax
jmp 0x10221970
cmp dword [esp + 0x1c], 0
je 0x1022196a
push dword [esp + 0x1c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push esi
call fcn.10089e37
lea esi, [esp + 0x14]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x54]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10001e57
add esp, 0x48
ret 0x10