Function at 0x40a170
Capabilities:
Initialize winhttp library
Prepare http request
Read http header
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x622b64
mov eax, dword fs:[0]
push eax
sub esp, 0x3c0
mov eax, dword [0x6cd400]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov edi, ecx
mov dword [ebp - 0x2f0], edi
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x20]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x390], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x380], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x384], ecx
mov dword [ebp - 0x39c], eax
mov dword [ebp - 0x394], 0
mov dword [ebp - 4], 0
test ebx, ebx
je 0x40a20c
mov eax, dword [ebp - 0x2ec]
push 0x677f98
mov dword [eax + 0x44], ebx
mov eax, dword [ebx]
push ebx
call dword [eax]
add esp, 8
push esi
lea ecx, [ebp - 0x364]
call fcn.0040b9e0
mov byte [ebp - 4], 1
xor eax, eax
push 0xffffffffffffffff
push eax
mov word [ebp - 0x26c], ax
lea eax, [ebp - 0x364]
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x258], 0
push eax
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x258], 7
mov dword [ebp - 0x25c], 0
call fcn.00403b10
mov byte [ebp - 4], 2
xor eax, eax
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x240], 7
mov dword [ebp - 0x244], 0
mov word [ebp - 0x254], ax
mov byte [ebp - 4], 3
push 8
push eax
push 0x677fb0
lea ecx, [ebp - 0x26c]
call fcn.0040cd50
test eax, eax
sete al
cmp dword [ebp - 0x33c], 0
mov byte [ebp - 0x365], al
jne 0x40a5b9
test al, al
je 0x40a2e5
push 0x677fb0
lea ecx, [ebp - 0x3b4]
call fcn.004035b0
mov byte [ebp - 4], 4
mov ecx, 1
jmp 0x40a301
push 0x677fc4
lea ecx, [ebp - 0x23c]
call fcn.004035b0
mov dword [ebp - 4], 5
mov ecx, 2
mov dword [ebp - 0x394], ecx
mov esi, dword [eax + 0x10]
mov dword [ebp - 0x370], esi
mov dword [ebp - 4], 4
test cl, 2
je 0x40a35f
and ecx, 0xfffffffd
mov dword [ebp - 0x394], ecx
cmp dword [ebp - 0x228], 8
jb 0x40a342
push dword [ebp - 0x23c]
call fcn.004c56c2
mov ecx, dword [ebp - 0x394]
add esp, 4
xor eax, eax
mov dword [ebp - 0x228], 7
mov dword [ebp - 0x22c], 0
mov word [ebp - 0x23c], ax
mov dword [ebp - 4], 3
test cl, 1
je 0x40a3a8
and ecx, 0xfffffffe
mov dword [ebp - 0x394], ecx
cmp dword [ebp - 0x3a0], 8
jb 0x40a38b
push dword [ebp - 0x3b4]
call fcn.004c56c2
add esp, 4
xor eax, eax
mov dword [ebp - 0x3a0], 7
mov dword [ebp - 0x3a4], 0
mov word [ebp - 0x3b4], ax
push 1
push esi
push 0x67770c
lea ecx, [ebp - 0x26c]
call fcn.0040cd50
mov esi, eax
cmp esi, 0xffffffff
je 0x40a5b9
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x23c]
push eax
lea ecx, [ebp - 0x26c]
call fcn.0040ca70
mov dword [ebp - 0x224], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x34c]
cmp ecx, eax
je 0x40a435
cmp dword [ebp - 0x338], 8
jb 0x40a40c
push dword [ebp - 0x34c]
call fcn.004c56c2
mov eax, dword [ebp - 0x224]
add esp, 4
xor ecx, ecx
mov word [ebp - 0x34c], cx
push eax
lea ecx, [ebp - 0x34c]
mov dword [ebp - 0x338], 7
mov dword [ebp - 0x33c], 0
call fcn.00403760
mov byte [ebp - 4], 3
cmp dword [ebp - 0x228], 8
jb 0x40a450
push dword [ebp - 0x23c]
call fcn.004c56c2
add esp, 4
mov ecx, dword [ebp - 0x370]
xor eax, eax
mov word [ebp - 0x23c], ax
mov eax, esi
sub eax, ecx
push eax
push ecx
lea eax, [ebp - 0x23c]
push eax
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x228], 7
mov dword [ebp - 0x22c], 0
call fcn.0040ca70
mov dword [ebp - 0x224], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x364]
cmp ecx, eax
je 0x40a4e5
cmp dword [ebp - 0x350], 8
jb 0x40a4bc
push dword [ebp - 0x364]
call fcn.004c56c2
mov eax, dword [ebp - 0x224]
add esp, 4
xor ecx, ecx
mov word [ebp - 0x364], cx
push eax
lea ecx, [ebp - 0x364]
mov dword [ebp - 0x350], 7
mov dword [ebp - 0x354], 0
call fcn.00403760
mov byte [ebp - 4], 3
cmp dword [ebp - 0x228], 8
jb 0x40a500
push dword [ebp - 0x23c]
call fcn.004c56c2
add esp, 4
xor eax, eax
push esi
push eax
mov word [ebp - 0x23c], ax
lea eax, [ebp - 0x23c]
push eax
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x228], 7
mov dword [ebp - 0x22c], 0
call fcn.0040ca70
mov esi, eax
mov byte [ebp - 4], 8
lea eax, [ebp - 0x254]
cmp eax, esi
je 0x40a581
cmp dword [ebp - 0x240], 8
jb 0x40a558
push dword [ebp - 0x254]
call fcn.004c56c2
add esp, 4
xor eax, eax
push esi
lea ecx, [ebp - 0x254]
mov dword [ebp - 0x240], 7
mov dword [ebp - 0x244], 0
mov word [ebp - 0x254], ax
call fcn.00403760
mov byte [ebp - 4], 3
cmp dword [ebp - 0x228], 8
jb 0x40a59c
push dword [ebp - 0x23c]
call fcn.004c56c2
add esp, 4
xor eax, eax
mov dword [ebp - 0x228], 7
mov dword [ebp - 0x22c], 0
mov word [ebp - 0x23c], ax
cmp byte [ebp - 0x365], 0
mov eax, 0x50
mov ecx, 0x1bb
cmovne eax, ecx
cmp dword [ebp - 0x354], 0
mov dword [ebp - 0x370], eax
je 0x40b889
cmp dword [ebp - 0x33c], 0
je 0x40b889
cmp dword [ebp - 0x324], 0
je 0x40b889
push 0x67801c
lea ecx, [ebp - 0x334]
call fcn.00404860
test eax, eax
je 0x40a6b6
cmp dword [ebp - 0x304], 0
jne 0x40a6b6
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x220], esp
push 0x677fd4
call fcn.004035b0
mov byte [ebp - 4], 0xb
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2f0], esp
push 0x678024
call fcn.004035b0
mov byte [ebp - 4], 0xc
call fcn.00401520
mov byte [ebp - 4], 3
mov ecx, eax
call fcn.004365e0
mov dword [edi + 8], 0
mov dword [edi], 0xffffff38
mov dword [edi + 4], 0
push 0x67803c
lea ecx, [ebp - 0x2cc]
call fcn.004035b0
mov byte [ebp - 4], 0xd
push 0xffffffffffffffff
push 0
lea eax, [ebp + 0x2c]
push eax
lea ecx, [ebp - 0x2cc]
call fcn.00403f80
cmp dword [ebp - 0x2b8], 8
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventW]
lea eax, [ebp - 0x2cc]
cmovae eax, dword [ebp - 0x2cc]
push eax
push 0
push 0
push 0
call esi
push 0
push 0
push 0
push 0
mov dword [ebp - 0x37c], eax
call esi
mov dword [ebp - 0x378], eax
mov eax, dword [ebp - 0x384]
cmp dword [eax + 0x14], 8
mov dword [eax + 0x10], 0
jb 0x40a72d
mov ecx, dword [eax]
jmp 0x40a72f
mov ecx, eax
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x2a0], 0xf
mov dword [ebp - 0x2a4], 0
mov byte [ebp - 0x2b4], 0
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0x240], 8
lea ecx, [ebp - 0x254]
cmovae ecx, dword [ebp - 0x254]
push 0
lea edx, [ebp - 0x2b4]
call fcn.00499490
add esp, 4
test al, al
jne 0x40a84e
call fcn.00401520
mov ecx, dword [eax + 0xf8]
add eax, 0xf8
push 0x678058
push 0x6779a0
push eax
call dword [ecx + 0x24]
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x220], esp
push 0x6780c0
call fcn.004035b0
mov byte [ebp - 4], 0xf
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2f0], esp
push 0x6780e8
call fcn.004035b0
mov byte [ebp - 4], 0x10
call fcn.00401520
mov byte [ebp - 4], 0xe
mov ecx, eax
call fcn.004365e0
mov eax, dword [ebp - 0x37c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call esi
mov ecx, dword [ebp - 0x378]
push ecx
call esi
mov dword [edi + 8], 0
mov dword [edi], 0xffffff38
mov dword [edi + 4], 0
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x270], 0xf
mov dword [ebp - 0x274], 0
mov byte [ebp - 0x284], 0
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x300], 8
lea ecx, [ebp - 0x314]
cmovae ecx, dword [ebp - 0x314]
push 0
lea edx, [ebp - 0x284]
call fcn.00499490
xor eax, eax
add esp, 4
mov word [ebp - 0x214], ax
cmp byte [0x6ce8a4], al
je 0x40a91b
cmp dword [ebp - 0x2a0], 0x10
lea eax, [ebp - 0x2b4]
cmovae eax, dword [ebp - 0x2b4]
push ecx
push eax
lea ecx, [ebp - 0x214]
call fcn.00409290
add esp, 8
cmp word [ebp - 0x214], 0
je 0x40a91b
mov ecx, dword [ebp - 0x380]
lea eax, [ebp - 0x214]
push eax
call fcn.00403800
push 0x10000000
push 0
lea eax, [ebp - 0x214]
push eax
push 3
push 0x678100
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov ecx, eax
mov dword [ebp - 0x388], ecx
jmp 0x40a939
push 0x10000000
push 0
push 0
push 0
push 0x678100
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov ecx, eax
mov dword [ebp - 0x388], eax
test ecx, ecx
jne 0x40aa09
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x370], esi
call fcn.00401520
mov ecx, dword [eax + 0xf8]
add eax, 0xf8
push 0x678108
push 0x6779a0
push eax
call dword [ecx + 0x24]
sub esp, 0xc
mov edx, esi
mov ecx, esp
mov dword [ebp - 0x220], esp
call fcn.00408d30
mov byte [ebp - 4], 0x12
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2f0], esp
push 0x678164
call fcn.004035b0
mov byte [ebp - 4], 0x13
call fcn.00401520
mov byte [ebp - 4], 0x11
mov ecx, eax
call fcn.004365e0
mov eax, dword [ebp - 0x37c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call esi
mov ecx, dword [ebp - 0x378]
push ecx
call esi
mov esi, dword [ebp - 0x370]
test ebx, ebx
je 0x40a9e2
mov eax, dword [ebx]
push esi
push 0x678184
push 0x677f88
push ebx
call dword [eax + 0x18]
add esp, 0x10
lea eax, [ebp - 0x364]
push eax
mov edx, esi
mov ecx, edi
call fcn.00408fb0
add esp, 4
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x284]
call fcn.00403560
jmp 0x40a82b
cmp dword [ebp - 0x350], 8
push 0
push dword [ebp - 0x370]
lea eax, [ebp - 0x364]
cmovae eax, dword [ebp - 0x364]
push eax
push ecx
call dword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov esi, eax
mov dword [ebp - 0x398], esi
test esi, esi
jne 0x40ab11
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x370], esi
call fcn.00401520
mov ecx, dword [eax + 0xf8]
add eax, 0xf8
push 0x6781b8
push 0x6779a0
push eax
call dword [ecx + 0x24]
sub esp, 0xc
mov edx, esi
mov ecx, esp
mov dword [ebp - 0x220], esp
call fcn.00408d30
mov byte [ebp - 4], 0x14
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2f0], esp
push 0x67820c
call fcn.004035b0
mov byte [ebp - 4], 0x15
call fcn.00401520
mov byte [ebp - 4], 0x11
mov ecx, eax
call fcn.004365e0
push dword [ebp - 0x388]
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov eax, dword [ebp - 0x37c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call esi
mov ecx, dword [ebp - 0x378]
push ecx
call esi
mov esi, dword [ebp - 0x370]
test ebx, ebx
je 0x40aaea
mov eax, dword [ebx]
push esi
push 0x678230
push 0x677f88
push ebx
call dword [eax + 0x18]
add esp, 0x10
lea eax, [ebp - 0x364]
push eax
mov edx, esi
mov ecx, edi
call fcn.00408fb0
add esp, 4
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x284]
call fcn.00403560
jmp 0x40a82b
cmp dword [ebp - 0x338], 8
mov eax, dword [ebp - 0x2fc]
lea edx, [ebp - 0x34c]
cmovae edx, dword [ebp - 0x34c]
cmp dword [ebp - 0x320], 8
lea ecx, [ebp - 0x334]
cmovae ecx, dword [ebp - 0x334]
cmp byte [ebp - 0x365], 0
mov dword [ebp - 0x370], 0x800000
cmovne eax, dword [ebp - 0x370]
push eax
push 0
push 0
push 0
push edx
push ecx
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov esi, eax
mov dword [ebp - 0x38c], esi
test esi, esi
jne 0x40ac55
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x370], esi
call fcn.00401520
mov ecx, dword [eax + 0xf8]
add eax, 0xf8
push 0x678268
push 0x6779a0
push eax
call dword [ecx + 0x24]
sub esp, 0xc
mov edx, esi
mov ecx, esp
mov dword [ebp - 0x220], esp
call fcn.00408d30
mov byte [ebp - 4], 0x16
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2f0], esp
push 0x6782bc
call fcn.004035b0
mov byte [ebp - 4], 0x17
call fcn.00401520
mov byte [ebp - 4], 0x11
mov ecx, eax
call fcn.004365e0
mov eax, dword [ebp - 0x37c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call esi
mov ecx, dword [ebp - 0x378]
push ecx
call esi
push dword [ebp - 0x388]
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call esi
push dword [ebp - 0x398]
call esi
mov esi, dword [ebp - 0x370]
test ebx, ebx
je 0x40ac2e
mov eax, dword [ebx]
push esi
push 0x6782e8
push 0x677f88
push ebx
call dword [eax + 0x18]
add esp, 0x10
lea eax, [ebp - 0x364]
push eax
mov edx, esi
mov ecx, edi
call fcn.00408fb0
add esp, 4
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x284]
call fcn.00403560
jmp 0x40a82b
xor eax, eax
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x288], 7
mov dword [ebp - 0x28c], 0
mov word [ebp - 0x29c], ax
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x31c]
mov eax, dword [ecx]
mov dword [ebp - 0x370], eax
cmp eax, ecx
je 0x40ad4d
lea esi, [eax + 0x10]
push 0x677c9c
lea eax, [ebp - 0x3cc]
push esi
push eax
call fcn.00404680
add esp, 0xc
mov byte [ebp - 4], 0x19
lea ecx, [esi + 0x18]
push ecx
push eax
lea eax, [ebp - 0x3b4]
push eax
call fcn.00404780
add esp, 0xc
mov byte [ebp - 4], 0x1a
push 0x677d04
push eax
lea eax, [ebp - 0x23c]
push eax
call fcn.0040d6e0
add esp, 0xc
mov byte [ebp - 4], 0x1b
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x29c]
call fcn.00403f80
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x23c]
call fcn.00403680
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x3b4]
call fcn.00403680
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x3cc]
call fcn.00403680
lea ecx, [ebp - 0x370]
call fcn.0040d010
mov eax, dword [ebp - 0x370]
cmp eax, dword [ebp - 0x31c]
jne 0x40aca0
mov esi, dword [ebp - 0x38c]
push 0
push 0x7f0300
push 0x409e20
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpSetStatusCallback]
cmp eax, 0xffffffff
jne 0x40ae53
call fcn.00401520
mov ecx, dword [eax + 0xf8]
add eax, 0xf8
push 0x678328
push 0x6779a0
push eax
call dword [ecx + 0x24]
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub esp, 0x18
mov edx, eax
mov ecx, esp
mov dword [ebp - 0x220], esp
call fcn.00408d30
mov byte [ebp - 4], 0x1c
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2f0], esp
push 0x678384
call fcn.004035b0
mov byte [ebp - 4], 0x1d
call fcn.00401520
mov byte [ebp - 4], 0x18
mov ecx, eax
call fcn.004365e0
mov eax, dword [ebp - 0x37c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
call esi
mov ecx, dword [ebp - 0x378]
push ecx
call esi
push dword [ebp - 0x388]
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call esi
push dword [ebp - 0x398]
call esi
push dword [ebp - 0x38c]
call esi
test ebx, ebx
je 0x40ae1c
mov eax, dword [ebx]
push 0x6783bc
push 0x677f88
push ebx
call dword [eax + 0x18]
add esp, 0xc
mov dword [edi + 8], 0
mov dword [edi], 0xffffff38
mov dword [edi + 4], 0
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [ebp - 0x378]
mov dword [eax], 0
mov eax, dword [ebp - 0x2ec]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x2ec]
mov dword [eax + 8], 0
mov eax, dword [ebp - 0x2ec]
mov dword [eax + 0xc], 0
mov eax, dword [ebp - 0x2ec]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0x2ec]
mov dword [eax + 0x30], 0xffffffff
mov eax, dword [ebp - 0x2ec]
mov dword [eax + 0x44], ebx
mov ecx, dword [ebp - 0x220]
mov edx, dword [ebp + 0x18]
test ecx, ecx
je 0x40aef6
cmp dword [ebp - 0x390], 0
je 0x40aef6
cmp word [ecx], 0
je 0x40aef6
push 0
push dword [ebp - 0x390]
test edx, edx
push ecx
mov eax, 1
cmovne eax, edx
push eax
push 1
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpSetCredentials]
test eax, eax
je 0x40b082
mov eax, dword [ebp - 0x2ec]
mov byte [eax + 0x34], 1
push 0x67801c
lea ecx, [ebp - 0x334]
call fcn.00404860
test eax, eax
jne 0x40af1f
push dword [ebp - 0x2ec]
push eax
push eax
push eax
push eax
cmp dword [ebp - 0x28c], eax
jne 0x40af78
push eax
jmp 0x40af8d
cmp dword [ebp - 0x28c], 0
jne 0x40af52
cmp dword [ebp - 0x270], 0x10
lea ecx, [ebp - 0x2ec]
push ecx
mov ecx, dword [ebp - 0x224]
push ecx
lea eax, [ebp - 0x284]
cmovae eax, dword [ebp - 0x284]
push ecx
push eax
push 0
push 0
jmp 0x40af8d
cmp dword [ebp - 0x270], 0x10
lea edx, [ebp - 0x2ec]
push edx
mov edx, dword [ebp - 0x224]
push edx
lea ecx, [ebp - 0x284]
cmovae ecx, dword [ebp - 0x284]
push edx
push ecx
push 0
cmp dword [ebp - 0x288], 8
lea eax, [ebp - 0x29c]
cmovae eax, dword [ebp - 0x29c]
push eax
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x40b1e3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x380], eax
cmp eax, 0x2f00
je 0x40aeab
call fcn.00401520
mov ecx, dword [eax + 0xf8]
add eax, 0xf8
push 0x6784e0
push 0x6779a0
push eax
call dword [ecx + 0x24]
mov edx, dword [ebp - 0x380]
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x220], esp
call fcn.00408d30
mov byte [ebp - 4], 0x20
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2f0], esp
push 0x678538
call fcn.004035b0
mov byte [ebp - 4], 0x21
call fcn.00401520
mov byte [ebp - 4], 0x18
sbb byte [ebx - 0x4a331738], cl
add al, byte [eax]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, dword [ebp - 0x378]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x37c]
push 0xea60
mov dword [ebp - 0x218], eax
push 0
lea eax, [ebp - 0x21c]
push eax
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
push 0
push 0xffffffffffffffff
push 0
push esi
mov dword [ebp - 0x220], eax
call dword [sym.imp.WINHTTP.dll_WinHttpSetStatusCallback]
xor eax, eax
mov dword [ebp - 0x2d8], 0
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x2f4], 0
mov dword [ebp - 0x2d4], 7
mov dword [ebp - 0x2d8], 0
mov word [ebp - 0x2e8], ax
mov byte [ebp - 4], 0x22
push eax
mov dword [ebp - 0x2d0], eax
lea eax, [ebp - 0x2f4]
push eax
lea eax, [ebp - 0x2d0]
push eax
push 0
push 0x20000013
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
mov eax, dword [ebp - 0x220]
test eax, eax
je 0x40b2ee
cmp eax, 1
jne 0x40b2ad
test ebx, ebx
je 0x40b2a6
mov eax, dword [ebx]
push 0x6785a0
push ebx
call dword [eax]
add esp, 8
mov edx, 1
jmp 0x40b2ca
cmp eax, 0x102
jne 0x40b2ee
test ebx, ebx
je 0x40b2c5
mov eax, dword [ebx]
push 0x6785f0
push ebx
call dword [eax]
add esp, 8
mov edx, 2
push ecx
lea ecx, [ebp - 0x3a8]
call fcn.00409120
mov ecx, dword [ebp - 0x2ec]
movq xmm0, qword [eax]
movq qword [ecx + 0x38], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 0x40], eax
add esp, 4
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax + 0x38]
cmp ecx, 2
je 0x40b485
cmp ecx, 1
je 0x40b485
mov ecx, dword [eax]
test ecx, ecx
je 0x40b485
cmp dword [eax + 0xc], 1
jne 0x40b3c6
push 0
push 0
push dword [eax + 8]
push ecx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x380], eax
add eax, eax
mov dword [ebp - 0x220], eax
lea ecx, [eax + 2]
push ecx
call fcn.005ea1f8
add esp, 4
mov dword [ebp - 0x370], eax
test eax, eax
je 0x40b3c0
mov ecx, dword [ebp - 0x380]
inc ecx
push ecx
push 0
push eax
call fcn.00401010
mov eax, dword [ebp - 0x2ec]
add esp, 0xc
push dword [ebp - 0x380]
push dword [ebp - 0x370]
push dword [eax + 8]
push dword [eax]
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x370]
mov edx, dword [ebp - 0x220]
xor ecx, ecx
mov word [eax + edx], cx
mov ecx, dword [ebp - 0x380]
push ecx
mov ecx, dword [ebp - 0x384]
push eax
call fcn.00403c30
push dword [ebp - 0x370]
call fcn.005ea1c0
add esp, 4
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [ebp - 0x39c]
cmp dword [ecx + 0x10], 0
je 0x40b469
call fcn.004a0af0
test al, al
je 0x40b3f1
mov ecx, dword [ebp - 0x39c]
push 0
xor dl, dl
call fcn.004a0f70
add esp, 4
mov eax, dword [ebp - 0x39c]
cmp dword [eax + 0x14], 8
jb 0x40b3ff
mov eax, dword [eax]
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x384], eax
cmp eax, 0xffffffff
je 0x40b463
mov edx, dword [ebp - 0x2ec]
push 0
lea ecx, [ebp - 0x220]
push ecx
mov dword [ebp - 0x220], 0
push dword [edx + 8]
push dword [edx]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x40b457
mov ecx, dword [ebp - 0x39c]
call fcn.004a11e0
push dword [ebp - 0x384]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x2ec]
push dword [eax]
call fcn.005ea1c0
mov eax, dword [ebp - 0x2ec]
add esp, 4
mov dword [eax], 0
mov eax, dword [ebp - 0x2ec]
movq xmm0, qword [eax + 0x38]
mov eax, dword [eax + 0x40]
movq qword [ebp - 0x374], xmm0
movq qword [ebp - 0x3a8], xmm0
mov dword [ebp - 0x384], eax
test ebx, ebx
je 0x40b4c0
push dword [ebp - 0x3a4]
mov eax, dword [ebx]
push dword [ebp - 0x3a8]
push 0x678640
push ebx
call dword [eax]
add esp, 0x10
push 0
lea eax, [ebp - 0x2f4]
push eax
push 0
push 0
push 0x16
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
jne 0x40b540
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x40b5b8
mov eax, dword [ebp - 0x2f4]
xor ecx, ecx
shr eax, 1
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004c56b9
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x40b5b8
push 0
lea eax, [ebp - 0x2f4]
push eax
push ebx
push 0
push 0x16
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
push ebx
lea ecx, [ebp - 0x2e8]
call fcn.00403800
push ebx
call fcn.004c56c2
add esp, 4
jmp 0x40b5b8
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
sub esp, 0x18
mov edx, eax
mov ecx, esp
mov dword [ebp - 0x220], esp
call fcn.00408d30
mov byte [ebp - 4], 0x23
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x224], esp
push 0x678690
call fcn.004035b0
mov byte [ebp - 4], 0x24
call fcn.00401520
mov byte [ebp - 4], 0x22
mov ecx, eax
call fcn.004365e0
call fcn.00401520
mov edi, dword [eax + 0xf8]
lea esi, [eax + 0xf8]
call ebx
push eax
push 0x6786c0
push 0x6779a0
push esi
call dword [edi + 0x1c]
mov edi, dword [ebp - 0x2f0]
mov esi, dword [ebp - 0x38c]
add esp, 0x10
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x40b5f1
cmp dword [ebp - 0x2d8], 0
je 0x40b5f1
sub esp, 0x18
lea eax, [ebp - 0x2e8]
mov ecx, esp
mov dword [ebp - 0x220], esp
push eax
call fcn.00408490
mov byte [ebp - 4], 0x25
mov byte [ebp - 4], 0x22
mov ecx, ebx
call fcn.00409650
add esp, 0x18
call fcn.00401520
cmp dword [ebp - 0x3a8], 0
mov dword [ebp - 0x390], eax
jne 0x40b82c
cmp byte [eax + 0x5b4], 0
je 0x40b82c
cmp byte [ebp - 0x365], 0
je 0x40b82c
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x2f0]
push eax
push 0x4e
push esi
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x220], 4
call dword [sym.imp.WINHTTP.dll_WinHttpQueryOption]
test eax, eax
jne 0x40b6c7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
lea eax, [ebp - 0x364]
push eax
mov edx, esi
lea ecx, [ebp - 0x3a8]
call fcn.00408fb0
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
sub esp, 0x14
mov edx, esi
mov ecx, esp
movq qword [ebp - 0x374], xmm0
mov dword [ebp - 0x384], eax
mov dword [ebp - 0x224], esp
call fcn.00408d30
mov byte [ebp - 4], 0x26
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x390], esp
push 0x678714
call fcn.004035b0
mov byte [ebp - 4], 0x27
call fcn.00401520
mov byte [ebp - 4], 0x22
mov ecx, eax
call fcn.004365e0
jmp 0x40b82c
mov eax, dword [ebp - 0x2f0]
mov esi, dword [sym.imp.CRYPT32.dll_CertGetIssuerCertificateFromStore]
lea ecx, [ebp - 0x224]
push ecx
push 0
push eax
mov dword [ebp - 0x224], 0
push dword [eax + 0x10]
mov ebx, eax
call esi
test eax, eax
jne 0x40b6d3
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x228], 7
mov dword [ebp - 0x22c], eax
mov word [ebp - 0x23c], ax
mov byte [ebp - 4], 0x28
lea edx, [ebp - 0x23c]
mov ecx, ebx
call fcn.0040f320
mov eax, dword [ebp - 0x390]
lea ecx, [ebp - 0x23c]
mov esi, dword [eax + 0x5bc]
push ecx
push esi
push dword [eax + 0x5b8]
call fcn.0040daf0
add esp, 0xc
cmp eax, esi
jne 0x40b81d
mov dword [ebp - 0x3a8], 0xfffffffc
call fcn.00401520
mov ecx, dword [eax + 0xf8]
add eax, 0xf8
cmp dword [ebp - 0x228], 8
lea edx, [ebp - 0x23c]
cmovae edx, dword [ebp - 0x23c]
push edx
push 0x678740
push eax
call dword [ecx + 4]
add esp, 0xc
call fcn.00401520
mov ecx, dword [eax + 0xf8]
add eax, 0xf8
push 0x678760
push 0x678794
push eax
call dword [ecx + 0x1c]
cmp dword [ebp - 0x228], 8
lea eax, [ebp - 0x23c]
cmovae eax, dword [ebp - 0x23c]
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x224], esp
push eax
call fcn.004035b0
mov byte [ebp - 4], 0x29
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x390], esp
push 0x6787a8
call fcn.004035b0
mov byte [ebp - 4], 0x2a
call fcn.00401520
mov byte [ebp - 4], 0x28
mov ecx, eax
call fcn.004365e0
call fcn.00401520
mov eax, dword [eax + 0x760]
movq xmm0, qword [ebp - 0x3a8]
mov byte [eax + 0xc8], 1
movq qword [ebp - 0x374], xmm0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x23c]
call fcn.00403680
push dword [ebp - 0x37c]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
call ebx
push dword [ebp - 0x378]
call ebx
push dword [ebp - 0x38c]
mov esi, dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call esi
push dword [ebp - 0x398]
call esi
push dword [ebp - 0x388]
call esi
movq xmm0, qword [ebp - 0x374]
mov eax, dword [ebp - 0x384]
movq qword [edi], xmm0
mov dword [edi + 8], eax
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x2e8]
call fcn.00403680
jmp 0x40ae30
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x220], esp
push 0x16
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push 0x677fd4
mov word [ecx], ax
call fcn.00403c30
mov byte [ebp - 4], 9
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2f0], esp
push 0xb
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push 0x678004
mov word [ecx], ax
call fcn.00403c30
mov byte [ebp - 4], 0xa
call fcn.00401520
mov byte [ebp - 4], 3
mov ecx, eax
call fcn.004365e0
mov dword [edi + 8], 0
mov dword [edi], 0xffffff38
mov dword [edi + 4], 0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x240], 8
jb 0x40b924
push dword [ebp - 0x254]
call fcn.004c56c2
add esp, 4
xor eax, eax
mov dword [ebp - 0x240], 7
mov dword [ebp - 0x244], 0
mov word [ebp - 0x254], ax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x258], 8
jb 0x40b95c
push dword [ebp - 0x26c]
call fcn.004c56c2
add esp, 4
xor eax, eax
mov dword [ebp - 0x258], 7
mov dword [ebp - 0x25c], 0
mov word [ebp - 0x26c], ax
mov byte [ebp - 4], al
lea ecx, [ebp - 0x364]
call fcn.0040bae0
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp + 0x40], 8
jb 0x40b99f
push dword [ebp + 0x2c]
call fcn.004c56c2
add esp, 4
xor eax, eax
mov dword [ebp + 0x40], 7
mov dword [ebp + 0x3c], 0
mov word [ebp + 0x2c], ax