Function at 0x4c3ce0
Capabilities:
Get geographical location
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d57ea
mov eax, dword fs:[0]
push eax
mov eax, 0x43ec
call fcn.0049f1f0
mov eax, dword [0x516b80]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x43d8], ecx
mov dword [ebp - 4], 1
mov dword [ebp - 0x416c], 0
push 0x4001
push 0
lea eax, [ebp - 0x4168]
push eax
call fcn.004991b0
add esp, 0xc
mov dword [ebp - 0x110], 0x4000
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x12c], 0
push 0x4fca56
lea ecx, [ebp - 0x64]
call fcn.00401210
mov byte [ebp - 4], 2
push 0x4fca57
lea ecx, [ebp - 0x148]
call fcn.00401210
mov byte [ebp - 4], 3
push 0x4fca5a
lea ecx, [ebp - 0xb8]
call fcn.00401210
mov byte [ebp - 4], 4
push 0x4fca5b
lea ecx, [ebp - 0x10c]
call fcn.00401210
mov byte [ebp - 4], 5
push 0x4fca5c
lea ecx, [ebp - 0x94]
call fcn.00401210
mov byte [ebp - 4], 6
push 0x4fca5d
lea ecx, [ebp - 0xe8]
call fcn.00401210
mov byte [ebp - 4], 7
push 0x4fca5e
lea ecx, [ebp - 0x48]
call fcn.00401210
mov byte [ebp - 4], 8
xor ecx, ecx
mov word [ebp - 0xcc], cx
xor edx, edx
mov dword [ebp - 0xca], edx
mov dword [ebp - 0xc6], edx
mov dword [ebp - 0xc2], edx
mov dword [ebp - 0xbe], edx
mov word [ebp - 0xba], dx
mov dword [ebp - 0x160], 0xa
xor eax, eax
mov word [ebp - 0x15c], ax
xor ecx, ecx
mov dword [ebp - 0x15a], ecx
mov dword [ebp - 0x156], ecx
mov dword [ebp - 0x152], ecx
mov dword [ebp - 0x14e], ecx
mov word [ebp - 0x14a], cx
mov dword [ebp - 0x114], 0xa
mov edx, dword [ebp - 0x160]
push edx
lea eax, [ebp - 0xcc]
push eax
push 0x59
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov ecx, dword [ebp - 0x114]
push ecx
lea edx, [ebp - 0x15c]
push edx
push 0x5a
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov eax, dword [ebp - 0x43d8]
movzx ecx, byte [eax + 0xb8]
cmp ecx, 1
jne 0x4c3eaa
push str.Content_Type:_text_xml_r_nAccept_Language:
lea ecx, [ebp - 0x64]
call fcn.00403400
jmp 0x4c3eb7
push str.Content_Type:_application_x_www_form_urlencoded_r_nAccept_Language:
lea ecx, [ebp - 0x64]
call fcn.00403400
mov dword [ebp - 0xec], 0
mov byte [ebp - 0x128], 0
xor edx, edx
mov dword [ebp - 0x127], edx
mov dword [ebp - 0x123], edx
mov dword [ebp - 0x11f], edx
mov dword [ebp - 0x11b], edx
mov word [ebp - 0x117], dx
mov byte [ebp - 0x115], dl
mov byte [ebp - 0x78], 0
xor eax, eax
mov dword [ebp - 0x77], eax
mov dword [ebp - 0x73], eax
mov dword [ebp - 0x6f], eax
mov dword [ebp - 0x6b], eax
mov word [ebp - 0x67], ax
mov byte [ebp - 0x65], al
lea ecx, [ebp - 0xcc]
push ecx
push 0x14
lea edx, [ebp - 0x128]
push edx
lea eax, [ebp - 0xec]
push eax
call fcn.0049c898
add esp, 0x10
lea ecx, [ebp - 0x15c]
push ecx
push 0x14
lea edx, [ebp - 0x78]
push edx
lea eax, [ebp - 0xec]
push eax
call fcn.0049c898
add esp, 0x10
lea ecx, [ebp - 0x128]
push ecx
lea ecx, [ebp - 0x64]
call fcn.0041b6b0
push 0x4fca8c
lea ecx, [ebp - 0x64]
call fcn.0041b6b0
lea edx, [ebp - 0x78]
push edx
lea ecx, [ebp - 0x64]
call fcn.0041b6b0
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x10c]
push ecx
lea edx, [ebp - 0x148]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x436c], esp
lea eax, [ebp + 8]
push eax
call fcn.00401250
mov dword [ebp - 0x43dc], eax
mov ecx, dword [ebp - 0x43d8]
call fcn.004c3aa0
mov dword [ebp - 0x43e0], eax
cmp dword [ebp - 0x43e0], 0
jne 0x4c404d
mov dword [ebp - 0x4370], 1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x48]
call fcn.00401290
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xe8]
call fcn.00401290
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x94]
call fcn.00401290
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x10c]
call fcn.00401290
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xb8]
call fcn.00401290
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x148]
call fcn.00401290
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x64]
call fcn.00401290
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.00401290
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x24]
call fcn.00401290
mov eax, dword [ebp - 0x4370]
jmp 0x4c4942
lea ecx, [ebp - 0x94]
push ecx
lea edx, [ebp - 0x10c]
push edx
lea eax, [ebp - 0x438c]
push eax
call fcn.0041c2f0
add esp, 0xc
mov dword [ebp - 0x43e4], eax
mov ecx, dword [ebp - 0x43e4]
mov dword [ebp - 0x43e8], ecx
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x43e8]
push edx
lea ecx, [ebp - 0xb8]
call fcn.004033e0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x438c]
call fcn.00401290
mov eax, dword [ebp - 0x43d8]
add eax, 0x74
push eax
lea ecx, [ebp - 0x48]
call fcn.004033e0
lea ecx, [ebp + 8]
call fcn.00418230
add eax, 1
push eax
call fcn.00488191
add esp, 4
mov dword [ebp - 0x4390], eax
mov ecx, dword [ebp - 0x4390]
mov dword [ebp - 0x9c], ecx
lea ecx, [ebp + 8]
call fcn.00418230
push eax
lea ecx, [ebp + 8]
call fcn.004012b0
push eax
lea ecx, [ebp + 8]
call fcn.00418230
push eax
mov edx, dword [ebp - 0x9c]
push edx
call fcn.004972ff
add esp, 0x10
lea ecx, [ebp + 8]
call fcn.00418230
mov ecx, dword [ebp - 0x9c]
mov byte [ecx + eax], 0
lea ecx, [ebp + 8]
call fcn.00418230
add eax, 1
push eax
mov edx, dword [ebp - 0x9c]
push edx
call fcn.0049ca88
add esp, 8
mov eax, dword [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00401210
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x4394], ecx
mov edx, dword [ebp - 0x4394]
push edx
call fcn.00488186
add esp, 4
push 3
call fcn.00426000
add esp, 4
call fcn.004260c0
mov ecx, dword [ebp - 0x43d8]
mov dword [ecx + 0x90], eax
mov edx, dword [ebp - 0x43d8]
cmp dword [edx + 0x90], 0
jne 0x4c422b
mov dword [ebp - 0x4398], 2
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2c]
call fcn.00401290
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x48]
call fcn.00401290
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xe8]
call fcn.00401290
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x94]
call fcn.00401290
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x10c]
call fcn.00401290
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xb8]
call fcn.00401290
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x148]
call fcn.00401290
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x64]
call fcn.00401290
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.00401290
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x24]
call fcn.00401290
mov eax, dword [ebp - 0x4398]
jmp 0x4c4942
lea ecx, [ebp - 0x64]
call fcn.004012b0
push eax
mov eax, dword [ebp - 0x98]
push eax
call fcn.00425820
add esp, 8
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x98]
push ecx
push 0x2727
mov edx, dword [ebp - 0x43d8]
mov eax, dword [edx + 0x90]
push eax
call fcn.00426140
add esp, 0xc
mov dword [ebp - 0xf0], eax
lea ecx, [ebp + 8]
call fcn.004012b0
push eax
push 0x2712
mov ecx, dword [ebp - 0x43d8]
mov edx, dword [ecx + 0x90]
push edx
call fcn.00426140
add esp, 0xc
mov dword [ebp - 0xf0], eax
lea ecx, [ebp - 0x48]
call fcn.004012b0
push eax
push 0x2722
mov eax, dword [ebp - 0x43d8]
mov ecx, dword [eax + 0x90]
push ecx
call fcn.00426140
add esp, 0xc
mov dword [ebp - 0xf0], eax
lea ecx, [ebp + 0x24]
call fcn.004012b0
push eax
push 0x271f
mov edx, dword [ebp - 0x43d8]
mov eax, dword [edx + 0x90]
push eax
call fcn.00426140
add esp, 0xc
mov dword [ebp - 0xf0], eax
lea ecx, [ebp + 0x24]
call fcn.0041b5d0
push eax
push 0x3c
mov ecx, dword [ebp - 0x43d8]
mov edx, dword [ecx + 0x90]
push edx
call fcn.00426140
add esp, 0xc
mov dword [ebp - 0xf0], eax
lea eax, [ebp - 0x416c]
push eax
push 0x2711
mov ecx, dword [ebp - 0x43d8]
mov edx, dword [ecx + 0x90]
push edx
call fcn.00426140
add esp, 0xc
mov dword [ebp - 0xf0], eax
push 0x4c3830
push 0x4e2b
mov eax, dword [ebp - 0x43d8]
mov ecx, dword [eax + 0x90]
push ecx
call fcn.00426140
add esp, 0xc
mov dword [ebp - 0xf0], eax
push 0
push 0x40
mov edx, dword [ebp - 0x43d8]
mov eax, dword [edx + 0x90]
push eax
call fcn.00426140
add esp, 0xc
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0x43d8]
movzx edx, byte [ecx + 0x94]
cmp edx, 1
jne 0x4c4441
mov ecx, dword [ebp - 0x43d8]
add ecx, 0x98
call fcn.00405890
movzx eax, al
cmp eax, 1
jne 0x4c43c1
push 0x4fcad4
mov ecx, dword [ebp - 0x43d8]
add ecx, 0x98
call fcn.00403400
push 0x4fcae0
mov ecx, dword [ebp - 0x43d8]
add ecx, 0x98
call fcn.004012b0
push eax
call fcn.0049a962
add esp, 8
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
je 0x4c4441
mov ecx, dword [ebp - 0x12c]
push ecx
push 0xc
push 1
push str._nDoHttpGet_n
call fcn.0049aadb
add esp, 0x10
push 1
push 0x29
mov edx, dword [ebp - 0x43d8]
mov eax, dword [edx + 0x90]
push eax
call fcn.00426140
add esp, 0xc
mov ecx, dword [ebp - 0x12c]
push ecx
push 0x2735
mov edx, dword [ebp - 0x43d8]
mov eax, dword [edx + 0x90]
push eax
call fcn.00426140
add esp, 0xc
mov ecx, dword [ebp - 0x43d8]
add ecx, 4
call fcn.00405890
movzx ecx, al
test ecx, ecx
jne 0x4c45a8
push 0x64
push 0
lea edx, [ebp - 0x423c]
push edx
call fcn.004991b0
add esp, 0xc
push 0x64
push 0
lea eax, [ebp - 0x41d4]
push eax
call fcn.004991b0
add esp, 0xc
push 0
push 0x3d
mov ecx, dword [ebp - 0x43d8]
mov edx, dword [ecx + 0x90]
push edx
call fcn.00426140
add esp, 0xc
mov dword [ebp - 0xf0], eax
push 0
push 0x65
mov eax, dword [ebp - 0x43d8]
mov ecx, dword [eax + 0x90]
push ecx
call fcn.00426140
add esp, 0xc
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0x43d8]
add ecx, 0x20
call fcn.004012b0
push eax
mov ecx, dword [ebp - 0x43d8]
add ecx, 4
call fcn.004012b0
push eax
push 0x4fcaf0
push 0x64
lea edx, [ebp - 0x423c]
push edx
call fcn.0049a318
add esp, 0x14
lea eax, [ebp - 0x423c]
push eax
push 0x2714
mov ecx, dword [ebp - 0x43d8]
mov edx, dword [ecx + 0x90]
push edx
call fcn.00426140
add esp, 0xc
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0x43d8]
add ecx, 0x3c
call fcn.00405890
movzx eax, al
test eax, eax
jne 0x4c45a8
mov ecx, dword [ebp - 0x43d8]
add ecx, 0x58
call fcn.004012b0
push eax
mov ecx, dword [ebp - 0x43d8]
add ecx, 0x3c
call fcn.004012b0
push eax
push str._s:_s
push 0x64
lea ecx, [ebp - 0x41d4]
push ecx
call fcn.0049a318
add esp, 0x14
lea edx, [ebp - 0x41d4]
push edx
push 0x2716
mov eax, dword [ebp - 0x43d8]
mov ecx, dword [eax + 0x90]
push ecx
call fcn.00426140
add esp, 0xc
mov dword [ebp - 0xf0], eax
push 0xffffffffffffffff
push 0x6f
mov edx, dword [ebp - 0x43d8]
mov eax, dword [edx + 0x90]
push eax
call fcn.00426140
add esp, 0xc
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0x43d8]
mov edx, dword [ecx + 0x90]
push edx
call fcn.00426170
add esp, 4
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
je 0x4c4692
mov dword [ebp - 0x4240], 0
lea eax, [ebp - 0x4240]
push eax
push 0x200016
mov ecx, dword [ebp - 0x43d8]
mov edx, dword [ecx + 0x90]
push edx
call fcn.00426280
add esp, 0xc
cmp dword [ebp - 0x4240], 0x197
jne 0x4c4692
mov dword [ebp - 0x4244], 0
lea eax, [ebp - 0x4244]
push eax
push 0x200018
mov ecx, dword [ebp - 0x43d8]
mov edx, dword [ecx + 0x90]
push edx
call fcn.00426280
add esp, 0xc
mov eax, dword [ebp - 0x4244]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x43d8]
call fcn.004c37d0
mov dword [ebp - 0x4244], eax
cmp dword [ebp - 0x4244], 0
je 0x4c4692
mov ecx, dword [ebp - 0x4244]
push ecx
push 0x6f
mov edx, dword [ebp - 0x43d8]
mov eax, dword [edx + 0x90]
push eax
call fcn.00426140
add esp, 0xc
mov ecx, dword [ebp - 0x43d8]
mov edx, dword [ecx + 0x90]
push edx
call fcn.00426170
add esp, 4
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x43d8]
add eax, 0xb4
push eax
push 0x200002
mov ecx, dword [ebp - 0x43d8]
mov edx, dword [ecx + 0x90]
push edx
call fcn.00426280
add esp, 0xc
cmp dword [ebp - 0xf0], 0
jne 0x4c483f
mov eax, dword [ebp - 0x43d8]
cmp dword [eax + 0xb4], 0xc8
jne 0x4c46eb
lea ecx, [ebp - 0x4168]
push ecx
mov ecx, dword [ebp + 0x40]
call fcn.004013f0
jmp 0x4c483d
mov edx, dword [ebp - 0x43d8]
cmp dword [edx + 0xb4], 0x197
jne 0x4c470c
mov dword [ebp - 0x164], 3
jmp 0x4c483d
mov dword [ebp - 0x164], 5
cmp dword [ebp - 0x12c], 0
je 0x4c483d
mov byte [ebp - 0x434c], 0
push 0x103
push 0
lea eax, [ebp - 0x434b]
push eax
call fcn.004991b0
add esp, 0xc
mov ecx, dword [ebp - 0x43d8]
mov edx, dword [ecx + 0xb4]
push edx
push str._nDoHttpGet_HttpError:__d
lea eax, [ebp - 0x434c]
push eax
call fcn.0049a29b
add esp, 0xc
lea ecx, [ebp - 0x434c]
push ecx
lea ecx, [ebp - 0x4368]
call fcn.00401210
mov byte [ebp - 4], 0xb
lea edx, [ebp + 0x24]
push edx
push str._nPostData:
lea esi, [ebp - 0x43b4]
call fcn.00418890
add esp, 8
mov dword [ebp - 0x43ec], eax
mov eax, dword [ebp - 0x43ec]
mov dword [ebp - 0x43f0], eax
mov byte [ebp - 4], 0xc
push 0x4fcb1c
mov ecx, dword [ebp - 0x43f0]
push ecx
lea edx, [ebp - 0x43d0]
push edx
call fcn.0041c380
add esp, 0xc
mov dword [ebp - 0x43f4], eax
mov eax, dword [ebp - 0x43f4]
mov dword [ebp - 0x43f8], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x43f8]
push ecx
lea ecx, [ebp - 0x4368]
call fcn.00418210
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x43d0]
call fcn.00401290
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x43b4]
call fcn.00401290
mov edx, dword [ebp - 0x12c]
push edx
lea ecx, [ebp - 0x4368]
call fcn.0041b5d0
push eax
push 1
lea ecx, [ebp - 0x4368]
call fcn.004012b0
push eax
call fcn.0049aadb
add esp, 0x10
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x4368]
call fcn.00401290
jmp 0x4c4849
mov dword [ebp - 0x164], 3
mov eax, dword [ebp - 0x98]
push eax
call fcn.00425880
add esp, 4
mov ecx, dword [ebp - 0x43d8]
mov edx, dword [ecx + 0x90]
push edx
call fcn.00426210
add esp, 4
call fcn.00426080
mov eax, dword [ebp - 0x43d8]
movzx ecx, byte [eax + 0x94]
cmp ecx, 1
jne 0x4c48a6
cmp dword [ebp - 0x12c], 0
je 0x4c48a6
mov edx, dword [ebp - 0x12c]
push edx
call fcn.0049a11d
add esp, 4
mov dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x43d4], eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2c]
call fcn.00401290
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x48]
call fcn.00401290
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xe8]
call fcn.00401290
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x94]
call fcn.00401290
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x10c]
call fcn.00401290
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xb8]
call fcn.00401290
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x148]
call fcn.00401290
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x64]
call fcn.00401290
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.00401290
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x24]
call fcn.00401290
mov eax, dword [ebp - 0x43d4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00497164
mov esp, ebp
pop ebp
ret 0x3c