Function at 0x341fa09a
Capabilities:
Get geographical location

Disassembly:
sub esp, 0x2c
mov eax, dword [0x34234fcc]
xor eax, esp
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
push ebx
mov ebx, dword [esp + 0x44]
push ebp
push esi
mov esi, dword [esp + 0x3c]
push edi
mov edi, ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], ecx
lea ecx, [edx + edx]
xor ebp, ebp
push ecx
push ebp
push eax
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebp
call sub.MSVCR90.dll_memset
add esp, 0xc
cmp ebx, ebp
jne 0x34260b12
xor edx, edx
mov dword [edi + 0xe4], 0xfffeff
mov word [edi + 0xe8], dx
movzx eax, word [esi]
cmp ax, 0x3b
jne 0x342ac79f
movzx eax, word [esi]
cmp ax, bp
je 0x341fa2da
cmp ax, 0x20
je 0x342ac7be
cmp word [esi], 0x3b
jne 0x341fa2da
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
je 0x341fa2da
cmp ax, 0x20
je 0x342ac7cd
movzx eax, word [esi]
test ax, ax
je 0x341fa2da
mov ebp, esi
cmp ax, 0x3d
je 0x341fa177
cmp ax, 0x20
je 0x341fa177
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x341fa15a
jmp 0x342ac7dd
cmp word [esi], 0
je 0x342ac7dd
mov ebx, esi
sub ebx, ebp
sar ebx, 1
cmp word [esi], 0x20
je 0x342ac7f2
cmp word [esi], 0x3d
jne 0x342ac801
add esi, 2
cmp word [esi], 0
je 0x342ac801
cmp word [esi], 0x20
mov edi, esi
je 0x342ac816
cmp dword [esp + 0x1c], 0
jne 0x341fa1dc
push 0x34227e50
call fcn.341f2ad9
push eax
push ebp
push 0x34227e50
call fcn.341fa318
add esp, 0x10
test eax, eax
je 0x342ac825
cmp word [esi], 0
je 0x342ac8a1
push 0x34227e58
call fcn.341f2ad9
push eax
push ebp
push 0x34227e58
call fcn.341fa318
add esp, 0x10
test eax, eax
je 0x342ac8b6
push 0x341fa30c
call fcn.341f2ad9
push eax
push ebp
push 0x341fa30c
call fcn.341fa318
add esp, 0x10
test eax, eax
jne 0x342ac8ff
push 0x341fa30c
call fcn.341f2ad9
add esp, 4
cmp ebx, eax
jne 0x342ac8ff
mov ebx, 3
push 0
lea eax, [esp + 0x1c]
push eax
push esi
call dword [sym.imp.MSVCR90.dll_wcstol]
add esp, 0xc
mov edi, eax
cmp esi, dword [esp + 0x18]
je 0x342ac8d2
mov esi, dword [esp + 0x18]
test ebx, ebx
je 0x341fa270
cmp ebx, 3
jne 0x342ac8e7
test edi, edi
je 0x342aca2e
mov ebx, dword [esp + 0x28]
mov edx, dword [ebx + 0xe4]
push 0xa
lea eax, [esp + 0x30]
and edx, 0xfe000000
push eax
add edx, edi
push 0x1004
and edi, 0xfeffffff
push edi
mov dword [ebx + 0xe4], edx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test eax, eax
je 0x342aca43
lea ecx, [esp + 0x2c]
push ecx
call dword [sym.imp.MSVCR90.dll_atoi]
add esp, 4
mov word [ebx + 0xe8], ax
mov dword [esp + 0x20], 1
movzx eax, word [esi]
test ax, ax
jne 0x341fa11e
mov ecx, dword [esp + 0x10]
test byte [ecx], 8
pop edi
pop esi
pop ebp
pop ebx
jne 0x341fa2f9
cmp dword [esp + 0x3c], 0
jne 0x341fa2f9
cmp dword [esp + 0x10], 0
je 0x342aca74
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.341f1dd1
add esp, 0x2c
ret 0x18
push 0x144
push ebp
push ebx
call sub.MSVCR90.dll_memset
add esp, 0xc
jmp 0x341fa0f2
movzx eax, ax
cmp ax, bp
je 0x341fa112
movzx eax, word [esi + 2]
add esi, 2
cmp ax, 0x3b
je 0x341fa112
jmp 0x342ac7a2
add esi, 2
cmp word [esi], 0x20
jne 0x341fa128
jmp 0x342ac7be
nop
add esi, 2
cmp word [esi], 0x20
jne 0x341fa14c
jmp 0x342ac7ce
mov ecx, dword [esp + 0x10]
push 1
push 0xfffffc15
call fcn.341f8dac
jmp 0x341fa181
add esi, 2
cmp word [esi], 0x20
jne 0x341fa191
jmp 0x342ac7f2
mov ecx, dword [esp + 0x10]
push 1
push 0xfffffc15
call fcn.341f8dac
jmp 0x341fa1a8
add esi, 2
cmp word [esi], 0x20
jne 0x341fa1b4
jmp 0x342ac816
push 0x34227e50
call fcn.341f2ad9
add esp, 4
cmp ebx, eax
jne 0x341fa1dc
movzx eax, word [edi]
xor ecx, ecx
mov dword [esp + 0x1c], 1
mov esi, edi
test ax, ax
je 0x341fa2ce
movzx eax, ax
cmp ax, 0x3b
je 0x341fa2ce
cmp ax, 0x5c
jne 0x342ac86c
cmp word [esi + 2], 0
je 0x342ac88c
cmp ecx, dword [esp + 0x48]
jae 0x342ac88c
mov edx, dword [esp + 0x24]
add esi, 2
mov word [edx + ecx*2], ax
movzx eax, word [esi]
inc ecx
test ax, ax
je 0x341fa2da
jmp 0x342ac855
mov ecx, dword [esp + 0x10]
push 1
push 0xfffff88f
call fcn.341f8dac
jmp 0x341fa2ce
mov ecx, dword [esp + 0x10]
push 1
push 0xfffffc15
call fcn.341f8dac
jmp 0x341fa2ce
push 0x34227e58
call fcn.341f2ad9
add esp, 4
cmp ebx, eax
jne 0x341fa207
xor ebx, ebx
jmp 0x341fa242
mov ecx, dword [esp + 0x10]
push 1
push 0xfffffc15
call fcn.341f8dac
jmp 0x341fa25f
cmp ebx, 7
jne 0x341fa2ce
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x140], edi
jmp 0x341fa2ce
cmp dword [esp + 0x14], 0
je 0x342aca06
push 0x342aca88
call fcn.341f2ad9
push eax
push ebp
push 0x342aca88
call fcn.341fa318
add esp, 0x10
test eax, eax
jne 0x342ac996
push 0x342aca88
call fcn.341f2ad9
add esp, 4
cmp ebx, eax
jne 0x342ac996
mov eax, 5
mov ebx, dword [esp + 0x14]
mov ecx, eax
sub ecx, 5
xor edi, edi
neg ecx
sbb ecx, ecx
and ecx, 0xffffffa0
sub ecx, 0xffffff80
cmp eax, 5
je 0x342ac95d
add ebx, 0x100
movzx eax, word [esi]
test ax, ax
je 0x342aca69
mov edi, edi
cmp ax, 0x3b
je 0x342aca69
lea edx, [ecx - 1]
cmp edi, edx
jge 0x342aca59
add esi, 2
mov word [ebx + edi*2], ax
movzx eax, word [esi]
inc edi
test ax, ax
je 0x342aca69
jmp 0x342ac96b
push 0x342aca90
call fcn.341f2ad9
push eax
push ebp
push 0x342aca90
call fcn.341fa318
add esp, 0x10
test eax, eax
jne 0x342ac9ce
push 0x342aca90
call fcn.341f2ad9
add esp, 4
cmp ebx, eax
jne 0x342ac9ce
mov eax, 6
jmp 0x342ac93d
push 0x342aca9c
call fcn.341f2ad9
push eax
push ebp
push 0x342aca9c
call fcn.341fa318
add esp, 0x10
test eax, eax
jne 0x342aca06
push 0x342aca9c
call fcn.341f2ad9
add esp, 4
cmp ebx, eax
jne 0x342aca06
mov ebx, 7
jmp 0x341fa242
movzx eax, word [esi]
test ax, ax
je 0x341fa2da
cmp ax, 0x3b
je 0x341fa2ce
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
je 0x341fa2da
jmp 0x342aca12
mov ecx, dword [esp + 0x10]
push 1
push 0xffffec5e
call fcn.341f8dac
jmp 0x341fa2ce
xor edx, edx
mov word [ebx + 0xe8], dx
mov dword [esp + 0x20], 1
jmp 0x341fa2ce
mov ecx, dword [esp + 0x10]
push 1
push 0xfffffc15
call fcn.341f8dac
xor eax, eax
mov word [ebx + edi*2], ax
jmp 0x341fa2ce
push 1
push 0xfffffbda
call fcn.341f8dac
jmp 0x341fa2f9