Function at 0x40d0d0
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x414850
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x540
mov eax, dword [0x41b040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov dword [ebp - 0x514], ecx
mov dword [ebp - 0x50c], ecx
mov eax, dword [ebx + 8]
xorps xmm0, xmm0
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0x434], eax
mov eax, dword [ebx + 0x10]
movups xmmword [ebp - 0x4c4], xmm0
mov dword [ebp - 0x50c], ecx
mov dword [ebp - 0x4c8], eax
mov dword [ebp - 0x4b4], 0
mov dword [ebp - 0x4b0], 0xf
mov byte [ebp - 0x4c4], 0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x230]
cmp dword [edi + 0x14], 0xf
mov dword [ebp - 0x4f4], eax
lea eax, [ebp - 0x430]
mov dword [ebp - 0x4d8], eax
mov eax, edi
movlpd qword [ebp - 0x500], xmm0
mov dword [ebp - 0x4f8], 0
movlpd qword [ebp - 0x4ec], xmm0
movlpd qword [ebp - 0x4e4], xmm0
mov dword [ebp - 0x4dc], 0
movlpd qword [ebp - 0x4d0], xmm0
mov dword [ebp - 0x504], 0x3c
mov dword [ebp - 0x4f0], pe_nt_image_headers32
mov dword [ebp - 0x4d4], pe_nt_image_headers32
jbe 0x40d1da
mov eax, dword [edi]
push 0
push 0
push dword [edi + 0x10]
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x508], eax
push ecx
lea ecx, [ebp - 0x4ac]
mov dword [ebp - 0x49c], 0
movups xmmword [ebp - 0x4ac], xmm0
mov dword [ebp - 0x498], 0
call fcn.0040e040
cmp dword [ebp - 0x498], 7
lea eax, [ebp - 0x4ac]
mov ecx, dword [edi + 0x10]
cmova eax, dword [ebp - 0x4ac]
cmp dword [edi + 0x14], 0xf
jbe 0x40d23f
mov edi, dword [edi]
push dword [ebp - 0x508]
push eax
push ecx
push edi
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0xfde9
call edi
lea ecx, [ebp - 0x504]
mov byte [ebp - 4], 1
cmp dword [ebp - 0x498], 7
lea eax, [ebp - 0x4ac]
push ecx
cmova eax, dword [ebp - 0x4ac]
push 0
push dword [ebp - 0x49c]
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpCrackUrl]
test eax, eax
jne 0x40d308
mov esi, dword [ebp - 0x514]
xorps xmm0, xmm0
push eax
push 0x415b10
mov ecx, esi
movups xmmword [esi], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
call fcn.004030b0
mov ecx, dword [ebp - 0x498]
cmp ecx, 7
jbe 0x40d2e8
mov edx, dword [ebp - 0x4ac]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d2de
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40dc32
push ecx
push edx
call fcn.00412260
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041210d
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
cmp dword [esi + 0x14], 0xf
mov eax, esi
jbe 0x40d312
mov eax, dword [esi]
push 0
push 0
push dword [esi + 0x10]
push eax
push 0
push 0xfde9
call edi
mov edi, eax
mov dword [ebp - 0x484], 0
push edi
xorps xmm0, xmm0
mov dword [ebp - 0x480], 0
push ecx
lea ecx, [ebp - 0x494]
movups xmmword [ebp - 0x494], xmm0
call fcn.0040e040
cmp dword [ebp - 0x480], 7
lea eax, [ebp - 0x494]
mov ecx, esi
cmova eax, dword [ebp - 0x494]
cmp dword [esi + 0x14], 0xf
jbe 0x40d36e
mov ecx, dword [esi]
push edi
push eax
push dword [esi + 0x10]
push ecx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0
mov byte [ebp - 4], 2
lea eax, [ebp - 0x494]
cmp dword [ebp - 0x480], 7
push 0
cmova eax, dword [ebp - 0x494]
push 0
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov dword [ebp - 0x50c], eax
test eax, eax
je 0x40db6a
push 0
push dword [ebp - 0x4ec]
lea ecx, [ebp - 0x230]
push ecx
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov edi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov ecx, eax
mov dword [ebp - 0x534], ecx
test ecx, ecx
je 0x40db62
xor eax, eax
mov edx, 0x800000
cmp dword [ebp - 0x4f8], 2
cmove eax, edx
push eax
push 0
push 0
push 0
lea eax, [ebp - 0x430]
push eax
push 0x415cb4
push ecx
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov dword [ebp - 0x510], eax
test eax, eax
je 0x40db5a
mov ecx, dword [ebp - 0x4c8]
mov edi, SysReAllocString
mov eax, edi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 0xe
jb 0x40dc38
cmp dword [ecx + 0x14], 0xf
jbe 0x40d43e
mov ecx, dword [ecx]
push edx
push ecx
push 0xe
push str.Content_Type:
push ecx
push dword [ebp - 0x50c]
lea ecx, [ebp - 0x464]
call fcn.00403360
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x464]
mov eax, dword [ebp - 0x450]
mov edx, dword [ebp - 0x454]
sub eax, edx
cmp eax, 2
jb 0x40d4a4
cmp dword [ebp - 0x450], 0xf
lea eax, [edx + 2]
mov dword [ebp - 0x454], eax
cmova ecx, dword [ebp - 0x464]
mov ax, word [0x415cc0]
mov word [ecx + edx], ax
lea eax, [ebp - 0x464]
mov byte [ecx + edx + 2], 0
jmp 0x40d4bf
push 2
push 0x415cc0
mov byte [ebp - 0x508], 0
push dword [ebp - 0x508]
push 2
call fcn.00403190
mov dword [ebp - 0x43c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x44c], xmm0
mov dword [ebp - 0x438], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x44c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x43c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x450]
cmp ecx, 0xf
jbe 0x40d545
mov edx, dword [ebp - 0x464]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d53b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40d53b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00412260
add esp, 8
mov eax, dword [esi + 0x10]
sub edi, eax
mov dword [ebp - 0x454], 0
mov dword [ebp - 0x450], 0xf
mov byte [ebp - 0x464], 0
cmp edi, 0xc
jb 0x40dc3d
cmp dword [esi + 0x14], 0xf
jbe 0x40d576
mov esi, dword [esi]
push eax
push esi
push 0xc
push str.User_Agent:
push ecx
push dword [ebp - 0x50c]
lea ecx, [ebp - 0x2c]
call fcn.00403360
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2c]
mov esi, dword [ebp - 0x18]
mov eax, esi
mov edx, dword [ebp - 0x1c]
sub eax, edx
cmp eax, 2
jb 0x40d5c5
cmp esi, 0xf
lea eax, [edx + 2]
mov dword [ebp - 0x1c], eax
cmova ecx, dword [ebp - 0x2c]
mov ax, word [0x415cc0]
mov word [ecx + edx], ax
lea eax, [ebp - 0x2c]
mov byte [ecx + edx + 2], 0
jmp 0x40d5e0
push 2
push 0x415cc0
mov byte [ebp - 0x508], 0
push dword [ebp - 0x508]
push 2
call fcn.00403190
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x550], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x540], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x550]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x44c]
call fcn.00402940
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x53c]
cmp ecx, 0xf
jbe 0x40d658
mov edx, dword [ebp - 0x550]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d64e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d682
push ecx
push edx
call fcn.00412260
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x40d692
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d688
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40d688
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00412260
add esp, 8
mov ecx, dword [ebp - 0x434]
lea esi, [ebp - 0x17]
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0x4c8], ecx
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
shl al, 2
lea ecx, [eax + edx]
mov eax, dword [ebp - 0x4c8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x4c8], eax
test eax, eax
jne 0x40d6a4
push ecx
lea eax, [ebp - 0x17]
push eax
push esi
lea ecx, [ebp - 0x52c]
call fcn.004034a0
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x518]
mov eax, ecx
mov edx, dword [ebp - 0x51c]
sub eax, edx
cmp eax, 0x10
jb 0x40d784
cmp ecx, 0xf
lea esi, [ebp - 0x52c]
lea eax, [edx + 0x10]
cmova esi, dword [ebp - 0x52c]
mov dword [ebp - 0x51c], eax
cmp esi, 0x415cf4
jae 0x40d742
lea eax, [esi + edx]
cmp eax, str.Content_Length:
jb 0x40d742
cmp esi, str.Content_Length:
ja 0x40d738
xor edi, edi
jmp 0x40d747
mov edi, esi
sub edi, str.Content_Length:
jmp 0x40d747
mov edi, 0x10
lea eax, [edx + 1]
push eax
lea ecx, [esi + 0x10]
push esi
push ecx
call sub.VCRUNTIME140.dll_memmove
push edi
push str.Content_Length:
push esi
call sub.VCRUNTIME140.dll_memcpy
mov eax, 0x10
lea ecx, [esi + edi]
sub eax, edi
push eax
lea eax, [edi + 0x415cf4]
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0x24
lea eax, [ebp - 0x52c]
jmp 0x40d7a3
push 0x10
sub esp, 8
mov byte [ebp - 0x508], 0
lea ecx, [ebp - 0x52c]
push dword [ebp - 0x508]
push 0x10
call fcn.0040e150
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x464], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x454], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x518]
cmp ecx, 0xf
jbe 0x40d80b
mov edx, dword [ebp - 0x52c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d801
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40d801
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00412260
add esp, 8
cmp dword [ebp - 0x450], 0xf
lea ecx, [ebp - 0x464]
mov edx, dword [ebp - 0x43c]
cmova ecx, dword [ebp - 0x464]
mov eax, dword [ebp - 0x438]
mov edi, dword [ebp - 0x454]
sub eax, edx
mov dword [ebp - 0x51c], 0
mov dword [ebp - 0x518], 0xf
mov byte [ebp - 0x52c], 0
mov dword [ebp - 0x508], edx
push edi
push ecx
cmp edi, eax
ja 0x40d891
cmp dword [ebp - 0x438], 0xf
lea esi, [ebp - 0x44c]
lea eax, [edx + edi]
cmova esi, dword [ebp - 0x44c]
mov dword [ebp - 0x43c], eax
lea eax, [esi + edx]
push eax
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x508]
add esp, 0xc
add eax, esi
mov byte [eax + edi], 0
jmp 0x40d8aa
mov byte [ebp - 0x508], 0
lea ecx, [ebp - 0x44c]
push dword [ebp - 0x508]
push edi
call fcn.00403190
cmp dword [ebp - 0x438], 0xf
lea eax, [ebp - 0x44c]
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmova eax, dword [ebp - 0x44c]
push 0
push 0
push dword [ebp - 0x43c]
push eax
push 0
push 0xfde9
call edi
mov esi, eax
mov dword [ebp - 0x46c], 0
push esi
xorps xmm0, xmm0
mov dword [ebp - 0x468], 0
push ecx
lea ecx, [ebp - 0x47c]
movups xmmword [ebp - 0x47c], xmm0
call fcn.0040e040
cmp dword [ebp - 0x468], 7
lea ecx, [ebp - 0x47c]
push esi
cmova ecx, dword [ebp - 0x47c]
lea eax, [ebp - 0x44c]
cmp dword [ebp - 0x438], 0xf
push ecx
push dword [ebp - 0x43c]
cmova eax, dword [ebp - 0x44c]
push eax
push 0
push 0xfde9
call edi
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x434]
cmp dword [edx + 0x14], 0xf
mov ecx, dword [edx + 0x10]
jbe 0x40d954
mov edx, dword [edx]
cmp dword [ebp - 0x468], 7
lea eax, [ebp - 0x47c]
mov edi, dword [ebp - 0x510]
cmova eax, dword [ebp - 0x47c]
push 0
push ecx
push ecx
push edx
push 0xffffffffffffffff
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
je 0x40da80
push 0
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
je 0x40da80
mov dword [ebp - 0x434], 0
lea eax, [ebp - 0x4c8]
mov dword [ebp - 0x4c8], 0
push eax
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpQueryDataAvailable]
mov eax, dword [ebp - 0x4c8]
inc eax
push eax
call fcn.004125d8
mov esi, eax
mov eax, dword [ebp - 0x4c8]
inc eax
mov dword [ebp - 0x508], esi
push eax
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0x10
lea eax, [ebp - 0x434]
push eax
push dword [ebp - 0x4c8]
push esi
push edi
call dword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x40da6a
mov edx, dword [ebp - 0x4b0]
mov eax, edx
mov ecx, dword [ebp - 0x4b4]
sub eax, ecx
mov edi, dword [ebp - 0x434]
push edi
cmp edi, eax
ja 0x40da4a
push dword [ebp - 0x508]
cmp edx, 0xf
lea esi, [ebp - 0x4c4]
lea eax, [ecx + edi]
cmova esi, dword [ebp - 0x4c4]
add esi, ecx
mov dword [ebp - 0x4b4], eax
push esi
call sub.VCRUNTIME140.dll_memmove
mov byte [esi + edi], 0
add esp, 0xc
mov esi, dword [ebp - 0x508]
jmp 0x40da64
push esi
mov byte [ebp - 0x530], 0
lea ecx, [ebp - 0x4c4]
push dword [ebp - 0x530]
push edi
call fcn.00403190
mov edi, dword [ebp - 0x510]
push esi
call fcn.00412382
add esp, 4
cmp dword [ebp - 0x4c8], 0
ja 0x40d9a0
mov ecx, dword [ebp - 0x468]
cmp ecx, 7
jbe 0x40dac0
mov edx, dword [ebp - 0x47c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40dab6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db41
push ecx
push edx
call fcn.00412260
add esp, 8
xor eax, eax
mov dword [ebp - 0x46c], 0
mov word [ebp - 0x47c], ax
mov eax, dword [ebp - 0x450]
mov dword [ebp - 0x468], 7
cmp eax, 0xf
jbe 0x40db15
mov edx, dword [ebp - 0x464]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x40db0b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40db41
push ecx
push edx
call fcn.00412260
add esp, 8
mov ecx, dword [ebp - 0x438]
cmp ecx, 0xf
jbe 0x40db51
mov edx, dword [ebp - 0x44c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40db47
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40db47
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00412260
add esp, 8
push edi
mov edi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call edi
push dword [ebp - 0x534]
call edi
push dword [ebp - 0x50c]
call edi
mov esi, dword [ebp - 0x514]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x480]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [ebp - 0x4c4]
movups xmmword [esi], xmm0
movq xmm0, qword [ebp - 0x4b4]
movq qword [esi + 0x10], xmm0
cmp ecx, 7
jbe 0x40dbd7
mov edx, dword [ebp - 0x494]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40dbcd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40dc32
push ecx
push edx
call fcn.00412260
add esp, 8
mov ecx, dword [ebp - 0x498]
xor eax, eax
mov dword [ebp - 0x484], 0
mov dword [ebp - 0x480], 7
mov word [ebp - 0x494], ax
cmp ecx, 7
jbe 0x40d2e8
mov edx, dword [ebp - 0x4ac]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40d2de
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40d2de
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.004012b0
call fcn.004012b0
int3