Function at 0x402b64
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff40
mov eax, 0x403300
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 8], eax
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_ObjectCloseAuditAlarmW
test eax, eax
jne 0x402ba7
xchg dword [0x41f048], edx
xchg dword [0x41f08f], ecx
mov byte [0x41f0b8], 0x65
call fcn.004017fc
mov ecx, eax
mov word [0x41f0d0], 0xce7d
mov dword [0x41f0ba], esi
cmp edi, dword [esp + 4]
jle 0x402bde
mov dword [0x41f097], eax
sub dword [0x41f041], esi
lea eax, [0x41f022]
mov dword [eax + 0x10], 0x84
jmp 0x402bed
xchg dword [0x41f087], edx
mov word [0x41f04c], 0x4da
mov eax, 0x403318
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.advapi32.dll_ObjectCloseAuditAlarmW
test eax, eax
je 0x402c39
xchg dword [0x41f0f1], eax
sub dword [0x41f0bb], edx
mov dword [0x41f10a], esi
mov dword [0x41f08d], 0x165f3
mov word [0x41f04b], 0x6263
call fcn.00416218
lea edx, [0x41f072]
and dword [edx + 0x1c], ecx
mov edi, dword [0x41f049]
mov dword [0x41f0bc], esi
inc byte [0x41f066]
mov dword [ebp - 0x1c], 0x1bc3f
mov dword [ebp - 0x20], 0x1b4b4
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call sub.user32.dll_GetWindow
test eax, eax
je 0x402c91
add ecx, dword [0x41f011]
mov byte [0x41f0ec], 0x23
mov dword [0x41f077], esi
mov dword [0x41f094], eax
mov eax, dword [ebp - 0x24]
push eax
call sub.kernel32.dll_SetThreadLocale
test eax, eax
je 0x402cb4
mov dword [0x41f0e1], ecx
mov word [0x41f030], 0x3f7c
mov byte [0x41f05a], 0xc6
mov eax, dword [ebp - 0x28]
push eax
call sub.kernel32.dll_SetThreadLocale
test eax, eax
je 0x402cd3
mov dword [0x41f0fc], ebx
mov dword [0x41f09e], eax
mov dword [0x41f0e0], ebx
mov byte [ebp - 0xbd], 0
mov edx, 0x1ba
mov dword [esp - 0x1c], edi
mov dword [0x41f07c], eax
add dword [0x41f04b], edi
mov dword [0x41f0b8], 0x15760
mov dword [ebp - 0x2c], 0x10e34
mov dword [ebp - 0x30], 0x18df2
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x2c]
push eax
call sub.user32.dll_GetWindow
test eax, eax
je 0x402d33
mov dword [0x41f073], eax
and dword [0x41f034], ebx
mov word [0x41f04b], 0x7839
add dword [0x41f0a0], edx
inc byte [ebp - 0xbd]
cmp byte [ebp - 0xbd], 1
jne 0x402cda
mov dword [0x41f0e0], ebx
mov eax, dword [0x41f02d]
mov word [0x41f0f4], 0x6dcf
mov eax, 0x403328
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x38], eax
xor eax, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x34]
push eax
call sub.advapi32.dll_ObjectCloseAuditAlarmW
test eax, eax
jne 0x402d9c
mov dword [0x41f02a], 0x11560
and ecx, dword [0x41f01c]
mov dword [0x41f0f9], eax
mov eax, esi
mov ecx, dword [0x41f01f]
mov dword [esp - 0x12], ebx
mov dword [0x41f074], ecx
add dword [0x41f0e6], ebx
mov dword [0x41f0a7], esi
mov eax, 0x40333c
mov dword [ebp - 0x40], eax
xor eax, eax
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x40]
push eax
call sub.advapi32.dll_ObjectCloseAuditAlarmW
test eax, eax
je 0x402e07
mov dword [0x41f06e], edx
sub eax, dword [0x41f030]
cmp byte [0x41f089], cl
jg 0x402df3
mov dword [0x41f022], ecx
mov ebx, dword [0x41f0b0]
dec edx
lea eax, [0x41f0c0]
mov dword [eax + 8], 0xe5
call fcn.00402160
mov byte [ebp - 0xbd], 0
mov eax, 0x403360
mov dword [ebp - 0x4c], eax
xor eax, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], 0xffffffff
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x4c]
push eax
call sub.advapi32.dll_ObjectCloseAuditAlarmW
test eax, eax
jne 0x402e69
cmp edx, 0xd7
jge 0x402e4f
mov ebx, 0x1d
mov eax, dword [0x41f0aa]
mov byte [0x41f0a2], 0x49
mov word [0x41f0d4], 0x65aa
sub dword [0x41f0bd], edx
mov dword [esp - 0x1c], edi
call fcn.00401f74
inc byte [ebp - 0xbd]
cmp byte [ebp - 0xbd], 2
jne 0x402e13
mov ecx, 0x34
add dword [0x41f045], eax
mov byte [0x41f0d9], 0xa
mov dword [0x41f0ed], esi
mov dword [0x41f03b], edx
call fcn.00401018
mov eax, dword [ebp - 0x58]
push eax
call sub.kernel32.dll_SetThreadLocale
mov dword [0x41f086], eax
mov dword [0x41f0aa], edi
mov dword [0x41f075], edx
mov dword [ebp - 0x60], 0x130e2
mov eax, 0x403370
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x68], 0x192ad
mov eax, dword [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x5c]
push eax
call sub.kernel32.dll_GetLocaleInfoA
mov dword [0x41f069], ebx
mov dword [0x41f086], ecx
dec esi
mov eax, 0x403380
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp - 0x70], eax
xor eax, eax
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
push eax
mov eax, dword [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x6c]
push eax
call sub.advapi32.dll_ObjectCloseAuditAlarmW
test eax, eax
jne 0x402f2d
xchg dword [esp - 0x1c], eax
mov dword [0x41f074], esi
mov dword [0x41f04d], ebx
and edi, 0x53
mov dword [0x41f104], 0x1447a
cmp byte [ebp + 0x28], ah
jle 0x402f4e
mov dword [0x41f093], ecx
mov dword [0x41f079], eax
mov dword [0x41f09a], ebx
mov dword [0x41f041], ecx
mov dword [0x41f07b], ebx
mov word [0x41f108], 0x2b0
push 1
call fcn.00401018
test edx, edx
jne 0x402f7a
mov dword [0x41f04f], 0x15f48
jmp 0x402f93
mov byte [0x41f0c8], 0x19
xchg dword [0x41f0f1], edx
mov dword [0x41f097], esi
mov dword [0x41f08b], eax
mov dword [0x41f0a0], edi
mov ebx, 0x1f8
xchg dword [0x41f02f], esi
sub dword [0x41f043], ebx
mov dword [ebp - 0x7c], 0x103bf
mov eax, 0x40338c
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x84], 0x10656
mov eax, dword [ebp - 0x84]
push eax
mov eax, dword [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x7c]
push eax
mov eax, dword [ebp - 0x78]
push eax
call sub.kernel32.dll_GetLocaleInfoA
inc eax
inc dword [0x41f08b]
mov dword [0x41f0a2], ebx
mov dword [0x41f0c9], 0x127f7
mov dword [0x41f061], ebx
mov eax, 0x4033a4
mov dword [ebp - 0x88], eax
xor eax, eax
mov dword [ebp - 0x8c], eax
xor eax, eax
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x90]
push eax
mov eax, dword [ebp - 0x8c]
push eax
mov eax, dword [ebp - 0x88]
push eax
call sub.advapi32.dll_ObjectCloseAuditAlarmW
test eax, eax
jne 0x403043
mov dword [0x41f09f], edi
mov dword [0x41f093], edx
sub dword [0x41f0c9], edi
mov byte [0x41f109], 0xd2
mov byte [0x41f03b], 0x2d
mov dword [0x41f092], ecx
mov ecx, 0x41f076
push ebx
mov edx, 0x41f0ed
call fcn.00402160
mov dword [ebp - 0x98], 0x16664
mov eax, 0x4033cc
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xa0], 0x16165
mov eax, dword [ebp - 0xa0]
push eax
mov eax, dword [ebp - 0x9c]
push eax
mov eax, dword [ebp - 0x98]
push eax
mov eax, dword [ebp - 0x94]
push eax
call sub.kernel32.dll_GetLocaleInfoA
test eax, eax
je 0x4030da
mov dword [0x41f0d5], ebx
cmp esi, dword [esp - 0x18]
jge 0x4030bf
mov dword [0x41f0e7], edx
jmp 0x4030c5
mov dword [0x41f054], ecx
mov dword [0x41f0ab], esi
mov word [0x41f085], 0xcbc9
mov dword [0x41f01e], ebx
call fcn.004018ec
mov byte [0x41f109], 0xd2
mov byte [0x41f03b], 0x2d
mov dword [0x41f092], ecx
mov dword [ebp - 0xa4], 0x1ed84
mov dword [ebp - 0xa8], 0x13d43
mov eax, dword [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0xa4]
push eax
call sub.user32.dll_GetWindow
test eax, eax
jne 0x40313e
mov eax, dword [esp + 4]
mov dword [0x41f053], esi
add dword [0x41f0e5], edx
xchg dword [0x41f03c], ecx
mov dword [0x41f0c1], 0x17a05
lea edx, [0x41f072]
and dword [edx + 0x1c], ecx
mov edi, dword [0x41f049]
mov dword [0x41f0bc], esi
inc byte [0x41f066]
push 0
call fcn.00402160
test ecx, ecx
je 0x403166
mov eax, ebx
lea ebx, [0x41f081]
mov dword [ebx + 0x20], esi
mov dword [0x41f104], 0x13e72
add esi, 0xad
mov ebx, ecx
mov dword [0x41f0c6], ecx
mov dword [0x41f0c1], ebx
mov eax, 0x4033d4
mov dword [ebp - 0xac], eax
xor eax, eax
mov dword [ebp - 0xb0], eax
xor eax, eax
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xb4]
push eax
mov eax, dword [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0xac]
push eax
call sub.advapi32.dll_ObjectCloseAuditAlarmW
test eax, eax
jne 0x4031e8
test ch, ch
je 0x4031cf
and esi, 0x47
jmp 0x4031d6
mov byte [0x41f060], 0xde
mov dword [0x41f0c5], ebx
mov dword [0x41f102], edx
mov dword [0x41f0cd], ecx
xchg dword [0x41f0f8], eax
mov dword [esp - 4], esi
mov word [0x41f0c8], 0xb58f
add dword [0x41f0b8], ecx
test ah, ah
je 0x403212
mov edi, 0x1de
and dword [0x41f0d5], ecx
jmp 0x403231
mov dword [0x41f0f9], 0x112a5
mov word [0x41f02e], 0xd9c9
mov dword [0x41f026], esi
mov dword [0x41f0a0], edi
xchg dword [0x41f0d1], eax
mov dword [esp - 0x1c], ebx
mov dword [0x41f01c], edi
test ebx, ebx
je 0x40324b
add dword [0x41f086], esi
mov word [0x41f014], 0xceb1
mov eax, dword [ebp - 0xb8]
push eax
call sub.kernel32.dll_SetThreadLocale
test eax, eax
jne 0x403282
mov dword [0x41f03e], ebx
mov dword [esp - 0xc], ecx
mov dword [0x41f0ed], edx
cmp byte [esp + 4], bh
jle 0x40327c
mov edi, ebx
mov ecx, dword [0x41f056]
call fcn.00401f74
cmp esi, dword [esp + 8]
jle 0x403293
sub ebx, dword [0x41f08b]
mov dword [esp - 4], esi
mov ebx, 6
mov edx, esi
mov dword [0x41f0a4], ecx
mov edx, esi
sub dword [0x41f04d], ebx
mov dword [0x41f101], edx
mov eax, dword [ebp - 0xbc]
push eax
call sub.kernel32.dll_SetThreadLocale
test eax, eax
jne 0x4032d4
mov dword [0x41f0f0], eax
mov dword [0x41f03b], edx
mov dword [0x41f0f8], esi
call fcn.00416218
xchg dword [0x41f0b4], ecx
mov word [0x41f08e], 0xb3f9
mov dword [0x41f017], esi
add dword [0x41f0bd], ebx
mov dword [0x41f011], edx
mov esp, ebp
pop ebp
ret