Function at 0x435848
Capabilities:
Get geographical location

Disassembly:
sub esp, 0x48
push ebx
push ebp
push esi
push edi
mov ebx, dword [esp + 0x60]
mov edi, 0x499558
xor ecx, ecx
mov word [esp + 0x3c], cx
mov edx, dword [esp + 0x5c]
cmp edx, ecx
jle 0x435869
jmp 0x435874
push ecx
call fcn.00476770
add esp, 4
mov edx, eax
mov dword [esp + 0x40], edx
lea ecx, [esp + 0x40]
push ecx
call fcn.0047762c
mov dword [esp + 0x48], eax
add esp, 4
cmp ebx, 2
jne 0x4358c5
push 0x20
lea ecx, [esp + 0x20]
push ecx
push 0x48f02b
push 0x48f021
push 0x48f00c
call dword [sym.imp.KERNEL32.DLL_GetProfileStringA]
push 0
push 0x48f011
push 0x48f00c
call fcn.00436767
mov word [esp + 0x48], ax
add esp, 0xc
jmp 0x4358fc
cmp ebx, 1
jne 0x4358e8
push 0x20
lea ecx, [esp + 0x20]
push ecx
push 0x48f02b
push 0x48f02c
push 0x48f00c
call dword [sym.imp.KERNEL32.DLL_GetProfileStringA]
jmp 0x4358fc
test ebx, ebx
je 0x4358fc
push 0x1f
push ebx
lea ecx, [esp + 0x24]
push ecx
call fcn.0043da34
add esp, 0xc
test ebx, ebx
je 0x435907
cmp byte [esp + 0x1c], 0
jne 0x435966
push 4
lea eax, [esp + 0x4c]
push eax
push 0x21
push 0x400
call dword [sym.imp.KERNEL32.DLL_GetLocaleInfoA]
movsx eax, byte [esp + 0x48]
cmp eax, 0x30
je 0x43592c
cmp eax, 0x32
je 0x435940
jmp 0x435954
push 0x48f037
lea eax, [esp + 0x20]
push eax
call fcn.0047165c
add esp, 8
jmp 0x435966
push 0x48f040
lea eax, [esp + 0x20]
push eax
call fcn.0047165c
add esp, 8
jmp 0x435966
push 0x48f049
lea eax, [esp + 0x20]
push eax
call fcn.0047165c
add esp, 8
lea ebx, [esp + 0x1c]
cmp byte [esp + 0x1c], 0
je 0x435bb2
mov ecx, dword [esp + 0x44]
add ecx, 0x10
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x44]
add ecx, 0x18
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x44]
add ecx, 0xc
mov dword [esp + 0x18], ecx
mov ebp, 0x48f02b
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x50], 0x48f02b
xor esi, esi
mov cl, byte [ebx]
mov byte [esp + 0x54], cl
mov edx, ecx
cmp cl, dl
jne 0x4359c3
inc esi
inc ebx
mov cl, byte [ebx]
cmp cl, byte [esp + 0x54]
je 0x4359b9
movsx eax, byte [esp + 0x54]
cmp eax, 0x44
je 0x435a04
cmp eax, 0x64
je 0x435a04
cmp eax, 0x4d
je 0x435ab0
cmp eax, 0x6d
je 0x435ab0
cmp eax, 0x59
je 0x435b00
cmp eax, 0x79
je 0x435b00
cmp eax, 0x27
je 0x435b31
jmp 0x435b57
mov ecx, 2
cmp esi, ecx
jle 0x435a36
mov edx, dword [esp + 0x14]
mov edx, dword [edx]
mov ebp, dword [edx*4 + 0x48ef68]
cmp esi, 4
jne 0x435a2a
push ebp
call fcn.004716c0
add esp, 4
jmp 0x435a2f
mov eax, 3
mov esi, eax
jmp 0x435b6c
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx]
mov dword [esp + 0x4c], ecx
cmp esi, 2
jne 0x435a4c
mov edx, 0x48f055
jmp 0x435a51
mov edx, 0x48f052
mov dword [esp + 0x50], edx
cmp word [esp + 0x3c], 0
je 0x435b6c
cmp ecx, 1
je 0x435a70
cmp ecx, 0x15
je 0x435a70
cmp ecx, 0x1f
jne 0x435a77
mov ebp, 0x48f05a
jmp 0x435aa6
mov ecx, dword [esp + 0x4c]
cmp ecx, 2
je 0x435a85
cmp ecx, 0x16
jne 0x435a8c
mov ebp, 0x48f05d
jmp 0x435aa6
mov ecx, dword [esp + 0x4c]
cmp ecx, 3
je 0x435a9a
cmp ecx, 0x17
jne 0x435aa1
mov ebp, 0x48f060
jmp 0x435aa6
mov ebp, 0x48f063
mov esi, 2
jmp 0x435b6c
cmp esi, 2
jbe 0x435ade
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
mov ebp, dword [ecx*4 + 0x48efdc]
cmp esi, 4
jne 0x435ad2
push ebp
call fcn.004716c0
add esp, 4
jmp 0x435ad7
mov eax, 3
mov esi, eax
jmp 0x435b6c
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
inc ecx
mov dword [esp + 0x4c], ecx
cmp esi, 2
jne 0x435af5
mov ecx, 0x48f055
jmp 0x435afa
mov ecx, 0x48f052
mov dword [esp + 0x50], ecx
jmp 0x435b6c
cmp esi, 2
jne 0x435b16
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + 0x14]
mov ecx, 0x64
cdq
idiv ecx
jmp 0x435b23
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx + 0x14]
add edx, 0x76c
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], 0x48f052
jmp 0x435b6c
mov cl, byte [ebx]
test cl, cl
je 0x435b4f
cmp cl, 0x27
je 0x435b4f
mov ecx, ebx
inc ebx
mov cl, byte [ecx]
mov byte [edi], cl
inc edi
mov cl, byte [ebx]
test cl, cl
je 0x435b4f
cmp cl, 0x27
jne 0x435b3c
cmp byte [ebx], 0x27
jne 0x435b6c
inc ebx
jmp 0x435b6c
mov ecx, esi
dec esi
test ecx, ecx
je 0x435b6c
mov cl, byte [esp + 0x54]
mov byte [edi], cl
inc edi
mov ecx, esi
dec esi
test ecx, ecx
jne 0x435b5e
mov ecx, dword [esp + 0x4c]
test ecx, ecx
js 0x435b84
push ecx
push dword [esp + 0x54]
push edi
call fcn.0047182c
add edi, eax
add esp, 0xc
mov ecx, esi
dec esi
test ecx, ecx
je 0x435b91
cmp byte [ebp], 0
jne 0x435b9b
cmp byte [ebx], 0
je 0x435bb2
jmp 0x435996
mov ecx, ebp
inc ebp
mov cl, byte [ecx]
mov byte [edi], cl
inc edi
mov ecx, esi
dec esi
test ecx, ecx
je 0x435b91
cmp byte [ebp], 0
je 0x435b91
jmp 0x435b9b
mov byte [edi], 0
mov eax, 0x499558
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret