Function at 0x423610
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x448
mov eax, dword [0x78ca90]
xor eax, ebp
mov dword [ebp - 4], eax
movzx eax, word [0x792e28]
test eax, eax
je 0x42363e
movzx ecx, byte [0x792e22]
test ecx, ecx
jne 0x42363e
jmp 0x423ad8
xor edx, edx
mov word [ebp - 0x418], dx
movzx eax, byte [0x792e22]
test eax, eax
je 0x423675
movzx ecx, word [0x792e2c]
shl ecx, 0xa
movzx edx, word [0x792e28]
or ecx, edx
mov word [ebp - 0x418], cx
mov byte [0x792e22], 0
jmp 0x4236a9
lea eax, [ebp - 0x418]
push eax
call fcn.004245a0
add esp, 4
movzx ecx, word [ebp - 0x418]
and ecx, 0x3ff
mov word [0x792e28], cx
movzx edx, word [ebp - 0x418]
sar edx, 0xa
mov word [0x792e2c], dx
mov eax, 2
imul ecx, eax, 0
mov dword [ebp - 0x42c], ecx
cmp dword [ebp - 0x42c], 0x208
jae 0x4236c5
jmp 0x4236ca
call fcn.005cf37a
xor edx, edx
mov eax, dword [ebp - 0x42c]
mov word [eax + 0x7933b0], dx
mov ecx, 2
imul edx, ecx, 0
mov dword [ebp - 0x444], edx
cmp dword [ebp - 0x444], 0x208
jae 0x4236f5
jmp 0x4236fa
call fcn.005cf37a
xor eax, eax
mov ecx, dword [ebp - 0x444]
mov word [ecx + 0x7935b8], ax
movzx edx, word [ebp - 0x418]
cmp edx, 0x409
je 0x423724
movzx eax, word [ebp - 0x418]
cmp eax, 9
jne 0x423729
jmp 0x423ad8
push 0x55
push 0x793870
push 0x5a
movzx ecx, word [ebp - 0x418]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jne 0x423774
mov edx, 2
imul eax, edx, 0
mov dword [ebp - 0x440], eax
cmp dword [ebp - 0x440], 0xaa
jae 0x423760
jmp 0x423765
call fcn.005cf37a
xor ecx, ecx
mov edx, dword [ebp - 0x440]
mov word [edx + 0x793870], cx
push 0x55
push 0x7937c0
push 0x59
movzx eax, word [ebp - 0x418]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jne 0x4237ef
mov ecx, 2
imul edx, ecx, 0
mov dword [ebp - 0x438], edx
cmp dword [ebp - 0x438], 0xaa
jae 0x4237ab
jmp 0x4237b0
call fcn.005cf37a
xor eax, eax
mov ecx, dword [ebp - 0x438]
mov word [ecx + 0x7937c0], ax
mov edx, 2
imul eax, edx, 0
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0xaa
jae 0x4237db
jmp 0x4237e0
call fcn.005cf37a
xor ecx, ecx
mov edx, dword [ebp - 0x420]
mov word [edx + 0x793870], cx
mov eax, 2
imul ecx, eax, 0
mov dword [ebp - 0x43c], ecx
cmp dword [ebp - 0x43c], 0x208
jae 0x42380b
jmp 0x423810
call fcn.005cf37a
xor edx, edx
mov eax, dword [ebp - 0x43c]
mov word [ebp + eax - 0x20c], dx
push 0x104
lea ecx, [ebp - 0x20c]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push str.e3.exe
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
call fcn.005d0374
add esp, 8
test eax, eax
jne 0x42386f
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea ecx, [ebp - 0x20c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
jmp 0x4238ce
mov edx, 2
imul eax, edx, 0
mov dword [ebp - 0x434], eax
cmp dword [ebp - 0x434], 0x208
jae 0x42388b
jmp 0x423890
call fcn.005cf37a
xor ecx, ecx
mov edx, dword [ebp - 0x434]
mov word [ebp + edx - 0x20c], cx
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [ebp - 0x20c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov dword [ebp - 0x448], 0x6ebf90
mov byte [ebp - 0x41a], 0
mov byte [ebp - 0x419], 0
mov eax, 2
imul ecx, eax, 0
movzx edx, word [ecx + 0x7937c0]
test edx, edx
je 0x42394a
push 0x6ebfec
lea eax, [ebp - 0x20c]
push eax
push 0x7933b0
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push 0x7937c0
push 0x7933b0
push 0x7933b0
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push 0x7933b0
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x42394a
push 0x7933b0
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryEmptyW]
test eax, eax
jne 0x42394a
mov byte [ebp - 0x41a], 1
mov ecx, 2
imul edx, ecx, 0
movzx eax, word [edx + 0x793870]
test eax, eax
je 0x423a01
push 0x7937c0
push 0x104
lea ecx, [ebp - 0x414]
push ecx
call fcn.005d0290
add esp, 0xc
mov edx, dword [ebp - 0x448]
push edx
push 0x104
lea eax, [ebp - 0x414]
push eax
call fcn.005d0224
add esp, 0xc
push 0x793870
push 0x104
lea ecx, [ebp - 0x414]
push ecx
call fcn.005d0224
add esp, 0xc
push 0x6ebfec
lea edx, [ebp - 0x20c]
push edx
push 0x7935b8
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x414]
push eax
push 0x7935b8
push 0x7935b8
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push 0x7935b8
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
je 0x423a01
push 0x7935b8
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryEmptyW]
test eax, eax
jne 0x423a01
mov byte [ebp - 0x419], 1
movzx ecx, byte [ebp - 0x419]
test ecx, ecx
jne 0x423a47
movzx edx, byte [ebp - 0x41a]
test edx, edx
je 0x423a47
mov eax, 2
imul ecx, eax, 0
mov dword [ebp - 0x424], ecx
cmp dword [ebp - 0x424], 0x208
jae 0x423a33
jmp 0x423a38
call fcn.005cf37a
xor edx, edx
mov eax, dword [ebp - 0x424]
mov word [eax + 0x7935b8], dx
movzx ecx, byte [ebp - 0x419]
test ecx, ecx
jne 0x423ad8
movzx edx, byte [ebp - 0x41a]
test edx, edx
jne 0x423ad8
mov eax, 2
imul ecx, eax, 0
mov dword [ebp - 0x428], ecx
cmp dword [ebp - 0x428], 0x208
jae 0x423a7d
jmp 0x423a82
call fcn.005cf37a
xor edx, edx
mov eax, dword [ebp - 0x428]
mov word [eax + 0x7933b0], dx
mov ecx, 2
imul edx, ecx, 0
mov dword [ebp - 0x430], edx
cmp dword [ebp - 0x430], 0x208
jae 0x423aad
jmp 0x423ab2
call fcn.005cf37a
xor eax, eax
mov ecx, dword [ebp - 0x430]
mov word [ecx + 0x7935b8], ax
mov edx, 9
mov word [0x792e28], dx
mov eax, 1
mov word [0x792e2c], ax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005cfbcb
mov esp, ebp
pop ebp
ret