Function at 0x405c00
Capabilities:
Create http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42d22f
mov eax, dword fs:[0]
push eax
mov eax, 0x1088
call fcn.0042c940
mov eax, dword [0x43a00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp + 8]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x100c]
call fcn.0040a240
mov byte [ebp - 4], 1
lea eax, [ebp - 0x100c]
cmp dword [ebp - 0xff8], 8
xorps xmm0, xmm0
movq qword [ebp - 0xfc4], xmm0
cmovae eax, dword [ebp - 0x100c]
mov dword [ebp - 0x1068], eax
mov eax, dword [ebp - 0xffc]
mov dword [ebp - 0xfbc], 0
mov dword [ebp - 0xfc4], 0
mov dword [ebp - 0xfc0], 0
lea edi, [eax + eax]
mov dword [ebp - 0xfbc], 0
test edi, edi
je 0x405d16
cmp edi, 0x7fffffff
ja 0x406532
cmp edi, 0x1000
jb 0x405ce2
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x406537
push eax
call fcn.00417838
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x40653c
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x405ceb
push edi
call fcn.00417838
add esp, 4
push edi
push dword [ebp - 0x1068]
lea esi, [eax + edi]
mov dword [ebp - 0xfc4], eax
push eax
mov dword [ebp - 0xfc0], eax
mov dword [ebp - 0xfbc], esi
call fcn.00419040
add esp, 0xc
mov dword [ebp - 0xfc0], esi
lea edx, [ebp - 0xfc4]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xff4]
call fcn.00405990
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0xfc4]
test ecx, ecx
je 0x405d87
mov edx, dword [ebp - 0xfbc]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x405d5f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40653c
push edx
push ecx
call fcn.00417807
add esp, 8
mov dword [ebp - 0xfc4], 0
mov dword [ebp - 0xfc0], 0
mov dword [ebp - 0xfbc], 0
mov byte [ebp - 4], 3
call fcn.00401860
mov ecx, eax
test ecx, ecx
je 0x406541
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0xfb8], esi
mov edi, 0x4351f8
mov byte [ebp - 4], 4
test edi, 0xffff0000
jne 0x405dd5
movzx eax, di
lea ecx, [ebp - 0xfb8]
push eax
call fcn.0040a4d0
mov esi, dword [ebp - 0xfb8]
jmp 0x405e7d
mov eax, dword [esi - 0xc]
sub edi, esi
mov dword [ebp - 0x1068], eax
mov ecx, 1
mov eax, dword [esi - 8]
sub ecx, dword [esi - 4]
sub eax, 0xe
sar edi, 1
or eax, ecx
jge 0x405e07
push 0xe
lea ecx, [ebp - 0xfb8]
call fcn.0040a760
mov esi, dword [ebp - 0xfb8]
cmp edi, dword [ebp - 0x1068]
ja 0x405e52
mov eax, dword [esi - 8]
lea ecx, [esi + edi*2]
test ecx, ecx
jne 0x405e2b
call fcn.0041b225
mov dword [eax], 0x16
call fcn.0041af7c
jmp 0x405e66
add eax, eax
cmp eax, 0x1c
jae 0x405e44
call fcn.0041b225
mov dword [eax], 0x22
call fcn.0041af7c
jmp 0x405e66
push 0x1c
push ecx
push esi
call fcn.00419040
add esp, 0xc
jmp 0x405e66
mov edx, dword [esi - 8]
mov ecx, esi
push 0xe
push 0x4351f8
call fcn.0040a6d0
add esp, 8
cmp dword [esi - 8], 0xe
jl 0x40654b
xor eax, eax
mov dword [esi - 0xc], 0xe
mov word [esi + 0x1c], ax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xfdc]
push 4
mov dword [ebp - 0xfdc], 0
push str.UD
mov dword [ebp - 0xfcc], 0
mov dword [ebp - 0xfc8], 0xf
mov byte [ebp - 0xfdc], 0
call fcn.0040bda0
mov byte [ebp - 4], 6
mov eax, 0x7fffffff
mov edx, dword [ebp - 0xfcc]
sub eax, edx
mov ecx, dword [ebp - 0xfe4]
mov dword [ebp - 0x1070], edx
mov dword [ebp - 0x107c], ecx
cmp eax, ecx
jb 0x406555
cmp dword [ebp - 0xfc8], 0x10
lea eax, [ebp - 0xfdc]
mov edi, 0xf
mov dword [ebp - 0x1094], 0
cmovae eax, dword [ebp - 0xfdc]
cmp dword [ebp - 0xfe0], 0x10
mov dword [ebp - 0x1078], eax
lea eax, [ebp - 0xff4]
cmovae eax, dword [ebp - 0xff4]
add ecx, edx
mov dword [ebp - 0x1074], eax
lea eax, [ebp - 0x1094]
mov dword [ebp - 0x1068], ecx
mov dword [ebp - 0x106c], eax
cmp ecx, edi
jbe 0x405fce
mov edi, ecx
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x405f56
mov edi, 0x7fffffff
jmp 0x405f60
mov eax, 0x16
cmp edi, eax
cmovb edi, eax
xor ecx, ecx
mov eax, edi
add eax, 1
setb cl
neg ecx
or ecx, eax
cmp ecx, 0x1000
jb 0x405fa5
lea eax, [ecx + 0x23]
cmp eax, ecx
jbe 0x40655a
push eax
call fcn.00417838
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x40655f
mov edx, dword [ebp - 0x1070]
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x405fbc
test ecx, ecx
je 0x405fba
push ecx
call fcn.00417838
mov edx, dword [ebp - 0x1070]
add esp, 4
jmp 0x405fbc
xor eax, eax
mov ecx, dword [ebp - 0x1068]
mov dword [ebp - 0x106c], eax
mov dword [ebp - 0x1094], eax
push edx
push dword [ebp - 0x1078]
mov dword [ebp - 0x1084], ecx
push eax
mov dword [ebp - 0x1080], edi
call fcn.00419040
push dword [ebp - 0x107c]
mov eax, dword [ebp - 0x1070]
mov edi, dword [ebp - 0x106c]
add eax, edi
push dword [ebp - 0x1074]
push eax
call fcn.00419040
mov eax, dword [ebp - 0x1068]
add esp, 0x18
mov byte [edi + eax], 0
mov edx, dword [ebp - 0xfc8]
cmp edx, 0x10
jb 0x40604e
mov ecx, dword [ebp - 0xfdc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406044
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40655f
push edx
push ecx
call fcn.00417807
add esp, 8
movups xmm1, xmmword [ebp - 0x1094]
cmp dword [ebp - 0x1080], 0x10
lea ecx, [ebp - 0xfdc]
mov eax, dword [ebp - 0x1084]
movq xmm0, qword [ebp - 0x1084]
movd edx, xmm1
movups xmmword [ebp - 0xfdc], xmm1
cmovae ecx, edx
movq qword [ebp - 0xfcc], xmm0
add eax, ecx
cmp dword [ebp - 0x1080], 0x10
lea ecx, [ebp - 0xfdc]
cmovae ecx, edx
push ecx
push eax
push ecx
lea ecx, [ebp - 0x1024]
call fcn.0040ab50
cmp dword [ebp - 0x1010], 8
lea eax, [ebp - 0xfb4]
push 0xfa2
push 0
lea edi, [ebp - 0x1024]
cmovae edi, dword [ebp - 0x1024]
push eax
call fcn.004195c0
push 0x38
lea eax, [ebp - 0x1060]
mov dword [ebp - 0x1028], 0x7d1
push 0
push eax
mov dword [ebp - 0x1064], 0x3c
call fcn.004195c0
add esp, 0x18
mov dword [ebp - 0x1058], 3
mov eax, 0x50
mov dword [ebp - 0x1054], str.go.microsoft.com
mov word [ebp - 0x104c], ax
lea eax, [ebp - 0x1028]
mov dword [ebp - 0x1038], str.fwlink__linkid2271977
push eax
lea eax, [ebp - 0xfb4]
mov dword [ebp - 0x1030], edi
push eax
push 0
lea eax, [ebp - 0x1064]
push eax
call dword [sym.imp.WININET.dll_InternetCreateUrlW]
xor eax, eax
push eax
push eax
push eax
push eax
push 0x435274
mov word [ebp - 0x14], ax
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [ebp - 0x1074], eax
test eax, eax
je 0x40635b
push 0
push 0x4080300
push 0
push 0
lea ecx, [ebp - 0xfb4]
push ecx
push eax
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
test eax, eax
je 0x40635b
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
push eax
call edi
push dword [ebp - 0x1074]
call edi
mov edx, dword [ebp - 0x1010]
cmp edx, 8
jb 0x4061d6
mov ecx, dword [ebp - 0x1024]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4061cc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40655f
push edx
push ecx
call fcn.00417807
add esp, 8
xor eax, eax
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0xfc8]
mov dword [ebp - 0x1014], 0
mov dword [ebp - 0x1010], 7
mov word [ebp - 0x1024], ax
cmp edx, 0x10
jb 0x406231
mov ecx, dword [ebp - 0xfdc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406227
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40655f
push edx
push ecx
call fcn.00417807
add esp, 8
mov dword [ebp - 0xfcc], 0
add esi, 0xfffffff0
mov dword [ebp - 0xfc8], 0xf
or eax, 0xffffffff
mov byte [ebp - 0xfdc], 0
mov byte [ebp - 4], 3
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x406268
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xfe0]
cmp edx, 0x10
jb 0x4062a2
mov ecx, dword [ebp - 0xff4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406298
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40655f
push edx
push ecx
call fcn.00417807
add esp, 8
mov edx, dword [ebp - 0xff8]
mov dword [ebp - 0xfe4], 0
mov dword [ebp - 0xfe0], 0xf
mov byte [ebp - 0xff4], 0
cmp edx, 8
jb 0x4062fd
mov ecx, dword [ebp - 0x100c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4062f3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40655f
push edx
push ecx
call fcn.00417807
add esp, 8
mov edx, dword [ebp + 0x1c]
xor eax, eax
mov dword [ebp - 0xffc], 0
mov dword [ebp - 0xff8], 7
mov word [ebp - 0x100c], ax
cmp edx, 8
jb 0x406354
mov ecx, dword [ebp + 8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40634a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40655f
push edx
push ecx
call fcn.00417807
add esp, 8
mov al, 1
jmp 0x406517
mov edx, dword [ebp - 0x1010]
cmp edx, 8
jb 0x40639b
mov ecx, dword [ebp - 0x1024]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x406391
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40655f
push edx
push ecx
call fcn.00417807
add esp, 8
xor eax, eax
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0xfc8]
mov dword [ebp - 0x1014], 0
mov dword [ebp - 0x1010], 7
mov word [ebp - 0x1024], ax
cmp edx, 0x10
jb 0x4063f6
mov ecx, dword [ebp - 0xfdc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4063ec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40655f
push edx
push ecx
call fcn.00417807
add esp, 8
mov dword [ebp - 0xfcc], 0
add esi, 0xfffffff0
mov dword [ebp - 0xfc8], 0xf
or eax, 0xffffffff
mov byte [ebp - 0xfdc], 0
mov byte [ebp - 4], 3
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40642d
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xfe0]
cmp edx, 0x10
jb 0x406467
mov ecx, dword [ebp - 0xff4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40645d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40655f
push edx
push ecx
call fcn.00417807
add esp, 8
mov edx, dword [ebp - 0xff8]
mov dword [ebp - 0xfe4], 0
mov dword [ebp - 0xfe0], 0xf
mov byte [ebp - 0xff4], 0
cmp edx, 8
jb 0x4064c2
mov ecx, dword [ebp - 0x100c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4064b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40655f
push edx
push ecx
call fcn.00417807
add esp, 8
mov edx, dword [ebp + 0x1c]
xor eax, eax
mov dword [ebp - 0xffc], 0
mov dword [ebp - 0xff8], 7
mov word [ebp - 0x100c], ax
cmp edx, 8
jb 0x406515
mov ecx, dword [ebp + 8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40650b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40655f
push edx
push ecx
call fcn.00417807
add esp, 8
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004177f9
mov esp, ebp
pop ebp
ret
call fcn.0040b490
call fcn.0040c540
call fcn.0041af8c
push 0x80004005
call fcn.00401690
push 0x80070057
call fcn.00401690
call fcn.0040c400
call fcn.0040c540
call fcn.0041af8c
int3