Function at 0x4365e5
Capabilities:
Get geographical location

Disassembly:
push ebp
sub esp, 0x19c
lea ebp, [esp - 4]
mov eax, dword [0x4fc5b0]
xor eax, ebp
mov dword [ebp + 0x19c], eax
push 0x3c
mov eax, 0x4bfe38
call fcn.00492516
mov eax, dword [ebp + 0x1a8]
and dword [ebp - 0x40], 0
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x1ac]
mov esi, ecx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x3c], eax
call fcn.004703d0
push str.stub
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 1
call fcn.00470680
mov ebx, dword [ebp + 0x1b0]
mov dword [ebp - 0x20], ebx
and dword [ebp - 0x20], 0xbb
mov byte [ebp - 4], 2
mov edi, str.prod
je 0x436682
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x14]
push edi
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call fcn.00470bc0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00470660
test bl, 0x44
je 0x4366b4
lea eax, [esi + 0x178]
push eax
lea eax, [ebp - 0x14]
push edi
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 4
call fcn.00470bc0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00470660
test bl, 0x3b
je 0x436701
push 0x4d21f0
lea ecx, [ebp - 0x30]
call fcn.00470680
push eax
lea eax, [ebp - 0x14]
push str.version
push eax
mov byte [ebp - 4], 5
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 6
call fcn.00470bc0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 5
call fcn.00470660
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 2
call fcn.00470660
mov dword [ebp - 0x34], ebx
and dword [ebp - 0x34], 0xcc
je 0x43673e
lea eax, [esi + 0x198]
push eax
lea eax, [ebp - 0x14]
push str.ver
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 7
call fcn.00470bc0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00470660
test bl, 0xaa
je 0x436774
lea eax, [esi + 0x168]
push eax
lea eax, [ebp - 0x14]
push str.DistCode
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call fcn.00470bc0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00470660
test bl, 0xdd
je 0x4367aa
lea eax, [esi + 0x168]
push eax
lea eax, [ebp - 0x14]
push 0x4d25c0
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 9
call fcn.00470bc0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00470660
test bl, 0xab
je 0x4367eb
lea edi, [esi + 0x634]
mov ecx, edi
call fcn.0040d4fd
test al, al
jne 0x4367eb
push edi
lea eax, [ebp - 0x14]
push str.testid
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xa
call fcn.00470bc0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00470660
mov edi, ebx
and edi, 0xf
je 0x436823
lea eax, [esi + 0xf8]
push eax
lea eax, [ebp - 0x14]
push str.sessionid
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xb
call fcn.00470bc0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00470660
test bl, bl
je 0x436858
lea eax, [esi + 0x1a8]
push eax
lea eax, [ebp - 0x14]
push 0x4d25b8
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xc
call fcn.00470bc0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00470660
cmp dword [ebp - 0x20], 0
je 0x4368c6
lea eax, [esi + 0xe8]
push eax
lea eax, [ebp - 0x14]
push str.userid
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xd
call fcn.00470bc0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00470660
cmp dword [ebp - 0x20], 0
je 0x4368c6
lea eax, [esi + 0xf0]
push eax
lea eax, [ebp - 0x14]
push str.sysid
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xe
call fcn.00470bc0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00470660
test edi, edi
je 0x43690e
lea eax, [esi + 0x168]
push eax
lea edi, [esi + 0x188]
push edi
call fcn.0040d585
pop ecx
pop ecx
test al, al
je 0x43690e
push edi
lea eax, [ebp - 0x14]
push str.prevcode
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xf
call fcn.00470bc0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00470660
mov dword [ebp - 0x20], ebx
and dword [ebp - 0x20], 0x99
je 0x43694b
lea eax, [esi + 0x178]
push eax
lea eax, [ebp - 0x14]
push str.payload
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x10
call fcn.00470bc0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00470660
test bl, 0xfd
je 0x436981
lea eax, [esi + 0x190]
push eax
lea eax, [ebp - 0x14]
push str.li
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x11
call fcn.00470bc0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00470660
test byte [ebp + 0x1b0], 0x9d
mov ebx, 0xff
je 0x436a7a
and dword [ebp], 0
push 0x98
lea eax, [ebp + 4]
push 0
push eax
call fcn.00491e90
lea edi, [ebx - 0x63]
push edi
lea eax, [ebp]
push 0
push eax
call fcn.00491e90
add esp, 0x18
lea eax, [ebp]
mov dword [ebp], edi
mov edi, dword [sym.imp.KERNEL32.dll_GetVersionExA]
push eax
call edi
test eax, eax
jne 0x4369d9
lea eax, [ebp]
push eax
mov dword [ebp], 0x94
call edi
lea ecx, [ebp - 0x30]
call fcn.004703d0
push ebx
xor edi, edi
lea eax, [ebp + 0x9d]
push edi
push eax
mov byte [ebp - 4], 0x12
mov byte [ebp + 0x9c], 0
call fcn.00491e90
add esp, 0xc
push 0x100
lea eax, [ebp + 0x9c]
push eax
push 0x59
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
lea eax, [ebp + 0x9c]
push eax
movzx eax, word [ebp + 0x94]
push eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x30]
push dword [ebp + 8]
push dword [ebp + 4]
push str._d._d._dSP_d_s
push eax
call fcn.00471330
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x14]
push str.os
push eax
call fcn.00470fb0
add esp, 0x28
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x13
call fcn.00470bc0
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x12
call fcn.00470660
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 2
call fcn.00470660
jmp 0x436a7c
xor edi, edi
cmp dword [ebp - 0x20], edi
je 0x436be7
lea ecx, [ebp - 0x14]
call fcn.004703d0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x14
call fcn.004703d0
push edi
push edi
lea eax, [ebp - 0x30]
push eax
push edi
push str.SOFTWAREMicrosoftWindowsCurrentVersionApp_Pathsiexplore.exe
push reloc.OLEAUT32.dll_SysReAllocString
mov byte [ebp - 4], 0x15
call fcn.0041085a
add esp, 0x18
test eax, eax
je 0x436afb
push ebx
lea eax, [ebp + 0x9d]
push edi
push eax
mov byte [ebp + 0x9c], 0
call fcn.00491e90
add esp, 0xc
lea eax, [ebp - 0x30]
cmp byte [ebp - 0x29], bl
jne 0x436add
mov eax, dword [ebp - 0x30]
lea ecx, [ebp + 0x9c]
push ecx
push eax
call fcn.00410d7f
pop ecx
pop ecx
lea eax, [ebp + 0x9c]
push eax
lea ecx, [ebp - 0x14]
call fcn.004707b0
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x28]
push str.ie
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x16
call fcn.00470bc0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x15
call fcn.00470660
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x14
call fcn.00470660
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00470660
cmp dword [ebp - 0x20], edi
je 0x436be7
lea eax, [esi + 0x80]
push eax
lea eax, [ebp - 0x28]
push str.origcode
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x17
call fcn.00470bc0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00470660
cmp dword [ebp - 0x20], edi
je 0x436be7
lea eax, [esi + 0x88]
push eax
lea eax, [ebp - 0x28]
push str.overcode
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x18
call fcn.00470bc0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00470660
cmp dword [ebp - 0x20], edi
je 0x436be7
lea eax, [esi + 0x548]
push eax
lea eax, [ebp - 0x28]
push str.xml_id
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x19
call fcn.00470bc0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00470660
test byte [ebp + 0x1b0], 0x10
je 0x436c21
lea eax, [esi + 0x148]
push eax
lea eax, [ebp - 0x28]
push str.impetus
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x1a
call fcn.00470bc0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00470660
test byte [ebp + 0x1b0], 0x89
je 0x436c5b
lea eax, [esi + 0x550]
push eax
lea eax, [ebp - 0x28]
push str.pkg_id
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x1b
call fcn.00470bc0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00470660
test byte [ebp + 0x1b0], 0x88
je 0x436c95
lea eax, [esi + 0x178]
push eax
lea eax, [ebp - 0x28]
push str.product
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x1c
call fcn.00470bc0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00470660
cmp dword [ebp - 0x34], edi
je 0x436ccb
add esi, 0x63c
push esi
lea eax, [ebp - 0x28]
push str.oem
push eax
call fcn.00470fb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x1d
call fcn.00470bc0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.00470660
mov ecx, dword [ebp - 0x3c]
push 0x3f
call fcn.00470450
cmp eax, 0xffffffff
jne 0x436cf0
lea ecx, [ebp - 0x1c]
call fcn.00470eb0
lea eax, [ebp - 0x1c]
cmp byte [ebp - 0x15], bl
jne 0x436ced
mov eax, dword [ebp - 0x1c]
mov byte [eax], 0x3f
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x3c]
push dword [ebp - 0x38]
call fcn.00470f10
add esp, 0xc
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x40], 1
mov byte [ebp - 4], 1
call fcn.00470660
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0
call fcn.00470660
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x19c]
xor ecx, ebp
call fcn.00492093
add ebp, 0x1a0
leave
ret 0xc