Function at 0x41bd00
Capabilities:
Check http status code
Connect to http server
Delete file
Download and write a file
Get file attributes
Parse url
Read data from internet
Receive and write data from server to client
Receive data
Send data
Send http request
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4873d6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xbdc
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x14], esi
mov dword [ebp - 4], 2
cmp byte [esi + 0x684], 0
je 0x41bd3c
xor esi, esi
jmp 0x41dbdb
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0xe0]
push edi
call fcn.0040ab20
mov byte [ebp - 4], 3
push dword [esi + 0x654]
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0xcc], 8
lea eax, [ebp - 0xe0]
mov ecx, dword [ebp - 0xd0]
cmovae eax, dword [ebp - 0xe0]
mov dword [ebp - 0x1c], eax
cmp ecx, 2
jb 0x41bde0
dec ecx
lea edx, [eax + ecx*2]
mov ecx, eax
mov dword [ebp - 0x10], edx
mov eax, edx
sub eax, ecx
sar eax, 1
je 0x41bddd
nop
cmp word [ecx], 0x2f
je 0x41bda0
add ecx, 2
sub eax, 1
jne 0x41bd90
jmp 0x41bddd
mov edx, 0x49d77c
mov eax, ecx
sub eax, edx
mov esi, 2
mov dword [ebp + 8], eax
mov ax, word [edx + eax]
cmp ax, word [edx]
jne 0x41bdc7
add edx, 2
sub esi, 1
je 0x41bdcf
mov eax, dword [ebp + 8]
jmp 0x41bdb1
mov edx, dword [ebp - 0x10]
add ecx, 2
jmp 0x41bd86
sub ecx, dword [ebp - 0x1c]
sar ecx, 1
cmp ecx, 0xffffffff
jne 0x41bf7d
mov esi, dword [ebp - 0x14]
push 8
xor eax, eax
mov dword [ebp - 0xa8], 0
push str.https:__
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 7
mov word [ebp - 0xa8], ax
call fcn.00408820
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 4
push eax
mov ecx, esi
call fcn.00410d10
mov byte [ebp - 4], 5
mov ecx, eax
cmp dword [eax + 0x14], 8
jb 0x41be39
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0xa8]
call fcn.0040ac30
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x70]
cmp edx, 8
jb 0x41be89
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41be7f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc07
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0x98]
mov eax, 0x7ffffffe
sub eax, edx
cmp eax, dword [ebp - 0xd0]
jb 0x41dc0c
cmp dword [ebp - 0x94], 8
lea ecx, [ebp - 0xa8]
push dword [ebp - 0xd0]
cmovae ecx, dword [ebp - 0xa8]
lea eax, [ebp - 0xe0]
cmp dword [ebp - 0xcc], 8
cmovae eax, dword [ebp - 0xe0]
push eax
push edx
push ecx
lea eax, [ebp - 0xa8]
push eax
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x84]
call fcn.0040d2d0
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0xe0]
call fcn.0040efa0
mov edx, dword [ebp - 0x70]
cmp edx, 8
jb 0x41bf37
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41bf2d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc11
push edx
push ecx
call fcn.00460334
add esp, 8
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x94]
cmp edx, 8
jb 0x41bf80
mov ecx, dword [ebp - 0xa8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41bf71
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc11
push edx
push ecx
call fcn.00460334
add esp, 8
jmp 0x41bf80
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0xcc], 8
lea eax, [ebp - 0x5e8]
mov dword [ebp - 0x12c], eax
lea ecx, [ebp - 0x13c]
lea eax, [ebp - 0x7e8]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x120], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x9e8]
movlpd qword [ebp - 0x138], xmm0
mov dword [ebp - 0x118], eax
lea eax, [ebp - 0xbe8]
push ecx
mov dword [ebp - 0x110], eax
lea eax, [ebp - 0xe0]
cmovae eax, dword [ebp - 0xe0]
push 0
push dword [ebp - 0xd0]
mov dword [ebp - 0x124], 0
push eax
movlpd qword [ebp - 0x108], xmm0
mov dword [ebp - 0x13c], 0x3c
mov dword [ebp - 0x128], 0x100
mov dword [ebp - 0x11c], 0x100
mov dword [ebp - 0x114], 0x100
mov dword [ebp - 0x10c], 0x100
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
jne 0x41c1aa
lea eax, [ebp - 0xf8]
push eax
call fcn.00425df0
push 0x1c
push str.Download_InternetCrackUrl__
push 0
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.0042cf10
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x64], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x54], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 7
mov eax, 0x7ffffffe
mov ecx, dword [ebp - 0xd0]
sub eax, ecx
cmp eax, 0x12
jb 0x41dc16
cmp dword [ebp - 0xcc], 8
lea eax, [ebp - 0xe0]
push ecx
cmovae eax, dword [ebp - 0xe0]
lea ecx, [ebp - 0x84]
push eax
push 0x12
push str.Error___Bad_URL__
lea eax, [ebp - 0xe0]
push eax
push dword [ebp + 0x3c]
call fcn.0040d2d0
push 1
push 0x3b0
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x84]
mov ecx, esi
push eax
push 0xffffffffffffffff
call fcn.00414c00
mov edx, dword [ebp - 0x70]
cmp edx, 8
jb 0x41c127
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c11d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc1b
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x41c161
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c157
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc1b
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0xe4]
cmp edx, 8
jb 0x41c42b
mov ecx, dword [ebp - 0xf8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c19b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc1b
push edx
push ecx
call fcn.00460334
add esp, 8
jmp 0x41c42b
push 0
push 0
push 3
push dword [ebp - 0x118]
push dword [ebp - 0x120]
push dword [ebp - 0x124]
push dword [ebp - 0x12c]
push dword [esi + 0x5b4]
call dword [sym.imp.WININET.dll_InternetConnectW]
mov ecx, eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x41c44e
push 0x1a
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x34]
push str.Error_connecting_to_server
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 7
mov word [ebp - 0x34], ax
call fcn.00408820
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 9
push eax
call fcn.00425df0
mov dword [ebp + 0x3c], eax
mov byte [ebp - 4], 0xa
mov eax, 0x7ffffffe
mov ecx, dword [edi + 0x10]
sub eax, ecx
cmp eax, 0x1b
jb 0x41dc20
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x41c235
mov eax, dword [edi]
push ecx
push eax
push 0x1b
push str.Download_InternetConnect__
push edi
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x4c]
call fcn.0040d2d0
push 3
push 0x49d620
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xb
call fcn.0040ac30
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x64], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x54], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x64]
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x84]
push eax
push dword [ebp + 0x3c]
call fcn.0040f6f0
push 1
push 0x3b0
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x34]
mov ecx, esi
push eax
push 0xffffffffffffffff
call fcn.00414c00
mov edx, dword [ebp - 0x70]
cmp edx, 8
jb 0x41c2f6
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c2ec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc25
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x41c330
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c326
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc25
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0x38]
cmp edx, 8
jb 0x41c36a
mov ecx, dword [ebp - 0x4c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c360
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc25
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0xb4]
xor eax, eax
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], ax
cmp edx, 8
jb 0x41c3be
mov ecx, dword [ebp - 0xc8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c3b4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc25
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 7
mov word [ebp - 0xc8], ax
cmp edx, 8
jb 0x41c415
mov ecx, dword [ebp - 0x34]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c40b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc25
push edx
push ecx
call fcn.00460334
add esp, 8
mov eax, dword [esi + 0x61c]
mov ecx, 2
cmp eax, ecx
cmovl eax, ecx
mov dword [esi + 0x61c], eax
push dword [esi + 0x2e8]
push 0
push dword [0x4b1e64]
push 0xffff
call dword [sym.imp.USER32.dll_PostMessageW]
mov esi, 2
jmp 0x41dbd0
push 4
lea eax, [esi + 0x660]
push eax
push 6
push ecx
call dword [sym.imp.WININET.dll_InternetSetOptionW]
test eax, eax
jne 0x41c540
lea eax, [ebp - 0x84]
push eax
call fcn.00425df0
push 0x4c
push str.Warning___Cant_set_internet_receive_timeout___Download_InternetSetOption__
push 0
mov ecx, eax
mov byte [ebp - 4], 0xe
call fcn.0042cf10
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x64], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x54], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push ecx
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0xf
push eax
push 0x3e6
mov ecx, esi
call fcn.00410ac0
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x41c4ff
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c4f5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc2a
push edx
push ecx
call fcn.00460334
add esp, 8
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x70]
cmp edx, 8
jb 0x41c540
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c536
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc2a
push edx
push ecx
call fcn.00460334
add esp, 8
cmp dword [ebp - 0x130], 4
mov ecx, 0x84802000
push 0
mov eax, 0x84002000
mov dword [ebp - 0x100], 0x49d41c
cmove eax, ecx
mov dword [ebp - 0xfc], 0
push eax
lea eax, [ebp - 0x100]
push eax
push 0
push 0
push dword [ebp - 0x110]
push 0x49d90c
push dword [ebp - 0x18]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [ebp + 8], eax
test eax, eax
jne 0x41c726
push dword [esi + 0x2e8]
push eax
push dword [0x4b1e64]
push 0xffff
call dword [sym.imp.USER32.dll_PostMessageW]
xor eax, eax
mov dword [ebp - 0x34], 0
push eax
push 0x49b078
lea ecx, [ebp - 0x34]
mov dword [ebp + 0x3c], 2
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 7
mov word [ebp - 0x34], ax
call fcn.00408820
lea eax, [ebp + 0x3c]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00425df0
sub esp, 0x18
mov byte [ebp - 4], 0x11
mov esi, esp
mov dword [ebp + 0x5c], esp
mov ecx, eax
mov dword [ebp - 0x10], esi
push 0x1b
push str.Download_HttpOpenRequest__
push 0
call fcn.0042cf10
mov dword [esi], 0
xor ecx, ecx
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
sub esp, 0x18
mov byte [ebp - 4], 0x12
mov ecx, esp
mov eax, 0x7ffffffe
mov dword [ebp - 0x10], ecx
mov edx, dword [edi + 0x10]
sub eax, edx
cmp eax, 0x1f
jb 0x41dc2f
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x41c66d
mov eax, dword [edi]
push edx
push eax
push 0x1f
push str.Error_opening_server_request__
push edi
push dword [ebp + 0x3c]
call fcn.0040d2d0
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x34]
push eax
push 0
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp + 8]
push eax
call fcn.0041dc60
mov edx, dword [ebp - 0x38]
mov esi, eax
cmp edx, 8
jb 0x41c6d5
mov ecx, dword [ebp - 0x4c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c6cb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], ax
cmp edx, 8
jb 0x41dbd0
lea edx, [edx*2 + 2]
mov ecx, dword [ebp - 0x34]
mov eax, ecx
cmp edx, 0x1000
jb 0x41db55
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
jmp 0x41db55
lea eax, [ebp + 0x24]
mov ecx, esi
push eax
call fcn.004259c0
cmp dword [ebp + 0x38], 8
lea eax, [ebp + 0x24]
push 0
cmovae eax, dword [ebp + 0x24]
push 0x80
push 2
push 0
push 0
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x1c], eax
cmp eax, 0xffffffff
jne 0x41c8a9
push dword [esi + 0x2e8]
push 0
push dword [0x4b1e64]
push 0xffff
call dword [sym.imp.USER32.dll_PostMessageW]
xor eax, eax
mov dword [ebp - 0x34], 0
push eax
push 0x49b078
lea ecx, [ebp - 0x34]
mov dword [ebp + 0x3c], 2
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 7
mov word [ebp - 0x34], ax
call fcn.00408820
lea eax, [ebp + 0x3c]
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00425df0
sub esp, 0x18
mov byte [ebp - 4], 0x14
mov esi, esp
mov dword [ebp + 0x5c], esp
mov ecx, eax
mov dword [ebp - 0x10], esi
push 0x16
push str.Download_CreateFile__
push 0
call fcn.0042cf10
mov dword [esi], 0
xor ecx, ecx
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
sub esp, 0x18
mov byte [ebp - 4], 0x15
mov ecx, esp
mov eax, 0x7ffffffe
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp + 0x34]
sub eax, edx
cmp eax, 0x16
jb 0x41dc39
cmp dword [ebp + 0x38], 8
lea eax, [ebp + 0x24]
push edx
cmovae eax, dword [ebp + 0x24]
push eax
push 0x16
push str.Error_writing_to_file
lea eax, [ebp + 0x24]
push eax
push dword [ebp + 0x3c]
call fcn.0040d2d0
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x14
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp + 8]
push eax
mov ecx, dword [ebp - 0x14]
call fcn.0041dc60
mov edx, dword [ebp - 0x38]
mov esi, eax
cmp edx, 8
jb 0x41c6d5
mov ecx, dword [ebp - 0x4c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41c6cb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
jmp 0x41c6cb
push 0
push 0
push 0
push 0
push dword [ebp + 8]
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jne 0x41c9c4
push dword [esi + 0x2e8]
push eax
push dword [0x4b1e64]
push 0xffff
call dword [sym.imp.USER32.dll_PostMessageW]
xor eax, eax
mov dword [ebp - 0x34], 0
push eax
push 0x49b078
lea ecx, [ebp - 0x34]
mov dword [ebp + 0x3c], 2
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 7
mov word [ebp - 0x34], ax
call fcn.00408820
lea eax, [ebp + 0x3c]
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00425df0
sub esp, 0x18
mov byte [ebp - 4], 0x17
mov esi, esp
mov dword [ebp + 0x5c], esp
mov ecx, eax
mov dword [ebp - 0x10], esi
push 0x1b
push str.Download_HttpSendRequest__
push 0
call fcn.0042cf10
mov dword [esi], 0
xor ecx, ecx
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
sub esp, 0x18
mov byte [ebp - 4], 0x18
mov ecx, esp
mov eax, 0x7ffffffe
mov dword [ebp - 0x10], ecx
mov edx, dword [edi + 0x10]
sub eax, edx
cmp eax, 0x22
jb 0x41dc3e
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x41c99a
mov eax, dword [edi]
push edx
push eax
push 0x22
push str.Error_communicating_with_server__
push edi
push dword [ebp + 0x3c]
call fcn.0040d2d0
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x17
push eax
push dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp + 8]
push eax
jmp 0x41c862
push 0x190
lea eax, [ebp - 0x3e8]
push 0
push eax
call fcn.004620e0
add esp, 0xc
mov dword [ebp - 0xac], 0x190
lea eax, [ebp - 0x68]
mov dword [ebp - 0x68], 0
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x3e8]
push eax
push 0x13
push dword [ebp + 8]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
xor ecx, ecx
mov word [ebp - 0x25a], cx
test eax, eax
jne 0x41caf9
mov dword [ebp - 0x34], ecx
push eax
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x34]
push 0x49b078
mov dword [ebp + 0x3c], 2
mov dword [ebp - 0x20], 7
mov word [ebp - 0x34], ax
call fcn.00408820
lea eax, [ebp + 0x3c]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00425df0
sub esp, 0x18
mov byte [ebp - 4], 0x1a
mov esi, esp
mov dword [ebp + 0x5c], esp
mov ecx, eax
mov dword [ebp - 0x10], esi
push 0x19
push str.Download_HttpQueryInfo__
push 0
call fcn.0042cf10
mov dword [esi], 0
xor ecx, ecx
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
sub esp, 0x18
mov byte [ebp - 4], 0x1b
mov ecx, esp
mov eax, 0x7ffffffe
mov dword [ebp - 0x10], ecx
mov edx, dword [edi + 0x10]
sub eax, edx
cmp eax, 0x22
jb 0x41dc43
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x41cacf
mov eax, dword [edi]
push edx
push eax
push 0x22
push str.Error_communicating_with_server__
push edi
push dword [ebp + 0x3c]
call fcn.0040d2d0
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x1a
push eax
push dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp + 8]
push eax
jmp 0x41c862
lea eax, [ebp - 0x3e8]
push eax
call fcn.0046564e
mov dword [ebp - 0x10], eax
add esp, 4
add eax, 0xffffff38
cmp eax, 0x64
jb 0x41d111
push 0
mov dword [ebp - 0x34], 0
lea ecx, [ebp - 0x34]
push 0x49abeb
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0xf
mov byte [ebp - 0x34], 0
call fcn.00408980
push ecx
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x1c
push eax
push dword [ebp + 8]
call fcn.00425d50
push dword [esi + 0x2e8]
push 0
push dword [0x4b1e64]
push 0xffff
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [ebp - 0x10], 0x194
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp - 0x34]
push eax
jne 0x41cd37
lea eax, [ebp - 0x84]
mov dword [ebp + 0x3c], 3
push eax
call fcn.00445e20
add esp, 8
mov dword [ebp + 0x5c], eax
mov byte [ebp - 4], 0x1d
mov eax, 0x7ffffffe
mov ecx, dword [edi + 0x10]
sub eax, ecx
cmp eax, 0x15
jb 0x41dc48
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x41cbba
mov eax, dword [edi]
push ecx
push eax
push 0x15
push str.Download___HTTP404__
push edi
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x4c]
call fcn.0040d2d0
push 9
push str.___Reply:
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x1e
call fcn.0040ac30
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x64], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x54], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
sub esp, 0x18
mov byte [ebp - 4], 0x1f
mov ecx, esp
mov dword [ebp - 0x10], esp
lea eax, [ebp - 0x64]
mov dword [ebp - 0x14], ecx
push dword [ebp + 0x5c]
push eax
push dword [ebp + 0x3c]
call fcn.0040f6f0
sub esp, 0x18
mov byte [ebp - 4], 0x20
mov ecx, esp
push 0x28
push str.Error___File_was_not_found_on_the_server
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.00408820
lea eax, [ebp + 0x24]
mov byte [ebp - 4], 0x1f
push eax
push dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
lea eax, [ebp + 8]
push eax
call fcn.0041dc60
mov edx, dword [ebp - 0x50]
mov esi, eax
cmp edx, 8
jb 0x41cca3
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41cc99
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0x38]
cmp edx, 8
jb 0x41ccdd
mov ecx, dword [ebp - 0x4c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41ccd3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0x70]
xor eax, eax
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], ax
cmp edx, 8
jb 0x41d0ff
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41cd28
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
jmp 0x41d0ff
lea eax, [ebp - 0x64]
mov dword [ebp + 0x3c], 2
push eax
call fcn.00445e20
add esp, 8
mov dword [ebp + 0x5c], eax
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0xf8]
mov edx, dword [ebp - 0x10]
call fcn.00410050
push 0xf
push str.Download___HTTP
push 0
mov ecx, eax
mov byte [ebp - 4], 0x22
call fcn.0042cf10
mov dword [ebp - 0x4c], 0
xor ecx, ecx
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x4c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x3c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 3
push 0x49d620
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x23
call fcn.0040ac30
mov dword [ebp - 0xc8], 0
xor ecx, ecx
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xc8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xb8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0x24
mov eax, edi
cmp dword [edi + 0x14], 8
jb 0x41ce15
mov eax, dword [edi]
push dword [edi + 0x10]
lea ecx, [ebp - 0xc8]
push eax
call fcn.0040ac30
mov dword [ebp - 0xa8], 0
xor ecx, ecx
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xa8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x98], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push 0xa
push str.____Reply:
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x25
call fcn.0040ac30
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x84], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x74], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
sub esp, 0x18
mov byte [ebp - 4], 0x26
mov ecx, esp
mov dword [ebp - 0x10], esp
lea eax, [ebp - 0x84]
mov dword [ebp - 0x14], ecx
push dword [ebp + 0x5c]
push eax
push dword [ebp + 0x3c]
call fcn.0040f6f0
sub esp, 0x18
mov byte [ebp - 4], 0x27
mov ecx, esp
push 0x1f
push str.Error_communicating_with_server
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.00408820
lea eax, [ebp + 0x24]
mov byte [ebp - 4], 0x26
push eax
push dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
lea eax, [ebp + 8]
push eax
call fcn.0041dc60
mov edx, dword [ebp - 0x70]
mov esi, eax
cmp edx, 8
jb 0x41cf4c
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41cf42
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0x94]
cmp edx, 8
jb 0x41cf8c
mov ecx, dword [ebp - 0xa8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41cf82
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0xb4]
xor eax, eax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 7
mov word [ebp - 0xa8], ax
cmp edx, 8
jb 0x41cfe9
mov ecx, dword [ebp - 0xc8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41cfdf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 7
mov word [ebp - 0xc8], ax
cmp edx, 8
jb 0x41d040
mov ecx, dword [ebp - 0x4c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d036
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0xe4]
xor eax, eax
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], ax
cmp edx, 8
jb 0x41d094
mov ecx, dword [ebp - 0xf8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d08a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0x50]
xor eax, eax
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 7
mov word [ebp - 0xf8], ax
cmp edx, 8
jb 0x41d0eb
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d0e1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
xor eax, eax
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 7
mov word [ebp - 0x64], ax
mov edx, dword [ebp - 0x20]
cmp edx, 0x10
jb 0x41dbd0
inc edx
jmp 0x41c6fc
lea eax, [ebp - 0x68]
mov dword [ebp - 0xac], 0x190
push eax
lea eax, [ebp - 0xac]
mov dword [ebp - 0x68], 0
push eax
lea eax, [ebp - 0x3e8]
push eax
push 5
push dword [ebp + 8]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
lea eax, [ebp - 0x3e8]
push eax
call fcn.0046564e
mov esi, eax
add esp, 4
cmp esi, 1
jge 0x41d27c
mov esi, dword [ebp + 0x3c]
cmp dword [ebp + 0x5c], 0
jl 0x41d746
jg 0x41d172
cmp dword [ebp + 0x58], 0
jbe 0x41d746
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
cmovae eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
shr eax, 4
not al
test al, 1
je 0x41d746
lea eax, [ebp - 0x68]
mov dword [ebp - 0x68], 0
push eax
lea eax, [ebp + 0x3c]
mov dword [ebp + 0x3c], 0x10
push eax
lea eax, [ebp - 0xa0]
push eax
push 0x4000000b
push dword [ebp + 8]
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
test eax, eax
je 0x41d65e
movzx eax, word [ebp - 0x94]
mov dword [ebp - 0x90], eax
movzx eax, word [ebp - 0x96]
mov dword [ebp - 0x8c], eax
movzx eax, word [ebp - 0x98]
mov dword [ebp - 0x88], eax
movzx eax, word [ebp - 0x9a]
mov dword [ebp - 0x84], eax
movzx eax, word [ebp - 0x9e]
dec eax
mov dword [ebp - 0x70], 0xffffffff
mov dword [ebp - 0x80], eax
movzx eax, word [ebp - 0xa0]
sub eax, 0x76c
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x90]
push eax
call fcn.0046872a
add esp, 4
cmp edx, dword [ebp + 0x5c]
jl 0x41d746
jg 0x41d23c
cmp eax, dword [ebp + 0x58]
jbe 0x41d746
push dword [ebp + 8]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push dword [ebp - 0x18]
call esi
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x41d25a
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp + 0x34], 0
je 0x41d272
cmp dword [ebp + 0x38], 8
lea eax, [ebp + 0x24]
cmovae eax, dword [ebp + 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov esi, 4
jmp 0x41dbd0
mov eax, dword [ebp + 0x3c]
cmp eax, esi
je 0x41d15c
test eax, eax
jle 0x41d15c
mov eax, dword [ebp - 0x14]
cmp byte [eax + 0x664], 0
je 0x41d37f
push 1
lea ecx, [ebp - 0x258]
call fcn.00427210
push esi
mov edx, str.Download_Warning:_Server_says_file_is
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x248]
call fcn.0042b1f0
mov ecx, eax
call fcn.00427550
push dword [ebp + 0x3c]
mov edx, str._but_it_should_be
lea ecx, [ebp - 0x248]
call fcn.0042b1f0
mov ecx, eax
call fcn.00427550
mov edx, 0x49dc18
lea ecx, [ebp - 0x248]
call fcn.0042b1f0
cmp dword [edi + 0x14], 8
mov ecx, edi
jb 0x41d2fc
mov ecx, dword [edi]
push dword [edi + 0x10]
push ecx
push eax
call fcn.0042d4d0
add esp, 0xc
lea eax, [ebp - 0x84]
lea ecx, [ebp - 0x258]
push eax
call fcn.00427140
mov ecx, dword [ebp - 0x14]
push 0
push eax
push 0xd2
mov byte [ebp - 4], 0x29
call fcn.00410ac0
mov byte [ebp - 4], 0x28
mov edx, dword [ebp - 0x70]
cmp edx, 8
jb 0x41d370
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d366
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
lea ecx, [ebp - 0x258]
mov byte [ebp - 4], 3
call fcn.00412f30
mov edx, dword [ebp + 0x3c]
lea eax, [ebp + 0x5c]
push eax
lea ecx, [ebp - 0xc8]
mov dword [ebp + 0x5c], 2
call fcn.00410050
mov dword [ebp + 0x3c], eax
mov edx, esi
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x64]
call fcn.00410050
mov esi, eax
mov byte [ebp - 4], 0x2b
mov eax, 0x7ffffffe
mov ecx, dword [edi + 0x10]
sub eax, ecx
cmp eax, 0xb
jb 0x41dc4d
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x41d3cc
mov eax, dword [edi]
push ecx
push eax
push 0xb
push str.Download__
push edi
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x4c]
call fcn.0040d2d0
push 0x17
push str.___server_says_file_is
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x2c
call fcn.0040ac30
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xf8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xe8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
push esi
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x2d
push eax
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x34]
call fcn.0040f6f0
push 0xb
push str._should_be
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x2e
call fcn.0040ac30
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x84], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x74], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
sub esp, 0x18
mov byte [ebp - 4], 0x2f
mov ecx, esp
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x6c], ecx
lea eax, [ebp - 0x84]
push dword [ebp + 0x3c]
push eax
push dword [ebp + 0x3c]
call fcn.0040f6f0
sub esp, 0x18
mov byte [ebp - 4], 0x30
mov ecx, esp
push 0x1b
push str.Error___Incorrect_file_size
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.00408820
mov ecx, dword [ebp - 0x14]
lea eax, [ebp + 0x24]
push eax
push dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x2f
push eax
lea eax, [ebp + 8]
push eax
call fcn.0041dc60
mov edx, dword [ebp - 0x70]
mov esi, eax
cmp edx, 8
jb 0x41d513
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d509
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0x20]
cmp edx, 8
jb 0x41d54d
mov ecx, dword [ebp - 0x34]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d543
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0xe4]
xor eax, eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 7
mov word [ebp - 0x34], ax
cmp edx, 8
jb 0x41d5a1
mov ecx, dword [ebp - 0xf8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d597
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0x38]
cmp edx, 8
jb 0x41d5db
mov ecx, dword [ebp - 0x4c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d5d1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0x50]
xor eax, eax
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], ax
cmp edx, 8
jb 0x41d629
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d61f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
mov edx, dword [ebp - 0xb4]
xor eax, eax
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 7
mov word [ebp - 0x64], ax
cmp edx, 8
jb 0x41dbd0
mov ecx, dword [ebp - 0xc8]
lea edx, [edx*2 + 2]
jmp 0x41c6ff
push 0x6a
xor eax, eax
mov dword [ebp - 0x34], 0
push str.Checking_file_is_within_project_publish_date._Server_did_not_return_a_modified_date_so_downloading_anyway.
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 7
mov word [ebp - 0x34], ax
call fcn.00408820
lea eax, [ebp + 0xc]
mov byte [ebp - 4], 0x31
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00443f80
add esp, 8
mov ecx, dword [ebp - 0x14]
push 1
push 0x3e7
push eax
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x32
push eax
push 0xffffffffffffffff
call fcn.00414c00
mov byte [ebp - 4], 0x31
mov edx, dword [ebp - 0x50]
cmp edx, 8
jb 0x41d6f4
mov ecx, dword [ebp - 0x64]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d6ea
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
xor eax, eax
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 7
mov word [ebp - 0x64], ax
cmp edx, 8
jb 0x41d746
mov ecx, dword [ebp - 0x34]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41d73c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
lea ecx, [ebp - 0x1a8]
call fcn.004493e0
mov eax, 0x190
cmp esi, 1
jl 0x41d760
cmp esi, eax
cmovb eax, esi
lea ecx, [ebp + 0x5c]
mov dword [ebp + 0x5c], 0
push ecx
push eax
lea eax, [ebp - 0x3e8]
push eax
push dword [ebp + 8]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x41db61
mov eax, dword [ebp + 0x5c]
test eax, eax
je 0x41d82b
push 0
lea ecx, [ebp + 0x3c]
mov dword [ebp + 0x3c], 0
push ecx
push eax
lea eax, [ebp - 0x3e8]
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [ebp + 0x5c]
neg eax
sbb eax, eax
and eax, dword [ebp + 0x3c]
mov dword [ebp + 0x3c], eax
cmp eax, ecx
jne 0x41d7de
sub esi, ecx
cmp dword [ebp + 0x50], 0
je 0x41d751
push ecx
lea eax, [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x1a8]
call fcn.00449c30
jmp 0x41d751
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 2
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.00425df0
mov ecx, eax
sub esp, 0x18
mov byte [ebp - 4], 0x3d
mov eax, esp
mov dword [ebp - 0x6c], esp
push ecx
push str.Download_WriteFile__
push eax
call fcn.0042b180
sub esp, 0xc
mov byte [ebp - 4], 0x3e
mov ecx, esp
push str.Error_saving_file_to_disk
call fcn.004080d0
mov byte [ebp - 4], 0x3d
jmp 0x41dbac
test esi, esi
jg 0x41da81
cmp dword [ebp + 0x50], 0
je 0x41d913
lea ecx, [ebp - 0x1a8]
call fcn.00449410
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x1a8]
call fcn.00449500
push 0x10
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00449cf0
push eax
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x35
push eax
call fcn.00443d10
add esp, 0x14
mov byte [ebp - 4], 0x37
mov edx, dword [ebp - 0x50]
cmp edx, 0x10
jb 0x41d8b5
mov ecx, dword [ebp - 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41d8ab
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41dc34
push edx
push ecx
call fcn.00460334
add esp, 8
cmp dword [ebp + 0x54], 8
lea ecx, [ebp + 0x40]
mov edx, dword [ebp - 0x24]
lea esi, [ebp - 0x34]
cmovae ecx, dword [ebp + 0x40]
cmp dword [ebp - 0x20], 8
mov dword [ebp - 0x54], 0
cmovae esi, dword [ebp - 0x34]
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
cmp edx, dword [ebp + 0x50]
jne 0x41d905
test edx, edx
je 0x41d901
sub esi, ecx
nop dword [eax + eax]
mov ax, word [ecx + esi]
cmp ax, word [ecx]
jne 0x41d905
add ecx, 2
sub edx, 1
jne 0x41d8f0
xor al, al
jmp 0x41d907
mov al, 1
test al, al
jne 0x41d936
lea ecx, [ebp - 0x34]
call fcn.00408070
push dword [ebp + 8]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push dword [ebp - 0x18]
call esi
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, 1
jmp 0x41dbd0
mov ecx, dword [edi + 0x10]
lea eax, [ebp + 0x3c]
push eax
mov eax, 0x7ffffffe
mov dword [ebp + 0x3c], 2
sub eax, ecx
cmp eax, 0xb
jb 0x41dc52
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x41d95e
mov eax, dword [edi]
push ecx
push eax
push 0xb
push str.Download__
push edi
push dword [ebp + 0x3c]
lea ecx, [ebp - 0xf8]
call fcn.0040d2d0
push 0x1c
push str.___server_says_file_hash_is
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x38
call fcn.0040ac30
mov dword [ebp - 0x4c], 0
xor ecx, ecx
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x4c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x3c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0x39
lea eax, [ebp + 0x40]
cmp dword [ebp + 0x54], 8
lea ecx, [ebp - 0x4c]
push dword [ebp + 0x50]
cmovae eax, dword [ebp + 0x40]
push eax
call fcn.0040ac30
push eax
lea ecx, [ebp - 0x84]
call fcn.0040b050
push str._but_downloaded_file_hash_is
lea edx, [ebp - 0x84]
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0xc8]
call fcn.0042b0b0
sub esp, 0x14
mov byte [ebp - 4], 0x3b
lea edx, [ebp - 0x34]
mov dword [ebp - 0xb0], esp
mov ecx, esp
push edx
mov edx, eax
call fcn.0040cfd0
sub esp, 0x14
mov byte [ebp - 4], 0x3c
mov ecx, esp
push str.Error___Incorrect_hash
call fcn.004080d0
mov ecx, dword [ebp - 0x14]
lea eax, [ebp + 0x24]
push eax
push dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x3b
push eax
lea eax, [ebp + 8]
push eax
call fcn.0041dc60
lea ecx, [ebp - 0xc8]
mov esi, eax
call fcn.00408070
lea ecx, [ebp - 0x84]
call fcn.00408070
lea ecx, [ebp - 0x4c]
call fcn.00408070
lea ecx, [ebp - 0xf8]
call fcn.00408070
lea ecx, [ebp - 0x34]
jmp 0x41dbcb
lea eax, [ebp + 0x3c]
mov dword [ebp + 0x3c], 2
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.00425df0
sub esp, 0x18
mov byte [ebp - 4], 0x33
mov esi, esp
mov dword [ebp - 0xb0], esp
mov ecx, eax
mov dword [ebp - 0x6c], esi
push 0xb
push str.Download__
push 0
call fcn.0042cf10
mov dword [esi], 0
xor ecx, ecx
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
sub esp, 0x18
mov byte [ebp - 4], 0x34
mov ecx, esp
push 0x17
push str.Error___Incomplete_file
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
call fcn.00408820
mov ecx, dword [ebp - 0x14]
lea eax, [ebp + 0x24]
push eax
push dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x33
push eax
lea eax, [ebp + 8]
push eax
call fcn.0041dc60
mov edx, dword [ebp - 0x70]
mov esi, eax
cmp edx, 8
jb 0x41dbd0
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
jmp 0x41c6ff
push edx
push ecx
call fcn.00460334
add esp, 8
jmp 0x41dbd0
lea eax, [ebp + 0x3c]
mov dword [ebp + 0x3c], 2
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.00425df0
mov ecx, eax
sub esp, 0x18
mov byte [ebp - 4], 0x3f
mov eax, esp
mov dword [ebp - 0xb0], esp
push ecx
push str.Download_InternetReadFile__
push eax
call fcn.0042b180
sub esp, 0xc
mov byte [ebp - 4], 0x40
mov ecx, esp
push str.Error_downloading_file_to_disk
call fcn.004080d0
mov byte [ebp - 4], 0x3f
mov ecx, dword [ebp - 0x14]
lea eax, [ebp + 0x24]
push eax
push dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp + 8]
push eax
call fcn.0041dc60
mov esi, eax
lea ecx, [ebp - 0x84]
call fcn.00408070
lea ecx, [ebp - 0xe0]
call fcn.00408070
lea ecx, [ebp + 0xc]
call fcn.00408070
lea ecx, [ebp + 0x24]
call fcn.00408070
lea ecx, [ebp + 0x40]
call fcn.00408070
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 0x58
call fcn.00465850
call fcn.00404880
call fcn.00465850
call fcn.00404880
call fcn.00465850
call fcn.00404880
call fcn.00465850
call fcn.00465850
call fcn.00404880
call fcn.00465850
call fcn.00404880
call fcn.00404880
call fcn.00404880
call fcn.00404880
call fcn.00404880
call fcn.00404880
int3