Function at 0x415500
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d8caf
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x17ec
call fcn.0049f1f0
mov eax, dword [0x516b80]
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 0x4155b2
cmp eax, ebx
jne 0x4155af
push 0x33f
push str..WinDownloadController.cpp
push str.Window_handle_can_not_be_NULL_
lea ecx, [ebp - 0x1f0]
call fcn.004d2d20
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.004135b0
mov cl, byte [ebp - 0x18c]
push 0x5062cc
lea edx, [ebp - 0x158c]
push edx
mov dword [ebp - 0x158c], esi
mov byte [ebp - 0x1528], cl
call fcn.0049b289
mov dword [edi + 4], eax
cmp dword [edi + 0x14c], ebx
je 0x415df1
cmp dword [edi + 0x150], ebx
jle 0x415df1
lea ecx, [ebp - 0x1508]
call fcn.004c5340
sub esp, 0x1c
mov dword [ebp - 4], 2
lea eax, [edi + 0x16c]
mov ecx, esp
mov dword [ebp - 0x1510], esp
push eax
call fcn.00401250
lea ecx, [ebp - 0x1508]
call fcn.004c6900
sub esp, 0x1c
lea edx, [edi + 0x280]
mov ecx, esp
mov dword [ebp - 0x1510], esp
push edx
call fcn.00401250
movzx eax, byte [edi + 0x27e]
push eax
lea esi, [ebp - 0x1508]
call fcn.00412670
push 0x4fe730
lea ecx, [ebp - 0x228]
call fcn.00401210
push 0x4fe730
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 3
call fcn.00401210
push 0x4fe730
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 4
call fcn.00401210
push 0x4fe730
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 5
call fcn.00401210
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.00417100
cmp al, 1
jne 0x41570d
sub esp, 0x1c
lea eax, [ebp - 0x16c]
mov ecx, esp
mov dword [ebp - 0x1510], esp
push eax
call fcn.00401250
sub esp, 0x1c
mov byte [ebp - 4], 7
lea edx, [ebp - 0x188]
mov ecx, esp
mov dword [ebp - 0x1520], esp
push edx
call fcn.00401250
sub esp, 0x1c
mov byte [ebp - 4], 8
lea eax, [ebp - 0x20c]
mov ecx, esp
mov dword [ebp - 0x1518], esp
push eax
call fcn.00401250
sub esp, 0x1c
mov byte [ebp - 4], 9
lea edx, [ebp - 0x228]
mov ecx, esp
mov dword [ebp - 0x1524], esp
push edx
call fcn.00401250
mov byte [ebp - 4], 6
call fcn.004125c0
lea eax, [edi + 0xf4]
push eax
lea ecx, [ebp - 0x1508]
mov byte [ebp - 4], 0xa
call fcn.004c6720
mov esi, eax
cmp esi, 4
jne 0x415a6e
cmp byte [edi + 0x29c], 1
jne 0x415a6e
push 0x4fe730
lea ecx, [ebp - 0x150]
call fcn.00401210
mov byte [ebp - 4], 0xb
jmp 0x415753
xor ebx, ebx
lea ecx, [ebp - 0x150]
push ecx
mov ecx, edi
call fcn.00417740
mov byte [ebp - 0x1511], al
cmp al, 1
jne 0x415a63
push 0x4feb0c
call fcn.004010f0
add esp, 4
push eax
push ebx
push 0x4feb0c
lea ebx, [ebp - 0x150]
call fcn.004185e0
push eax
push 0
lea edx, [ebp - 0x134]
push edx
mov ecx, ebx
call fcn.00418260
push eax
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0xc
call fcn.004033e0
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0xb
call fcn.00401290
mov esi, dword [ebp - 0x13c]
push 0x4feb0c
call fcn.004010f0
add esp, 4
push eax
push 0
push 0x4feb0c
call fcn.004185e0
push esi
inc eax
push eax
lea eax, [ebp - 0x134]
push eax
mov ecx, ebx
call fcn.00418260
push eax
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0xd
call fcn.004033e0
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0xb
call fcn.00401290
sub esp, 0x1c
lea edx, [ebp - 0x16c]
mov ecx, esp
mov dword [ebp - 0x1524], esp
push edx
call fcn.00401250
sub esp, 0x1c
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x188]
mov ecx, esp
mov dword [ebp - 0x1518], esp
push eax
call fcn.00401250
sub esp, 0x1c
mov byte [ebp - 4], 0xf
mov ecx, esp
mov dword [ebp - 0x1520], esp
push 0x4fe730
call fcn.00401210
sub esp, 0x1c
mov byte [ebp - 4], 0x10
mov ecx, esp
mov dword [ebp - 0x1510], esp
push 0x4fe730
call fcn.00401210
lea esi, [ebp - 0x1508]
mov byte [ebp - 4], 0xb
call fcn.004125c0
lea ecx, [edi + 0xf4]
push ecx
mov ecx, esi
call fcn.004c6720
mov esi, eax
cmp esi, 5
jne 0x415a58
mov byte [ebp - 0x1509], 0
jmp 0x4158b0
push 0x4ff358
lea ecx, [ebp - 0x134]
call fcn.004012d0
push 0x4ff358
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 0x11
call fcn.004012d0
lea edx, [ebp - 0x244]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x12
call fcn.00417970
cmp al, 1
jne 0x415a1c
call fcn.00402b00
lea ecx, [ebp - 0x244]
mov edi, eax
call fcn.00408ea0
mov ebx, eax
xor esi, esi
cmp ebx, esi
jne 0x415917
mov dword [ebp - 0x1510], esi
jmp 0x41594c
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x41592e
mov dword [ebp - 0x1510], esi
jmp 0x41594c
lea esi, [eax + eax]
mov eax, esi
call fcn.004a0360
mov dword [ebp - 0x10], esp
mov eax, esp
push edi
push esi
push ebx
push eax
call fcn.00418940
mov dword [ebp - 0x1510], eax
lea ecx, [ebp - 0x134]
call fcn.00408ea0
mov ebx, eax
test ebx, ebx
jne 0x415961
xor esi, esi
jmp 0x41598e
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x415974
xor esi, esi
jmp 0x41598e
lea esi, [eax + eax]
mov eax, esi
call fcn.004a0360
mov dword [ebp - 0x10], esp
mov eax, esp
push edi
push esi
push ebx
push eax
call fcn.00418940
mov esi, eax
sub esp, 0x1c
lea edx, [ebp - 0x16c]
mov ecx, esp
mov dword [ebp - 0x1524], esp
push edx
call fcn.00401250
sub esp, 0x1c
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x188]
mov ecx, esp
mov dword [ebp - 0x1518], esp
push eax
call fcn.00401250
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.00401210
sub esp, 0x1c
mov byte [ebp - 4], 0x15
mov ecx, esp
mov dword [ebp - 0x1510], esp
push esi
call fcn.00401210
lea esi, [ebp - 0x1508]
mov byte [ebp - 4], 0x12
call fcn.004125c0
mov eax, dword [ebp - 0x151c]
add eax, 0xf4
push eax
mov ecx, esi
call fcn.004c6720
mov edi, dword [ebp - 0x151c]
mov esi, eax
jmp 0x415a23
mov byte [ebp - 0x1509], 1
lea ecx, [ebp - 0x244]
call fcn.00401310
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0xb
call fcn.00401310
cmp byte [ebp - 0x1509], 0
jne 0x415a4f
cmp esi, 5
je 0x4158b0
cmp byte [ebp - 0x1511], 1
jne 0x415a61
cmp esi, 4
je 0x415751
xor ebx, ebx
lea ecx, [ebp - 0x150]
call fcn.00401290
mov dword [ebp - 4], 6
cmp dword [edi + 0xf4], ebx
jne 0x415aed
cmp dword [ebp - 0x1440], 0x194
jne 0x415aed
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.004d2d20
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.004135b0
mov dl, byte [ebp - 0x18c]
push 0x5062cc
lea eax, [ebp - 0x1794]
push eax
mov dword [ebp - 0x1794], esi
mov byte [ebp - 0x1730], dl
call fcn.0049b289
cmp esi, ebx
je 0x415b55
push 0x381
push str..WinDownloadController.cpp
push str.DownloadController::Start_could_not_connect_to_URL.
lea ecx, [ebp - 0x1f0]
call fcn.004d2d20
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.004135b0
mov dl, byte [ebp - 0x18c]
push 0x5062cc
lea eax, [ebp - 0x172c]
push eax
mov dword [ebp - 0x172c], esi
mov byte [ebp - 0x16c8], dl
call fcn.0049b289
lea ecx, [ebp - 0x1508]
call fcn.004c6520
mov byte [edi + 0x27c], al
cmp byte [edi + 0x5c], bl
jne 0x415c56
mov ecx, dword [edi + 0x128]
push ecx
lea esi, [edi + 0x44]
mov ecx, 0x4162f0
mov eax, edi
call fcn.00416230
cmp eax, ebx
je 0x415c56
push str.Could_not_start_Read_thread__GetLastError___returned
lea ecx, [ebp - 0x134]
call fcn.00401210
push 0x103
lea edx, [ebp - 0x117]
push ebx
mov byte [ebp - 4], 0x1b
push edx
mov byte [ebp - 0x118], bl
call fcn.004991b0
add esp, 0xc
push 0xa
push 0x104
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0049a736
add esp, 0x10
lea ecx, [ebp - 0x118]
push ecx
lea ecx, [ebp - 0x134]
call fcn.00408100
lea ecx, [ebp - 0x134]
call fcn.004012b0
push 0x395
push str..WinDownloadController.cpp
push eax
lea ecx, [ebp - 0x1f0]
call fcn.004d2d20
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.004135b0
mov al, byte [ebp - 0x18c]
push 0x5062cc
lea ecx, [ebp - 0x165c]
push ecx
mov dword [ebp - 0x165c], esi
mov byte [ebp - 0x15f8], al
call fcn.0049b289
cmp byte [edi + 0x5d], bl
jne 0x415d52
mov edx, dword [edi + 0x12c]
push edx
lea esi, [edi + 0x48]
mov ecx, 0x4167e0
mov eax, edi
call fcn.00416230
cmp eax, ebx
je 0x415d52
lea esi, [edi + 0x44]
mov ebx, edi
call fcn.00416280
push str.Could_not_start_Read_thread__GetLastError___returned
lea ecx, [ebp - 0x134]
call fcn.00401210
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.004991b0
add esp, 0xc
push 0xa
push 0x104
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0049a736
add esp, 0x10
lea edx, [ebp - 0x118]
push edx
lea ecx, [ebp - 0x134]
call fcn.00408100
lea ecx, [ebp - 0x134]
call fcn.004012b0
push 0x3a4
push str..WinDownloadController.cpp
push eax
lea ecx, [ebp - 0x2ac]
call fcn.004d2d20
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.004135b0
mov cl, byte [ebp - 0x248]
push 0x5062cc
lea edx, [ebp - 0x16c4]
push edx
mov dword [ebp - 0x16c4], esi
mov byte [ebp - 0x1660], cl
call fcn.0049b289
lea ecx, [ebp - 0x16c]
call fcn.00401290
lea ecx, [ebp - 0x188]
call fcn.00401290
lea ecx, [ebp - 0x20c]
call fcn.00401290
lea ecx, [ebp - 0x228]
call fcn.00401290
lea ecx, [ebp - 0x1508]
call fcn.004c51c0
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.00497164
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.004d2d20
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.004135b0
mov al, byte [ebp - 0x18c]
push 0x5062cc
lea ecx, [ebp - 0x15f4]
push ecx
mov dword [ebp - 0x15f4], esi
mov byte [ebp - 0x1590], al
call fcn.0049b289
int3