Function at 0x415b30
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ea12f
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x17ec
call fcn.004ad960
mov eax, dword [0x52d4d0]
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 dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x151c], edi
cmp dword [edi + 4], ebx
jne 0x415be2
cmp eax, ebx
jne 0x415bdf
push 0x33f
push str..WinDownloadController.cpp
push str.Window_handle_can_not_be_NULL_
lea ecx, [ebp - 0x1f0]
call fcn.004e3550
mov esi, vtable.DownloadControllerException.0
mov dword [ebp - 0x1f0], esi
mov byte [ebp - 0x18c], bl
lea eax, [ebp - 0x1f0]
push eax
lea ecx, [ebp - 0x158c]
mov dword [ebp - 4], ebx
call fcn.00413be0
mov cl, byte [ebp - 0x18c]
push 0x51b89c
lea edx, [ebp - 0x158c]
push edx
mov dword [ebp - 0x158c], esi
mov byte [ebp - 0x1528], cl
call fcn.004a99f9
mov dword [edi + 4], eax
cmp dword [edi + 0x14c], ebx
je 0x416421
cmp dword [edi + 0x150], ebx
jle 0x416421
lea ecx, [ebp - 0x1508]
call fcn.004d4000
sub esp, 0x1c
mov dword [ebp - 4], 2
lea eax, [edi + 0x16c]
mov ecx, esp
mov dword [ebp - 0x1510], esp
push eax
call fcn.00401230
lea ecx, [ebp - 0x1508]
call fcn.004d55c0
sub esp, 0x1c
lea edx, [edi + 0x280]
mov ecx, esp
mov dword [ebp - 0x1510], esp
push edx
call fcn.00401230
movzx eax, byte [edi + 0x27e]
push eax
lea esi, [ebp - 0x1508]
call fcn.00412ca0
push 0x5116e8
lea ecx, [ebp - 0x228]
call fcn.004011f0
push 0x5116e8
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 3
call fcn.004011f0
push 0x5116e8
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 4
call fcn.004011f0
push 0x5116e8
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 5
call fcn.004011f0
lea ecx, [ebp - 0x16c]
push ecx
lea edx, [ebp - 0x228]
push edx
push edi
lea edx, [ebp - 0x188]
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 6
call fcn.00417730
cmp al, 1
jne 0x415d3d
sub esp, 0x1c
lea eax, [ebp - 0x16c]
mov ecx, esp
mov dword [ebp - 0x1510], esp
push eax
call fcn.00401230
sub esp, 0x1c
mov byte [ebp - 4], 7
lea edx, [ebp - 0x188]
mov ecx, esp
mov dword [ebp - 0x1520], esp
push edx
call fcn.00401230
sub esp, 0x1c
mov byte [ebp - 4], 8
lea eax, [ebp - 0x20c]
mov ecx, esp
mov dword [ebp - 0x1518], esp
push eax
call fcn.00401230
sub esp, 0x1c
mov byte [ebp - 4], 9
lea edx, [ebp - 0x228]
mov ecx, esp
mov dword [ebp - 0x1524], esp
push edx
call fcn.00401230
mov byte [ebp - 4], 6
call fcn.00412bf0
lea eax, [edi + 0xf4]
push eax
lea ecx, [ebp - 0x1508]
mov byte [ebp - 4], 0xa
call fcn.004d53e0
mov esi, eax
cmp esi, 4
jne 0x41609e
cmp byte [edi + 0x29c], 1
jne 0x41609e
push 0x5116e8
lea ecx, [ebp - 0x150]
call fcn.004011f0
mov byte [ebp - 4], 0xb
jmp 0x415d83
xor ebx, ebx
lea ecx, [ebp - 0x150]
push ecx
mov ecx, edi
call fcn.00417d70
mov byte [ebp - 0x1511], al
cmp al, 1
jne 0x416093
push 0x511ac4
call fcn.004010f0
add esp, 4
push eax
push ebx
push 0x511ac4
lea ebx, [ebp - 0x150]
call fcn.00418c10
push eax
push 0
lea edx, [ebp - 0x134]
push edx
mov ecx, ebx
call fcn.00418890
push eax
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0xc
call fcn.00403920
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0xb
call fcn.00401270
mov esi, dword [ebp - 0x13c]
push 0x511ac4
call fcn.004010f0
add esp, 4
push eax
push 0
push 0x511ac4
call fcn.00418c10
push esi
inc eax
push eax
lea eax, [ebp - 0x134]
push eax
mov ecx, ebx
call fcn.00418890
push eax
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0xd
call fcn.00403920
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0xb
call fcn.00401270
sub esp, 0x1c
lea edx, [ebp - 0x16c]
mov ecx, esp
mov dword [ebp - 0x1524], esp
push edx
call fcn.00401230
sub esp, 0x1c
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x188]
mov ecx, esp
mov dword [ebp - 0x1518], esp
push eax
call fcn.00401230
sub esp, 0x1c
mov byte [ebp - 4], 0xf
mov ecx, esp
mov dword [ebp - 0x1520], esp
push 0x5116e8
call fcn.004011f0
sub esp, 0x1c
mov byte [ebp - 4], 0x10
mov ecx, esp
mov dword [ebp - 0x1510], esp
push 0x5116e8
call fcn.004011f0
lea esi, [ebp - 0x1508]
mov byte [ebp - 4], 0xb
call fcn.00412bf0
lea ecx, [edi + 0xf4]
push ecx
mov ecx, esi
call fcn.004d53e0
mov esi, eax
cmp esi, 5
jne 0x416088
mov byte [ebp - 0x1509], 0
jmp 0x415ee0
push 0x512310
lea ecx, [ebp - 0x134]
call fcn.004012b0
push 0x512310
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 0x11
call fcn.004012b0
lea edx, [ebp - 0x244]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x12
call fcn.00417fa0
cmp al, 1
jne 0x41604c
call fcn.00402b10
lea ecx, [ebp - 0x244]
mov edi, eax
call fcn.004032f0
mov ebx, eax
xor esi, esi
cmp ebx, esi
jne 0x415f47
mov dword [ebp - 0x1510], esi
jmp 0x415f7c
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x415f5e
mov dword [ebp - 0x1510], esi
jmp 0x415f7c
lea esi, [eax + eax]
mov eax, esi
call fcn.004aead0
mov dword [ebp - 0x10], esp
mov eax, esp
push edi
push esi
push ebx
push eax
call fcn.00418f70
mov dword [ebp - 0x1510], eax
lea ecx, [ebp - 0x134]
call fcn.004032f0
mov ebx, eax
test ebx, ebx
jne 0x415f91
xor esi, esi
jmp 0x415fbe
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x415fa4
xor esi, esi
jmp 0x415fbe
lea esi, [eax + eax]
mov eax, esi
call fcn.004aead0
mov dword [ebp - 0x10], esp
mov eax, esp
push edi
push esi
push ebx
push eax
call fcn.00418f70
mov esi, eax
sub esp, 0x1c
lea edx, [ebp - 0x16c]
mov ecx, esp
mov dword [ebp - 0x1524], esp
push edx
call fcn.00401230
sub esp, 0x1c
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x188]
mov ecx, esp
mov dword [ebp - 0x1518], esp
push eax
call fcn.00401230
sub esp, 0x1c
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x1510]
mov ecx, esp
mov dword [ebp - 0x1520], esp
push edx
call fcn.004011f0
sub esp, 0x1c
mov byte [ebp - 4], 0x15
mov ecx, esp
mov dword [ebp - 0x1510], esp
push esi
call fcn.004011f0
lea esi, [ebp - 0x1508]
mov byte [ebp - 4], 0x12
call fcn.00412bf0
mov eax, dword [ebp - 0x151c]
add eax, 0xf4
push eax
mov ecx, esi
call fcn.004d53e0
mov edi, dword [ebp - 0x151c]
mov esi, eax
jmp 0x416053
mov byte [ebp - 0x1509], 1
lea ecx, [ebp - 0x244]
call fcn.004012f0
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0xb
call fcn.004012f0
cmp byte [ebp - 0x1509], 0
jne 0x41607f
cmp esi, 5
je 0x415ee0
cmp byte [ebp - 0x1511], 1
jne 0x416091
cmp esi, 4
je 0x415d81
xor ebx, ebx
lea ecx, [ebp - 0x150]
call fcn.00401270
mov dword [ebp - 4], 6
cmp dword [edi + 0xf4], ebx
jne 0x41611d
cmp dword [ebp - 0x1440], 0x194
jne 0x41611d
push 0x37c
push str..WinDownloadController.cpp
push str.File_not_found_nHTTP_Error_404_returned_when_connecting_to_URL
lea ecx, [ebp - 0x1f0]
call fcn.004e3550
mov esi, vtable.DownloadControllerException.0
mov dword [ebp - 0x1f0], esi
mov byte [ebp - 0x18c], bl
lea ecx, [ebp - 0x1f0]
push ecx
lea ecx, [ebp - 0x1794]
mov byte [ebp - 4], 0x19
call fcn.00413be0
mov dl, byte [ebp - 0x18c]
push 0x51b89c
lea eax, [ebp - 0x1794]
push eax
mov dword [ebp - 0x1794], esi
mov byte [ebp - 0x1730], dl
call fcn.004a99f9
cmp esi, ebx
je 0x416185
push 0x381
push str..WinDownloadController.cpp
push str.DownloadController::Start_could_not_connect_to_URL.
lea ecx, [ebp - 0x1f0]
call fcn.004e3550
mov esi, vtable.DownloadControllerException.0
mov dword [ebp - 0x1f0], esi
mov byte [ebp - 0x18c], bl
lea ecx, [ebp - 0x1f0]
push ecx
lea ecx, [ebp - 0x172c]
mov byte [ebp - 4], 0x1a
call fcn.00413be0
mov dl, byte [ebp - 0x18c]
push 0x51b89c
lea eax, [ebp - 0x172c]
push eax
mov dword [ebp - 0x172c], esi
mov byte [ebp - 0x16c8], dl
call fcn.004a99f9
lea ecx, [ebp - 0x1508]
call fcn.004d51e0
mov byte [edi + 0x27c], al
cmp byte [edi + 0x5c], bl
jne 0x416286
mov ecx, dword [edi + 0x128]
push ecx
lea esi, [edi + 0x44]
mov ecx, 0x416920
mov eax, edi
call fcn.00416860
cmp eax, ebx
je 0x416286
push str.Could_not_start_Read_thread__GetLastError___returned
lea ecx, [ebp - 0x134]
call fcn.004011f0
push 0x103
lea edx, [ebp - 0x117]
push ebx
mov byte [ebp - 4], 0x1b
push edx
mov byte [ebp - 0x118], bl
call fcn.004a7be0
add esp, 0xc
push 0xa
push 0x104
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.004a8ea6
add esp, 0x10
lea ecx, [ebp - 0x118]
push ecx
lea ecx, [ebp - 0x134]
call fcn.00408690
lea ecx, [ebp - 0x134]
call fcn.00401290
push 0x395
push str..WinDownloadController.cpp
push eax
lea ecx, [ebp - 0x1f0]
call fcn.004e3550
mov esi, vtable.DownloadControllerException.0
mov dword [ebp - 0x1f0], esi
mov byte [ebp - 0x18c], bl
lea edx, [ebp - 0x1f0]
push edx
lea ecx, [ebp - 0x165c]
mov byte [ebp - 4], 0x1c
call fcn.00413be0
mov al, byte [ebp - 0x18c]
push 0x51b89c
lea ecx, [ebp - 0x165c]
push ecx
mov dword [ebp - 0x165c], esi
mov byte [ebp - 0x15f8], al
call fcn.004a99f9
cmp byte [edi + 0x5d], bl
jne 0x416382
mov edx, dword [edi + 0x12c]
push edx
lea esi, [edi + 0x48]
mov ecx, 0x416e10
mov eax, edi
call fcn.00416860
cmp eax, ebx
je 0x416382
lea esi, [edi + 0x44]
mov ebx, edi
call fcn.004168b0
push str.Could_not_start_Read_thread__GetLastError___returned
lea ecx, [ebp - 0x134]
call fcn.004011f0
xor ebx, ebx
push 0x103
lea eax, [ebp - 0x117]
push ebx
mov byte [ebp - 4], 0x1d
push eax
mov byte [ebp - 0x118], bl
call fcn.004a7be0
add esp, 0xc
push 0xa
push 0x104
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.004a8ea6
add esp, 0x10
lea edx, [ebp - 0x118]
push edx
lea ecx, [ebp - 0x134]
call fcn.00408690
lea ecx, [ebp - 0x134]
call fcn.00401290
push 0x3a4
push str..WinDownloadController.cpp
push eax
lea ecx, [ebp - 0x2ac]
call fcn.004e3550
mov esi, vtable.DownloadControllerException.0
mov dword [ebp - 0x2ac], esi
mov byte [ebp - 0x248], bl
lea eax, [ebp - 0x2ac]
push eax
lea ecx, [ebp - 0x16c4]
mov byte [ebp - 4], 0x1e
call fcn.00413be0
mov cl, byte [ebp - 0x248]
push 0x51b89c
lea edx, [ebp - 0x16c4]
push edx
mov dword [ebp - 0x16c4], esi
mov byte [ebp - 0x1660], cl
call fcn.004a99f9
lea ecx, [ebp - 0x16c]
call fcn.00401270
lea ecx, [ebp - 0x188]
call fcn.00401270
lea ecx, [ebp - 0x20c]
call fcn.00401270
lea ecx, [ebp - 0x228]
call fcn.00401270
lea ecx, [ebp - 0x1508]
call fcn.004d3e80
lea esp, [ebp - 0x180c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004a58c9
mov esp, ebp
pop ebp
ret 4
push 0x347
push str..WinDownloadController.cpp
push str.Codec_must_be_initialized_first_
lea ecx, [ebp - 0x1f0]
call fcn.004e3550
mov esi, vtable.DownloadControllerException.0
mov dword [ebp - 0x1f0], esi
mov byte [ebp - 0x18c], bl
lea edx, [ebp - 0x1f0]
push edx
lea ecx, [ebp - 0x15f4]
mov dword [ebp - 4], 1
call fcn.00413be0
mov al, byte [ebp - 0x18c]
push 0x51b89c
lea ecx, [ebp - 0x15f4]
push ecx
mov dword [ebp - 0x15f4], esi
mov byte [ebp - 0x1590], al
call fcn.004a99f9
int3