Function at 0x430dd0
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response
Set http header

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3964
call fcn.00434f10
mov eax, dword [0x463140]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x7ff
lea eax, [ebp - 0x1947]
mov dword [ebp - 0x3950], ecx
push 0
push eax
mov edi, edx
call fcn.00436ac0
add esp, 0xc
mov byte [ebp - 0x1948], 0
lea eax, [ebp - 0x3949]
mov byte [edi], 0
mov byte [ebp - 0x1148], 0
push 0xffffffffffffffff
push str.SendHttpsRequest_begin
push 1
push eax
call fcn.0043b38d
mov ebx, dword [sym.imp.dispw.dll_map_debug]
add esp, 0x10
test eax, eax
je 0x430e47
push 0x16
push str.SendHttpsRequest_begin
call ebx
add esp, 8
mov ecx, str.Establishing_online_connection
call fcn.00433600
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0
push 0
push 0
push 0
push str.Map3d_http_client
mov esi, eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov dword [ebp - 0x3960], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, esi
push eax
push str.WinHttpOpen__d__milliseconds_
lea eax, [ebp - 0x948]
push 0x800
push eax
call fcn.00430b60
push 0xffffffffffffffff
lea eax, [ebp - 0x948]
push eax
lea eax, [ebp - 0x3949]
push 1
push eax
call fcn.0043b38d
add esp, 0x20
test eax, eax
je 0x430ece
lea ecx, [ebp - 0x948]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430eb8
sub ecx, edx
lea eax, [ebp - 0x948]
push ecx
push eax
call ebx
add esp, 8
cmp dword [ebp - 0x3960], 0
je 0x43187b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0
push 0x1bb
push str.verify.map3d.com
push dword [ebp - 0x3960]
mov esi, eax
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov dword [ebp - 0x395c], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, esi
push eax
push str.WinHttpConnect__d__milliseconds_
lea eax, [ebp - 0x948]
push 0x800
push eax
call fcn.00430b60
push 0xffffffffffffffff
lea eax, [ebp - 0x948]
push eax
lea eax, [ebp - 0x3949]
push 1
push eax
call fcn.0043b38d
add esp, 0x20
test eax, eax
je 0x430f5d
lea ecx, [ebp - 0x948]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x430f47
sub ecx, edx
lea eax, [ebp - 0x948]
push ecx
push eax
call ebx
add esp, 8
cmp dword [ebp - 0x395c], 0
je 0x43181f
xor eax, eax
lea ecx, [ebp - 0x48]
mov word [ebp - 0x48], ax
mov esi, str._validate_session
lea edx, [eax + 0x20]
mov eax, ecx
sub esi, eax
nop
lea eax, [edx + 0x7fffffde]
test eax, eax
je 0x430f9e
movzx eax, word [esi + ecx]
test ax, ax
je 0x430f9e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x430f80
lea eax, [ecx - 2]
test edx, edx
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
mov ecx, str.Requesting_online_information
call fcn.00433600
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0x800000
push 0
push 0
push 0
mov esi, eax
lea eax, [ebp - 0x48]
push eax
push str.POST
push dword [ebp - 0x395c]
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov dword [ebp - 0x3954], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, esi
push eax
push str.WinHttpOpenRequest__d__milliseconds_
lea eax, [ebp - 0x948]
push 0x800
push eax
call fcn.00430b60
push 0xffffffffffffffff
lea eax, [ebp - 0x948]
push eax
lea eax, [ebp - 0x3949]
push 1
push eax
call fcn.0043b38d
add esp, 0x20
test eax, eax
je 0x431046
lea ecx, [ebp - 0x948]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x431030
sub ecx, edx
lea eax, [ebp - 0x948]
push ecx
push eax
call ebx
add esp, 8
cmp dword [ebp - 0x3954], 0
je 0x4317b4
xor eax, eax
lea ecx, [ebp - 0x3948]
push str.Content_Type:_application_json_r_n
mov word [ebp - 0x3948], ax
call fcn.00430cb0
push str.X_API_KEY:
lea ecx, [ebp - 0x3948]
call fcn.00430cb0
push str.MIGkAgEBBDDhId5lbQHKLfXd0f3yE7vKbYyevLpvfjeVYeXmRNLfmdLnHtzdu_bf5vqbvwr9Q0WgBwYFK4EEACKhZANiAAQ3xyJnybXrkZAqlUx8egwWUwzcAZizgEj6nJVpb0bnRWNzTqn0m6dGCtez6OM209HhBweOT9tFk_esYsu4IQTWEbs1IAGra_LEBsjn_pTAd_NhRPVuKKMq68zvDuXHw
lea ecx, [ebp - 0x3948]
call fcn.00430cb0
push 0x45d39c
lea ecx, [ebp - 0x3948]
call fcn.00430cb0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0x20000000
mov esi, eax
lea eax, [ebp - 0x3948]
push 0xffffffffffffffff
push eax
push dword [ebp - 0x3954]
call dword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
mov dword [ebp - 0x3958], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, esi
push eax
push str.WinHttpAddRequestHeaders__d__milliseconds_
lea eax, [ebp - 0x948]
push 0x800
push eax
call fcn.00430b60
push 0xffffffffffffffff
lea eax, [ebp - 0x948]
push eax
lea eax, [ebp - 0x3949]
push 1
push eax
call fcn.0043b38d
add esp, 0x20
test eax, eax
je 0x431126
lea ecx, [ebp - 0x948]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x431110
sub ecx, edx
lea eax, [ebp - 0x948]
push ecx
push eax
call ebx
add esp, 8
cmp dword [ebp - 0x3958], 0
je 0x431788
push str._random_:_
lea ecx, [ebp - 0x2148]
mov byte [ebp - 0x2148], 0
call fcn.00430c20
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [sym.imp.dispw.dll_ngenguid]
lea ecx, [ebp - 0x148]
push 0x40
push ecx
push eax
call esi
add esp, 8
mov dword [ebp - 0x3958], eax
lea eax, [ebp - 0x148]
mov byte [ebp - 0x108], 0
lea ecx, [ebp - 0x2148]
push eax
call fcn.00430d40
push str.___hash_:_
lea ecx, [ebp - 0x2148]
call fcn.00430c20
mov ecx, dword [ebp - 0x3950]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4311a0
sub ecx, edx
je 0x4311bd
push ecx
push dword [ebp - 0x3950]
lea ecx, [ebp - 0x2148]
call fcn.00430d40
push str.___random_:_
lea ecx, [ebp - 0x2148]
call fcn.00430c20
push 0x40
lea eax, [ebp - 0x148]
push eax
push dword [ebp - 0x3958]
call esi
add esp, 8
mov byte [ebp - 0x108], 0
lea eax, [ebp - 0x148]
lea ecx, [ebp - 0x2148]
push eax
call fcn.00430d40
push 0x45d3f8
lea ecx, [ebp - 0x2148]
call fcn.00430c20
push 0xffffffffffffffff
lea eax, [ebp - 0x2148]
push eax
lea eax, [ebp - 0x3949]
push 1
push eax
call fcn.0043b38d
add esp, 0x10
test eax, eax
je 0x431247
lea ecx, [ebp - 0x2148]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x431231
sub ecx, edx
lea eax, [ebp - 0x2148]
push ecx
push eax
call ebx
add esp, 8
lea ebx, [ebp - 0x2148]
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x431250
sub ebx, ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0
push ebx
push ebx
mov esi, eax
lea eax, [ebp - 0x2148]
push eax
push 0
push 0
push dword [ebp - 0x3954]
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, esi
push eax
push str.WinHttpSendRequest__d__milliseconds_
lea eax, [ebp - 0x948]
push 0x800
push eax
call fcn.00430b60
push 0xffffffffffffffff
lea eax, [ebp - 0x948]
push eax
lea eax, [ebp - 0x3949]
push 1
push eax
call fcn.0043b38d
add esp, 0x20
test eax, eax
je 0x4312de
lea ecx, [ebp - 0x948]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4312c4
sub ecx, edx
lea eax, [ebp - 0x948]
push ecx
push eax
call dword [sym.imp.dispw.dll_map_debug]
add esp, 8
test ebx, ebx
je 0x431752
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push 0
push dword [ebp - 0x3954]
mov esi, eax
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, esi
push eax
push str.WinHttpReceiveResponse__d__milliseconds_
lea eax, [ebp - 0x948]
push 0x800
push eax
call fcn.00430b60
push 0xffffffffffffffff
lea eax, [ebp - 0x948]
push eax
lea eax, [ebp - 0x3949]
push 1
push eax
call fcn.0043b38d
add esp, 0x20
test eax, eax
je 0x43135e
lea ecx, [ebp - 0x948]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x431344
sub ecx, edx
lea eax, [ebp - 0x948]
push ecx
push eax
call dword [sym.imp.dispw.dll_map_debug]
add esp, 8
test ebx, ebx
je 0x43171c
mov dword [ebp - 0x3950], 0
mov dword [ebp - 0x3958], 0
nop word [eax + eax]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
lea eax, [ebp - 0x3950]
push eax
push dword [ebp - 0x3954]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, esi
push eax
push str.WinHttpQueryDataAvailable__d__milliseconds_
lea eax, [ebp - 0x948]
push 0x800
push eax
call fcn.00430b60
push 0xffffffffffffffff
lea eax, [ebp - 0x948]
push eax
lea eax, [ebp - 0x3949]
push 1
push eax
call fcn.0043b38d
add esp, 0x20
test eax, eax
je 0x4313fd
lea ecx, [ebp - 0x948]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4313e3
sub ecx, edx
lea eax, [ebp - 0x948]
push ecx
push eax
call dword [sym.imp.dispw.dll_map_debug]
add esp, 8
test ebx, ebx
je 0x4316e6
mov ecx, dword [ebp - 0x3950]
lea eax, [ecx + 1]
cmp eax, 0x800
ja 0x431570
test ecx, ecx
je 0x4314ba
lea eax, [ebp - 0x3958]
mov byte [ebp - 0x2948], 0
push eax
push ecx
lea eax, [ebp - 0x2948]
push eax
push dword [ebp - 0x3954]
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x4314f3
mov eax, dword [ebp - 0x3950]
cmp eax, 0x800
jae 0x431959
mov byte [ebp + eax - 0x2948], 0
lea eax, [ebp - 0x2948]
push eax
push 0x800
push edi
call fcn.0043b87b
add esp, 0xc
lea eax, [ebp - 0x394a]
push 0xffffffffffffffff
push edi
push 1
push eax
call fcn.0043b38d
add esp, 0x10
test eax, eax
je 0x4314b4
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x431496
mov ebx, dword [sym.imp.dispw.dll_map_debug]
sub ecx, edx
push ecx
push edi
call ebx
mov ecx, dword [ebp - 0x3950]
add esp, 8
jmp 0x4314c0
mov ecx, dword [ebp - 0x3950]
mov ebx, dword [sym.imp.dispw.dll_map_debug]
xor esi, esi
test ecx, ecx
jne 0x431380
push dword [ebp - 0x3954]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push dword [ebp - 0x395c]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push dword [ebp - 0x3960]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x4318c7
push 0
push 0x800
lea eax, [ebp - 0x1948]
mov esi, 0xfffffff8
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1200
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push str.Error_7__WinHttpReadData_:
lea ecx, [ebp - 0x1148]
call fcn.00430c20
lea eax, [ebp - 0x1948]
push eax
lea ecx, [ebp - 0x1148]
call fcn.00430c20
mov ebx, dword [sym.imp.dispw.dll_map_debug]
push dword [ebp - 0x3954]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push dword [ebp - 0x395c]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push dword [ebp - 0x3960]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x4318c7
push str.Error_8__WinHttpQueryDataAvailable_:
lea ecx, [ebp - 0x1148]
mov esi, 0xfffffff6
call fcn.00430c20
push 0x800
push dword [ebp - 0x3950]
lea eax, [ebp - 0x1948]
push str.Query_size__d_is_greater_than_available_response_size__d
push 0x800
push eax
call fcn.00430bb0
add esp, 0x14
lea eax, [ebp - 0x1948]
lea ecx, [ebp - 0x1148]
push eax
call fcn.00430c20
mov eax, dword [ebp - 0x3950]
inc eax
push eax
call fcn.004385ba
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x431541
push 0xffffffffffffffff
lea eax, [ebp - 0x1148]
push eax
lea eax, [ebp - 0x394a]
push 1
push eax
call fcn.0043b38d
add esp, 0x10
test eax, eax
je 0x43161a
lea ecx, [ebp - 0x1148]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x431600
sub ecx, edx
lea eax, [ebp - 0x1148]
push ecx
push eax
call dword [sym.imp.dispw.dll_map_debug]
add esp, 8
mov eax, dword [ebp - 0x3950]
inc eax
push eax
push 0
push ebx
call fcn.00436ac0
add esp, 0xc
lea eax, [ebp - 0x3958]
push eax
push dword [ebp - 0x3950]
push ebx
push dword [ebp - 0x3954]
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x4316d8
push 0xffffffffffffffff
push str.WinHttpReadData_in
lea eax, [ebp - 0x394a]
push 1
push eax
call fcn.0043b38d
add esp, 0x10
test eax, eax
je 0x43167b
push 0x12
push str.WinHttpReadData_in
call dword [sym.imp.dispw.dll_map_debug]
add esp, 8
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x394a]
push 1
push eax
call fcn.0043b38d
add esp, 0x10
test eax, eax
je 0x4316ac
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x431698
sub ecx, edx
push ecx
push ebx
call dword [sym.imp.dispw.dll_map_debug]
add esp, 8
push 0xffffffffffffffff
push str.WinHttpReadData_out
lea eax, [ebp - 0x394a]
push 1
push eax
call fcn.0043b38d
add esp, 0x10
test eax, eax
je 0x4316d8
push 0x13
push str.WinHttpReadData_out
call dword [sym.imp.dispw.dll_map_debug]
add esp, 8
push ebx
call fcn.0043859f
add esp, 4
jmp 0x431541
push 0
push 0x800
lea eax, [ebp - 0x1948]
mov esi, 0xfffffff5
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1200
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push str.Error_9__WinHttpQueryDataAvailable_:
jmp 0x431524
push 0
push 0x800
lea eax, [ebp - 0x1948]
mov esi, 0xfffffffa
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1200
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push str.Error_6__WinHttpReceiveResponse_:
jmp 0x431524
push 0
push 0x800
lea eax, [ebp - 0x1948]
mov esi, 0xfffffffb
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1200
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push str.Error_5__WinHttpSendRequest_:
jmp 0x431524
push str.Error_4__WinHttpAddRequestHeaders_:
lea ecx, [ebp - 0x1148]
mov esi, 0xfffffffc
call fcn.00430c20
lea eax, [ebp - 0x1948]
push eax
lea ecx, [ebp - 0x1148]
call fcn.00430c20
jmp 0x431547
push 0
push 0x800
lea eax, [ebp - 0x1948]
mov esi, 0xfffffffd
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1200
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push str.Error_3__WinHttpOpenRequest_:
lea ecx, [ebp - 0x1148]
call fcn.00430c20
lea eax, [ebp - 0x1948]
push eax
lea ecx, [ebp - 0x1148]
call fcn.00430c20
push dword [ebp - 0x395c]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push dword [ebp - 0x3960]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x4318c7
push 0
push 0x800
lea eax, [ebp - 0x1948]
mov esi, 0xfffffffe
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1200
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push str.Error_2__WinHttpConnect_:
lea ecx, [ebp - 0x1148]
call fcn.00430c20
lea eax, [ebp - 0x1948]
push eax
lea ecx, [ebp - 0x1148]
call fcn.00430c20
push dword [ebp - 0x3960]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x4318c7
push 0
push 0x800
lea eax, [ebp - 0x1948]
or esi, 0xffffffff
push eax
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x1200
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push str.Error_1__WinHttpOpen_:
lea ecx, [ebp - 0x1148]
call fcn.00430c20
lea eax, [ebp - 0x1948]
push eax
lea ecx, [ebp - 0x1148]
call fcn.00430c20
lea ecx, [ebp - 0x1148]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4318d0
sub ecx, edx
je 0x431914
lea edx, [ebp - 0x1148]
mov ecx, 0x800
sub edx, edi
nop dword [eax + eax]
lea eax, [ecx + 0x7ffff7fe]
test eax, eax
je 0x431909
mov al, byte [edx + edi]
test al, al
je 0x431909
mov byte [edi], al
inc edi
sub ecx, 1
jne 0x4318f0
test ecx, ecx
lea eax, [edi - 1]
cmovne eax, edi
mov byte [eax], 0
mov ecx, str.Online_request_complete
call fcn.00433600
push 0xffffffffffffffff
push str.SendHttpsRequest_complete
lea eax, [ebp - 0x394a]
push 1
push eax
call fcn.0043b38d
add esp, 0x10
test eax, eax
je 0x431946
push 0x19
push str.SendHttpsRequest_complete
call ebx
add esp, 8
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004346eb
mov esp, ebp
pop ebp
ret
call fcn.0043481c
int3