Function at 0x48dadd
Capabilities:
Create thread

Disassembly:
push 0xffffffffffffffff
push 0x534229
mov eax, dword fs:[0]
push eax
sub esp, 0x848
mov eax, dword [0x58e700]
xor eax, esp
mov dword [esp + 0x840], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x58e700]
xor eax, esp
push eax
lea eax, [esp + 0x85c]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [esp + 0x874]
mov esi, dword [esp + 0x86c]
mov ebp, dword [esp + 0x870]
mov dword [esp + 0x18], eax
xor eax, eax
push eax
push eax
push eax
push 0x11
push dword [edi + 0xa0]
mov dword [esp + 0x28], eax
mov ebx, eax
push 0xffffffffffffffff
call fcn.00490c22
cmp dword [edi + 8], ebx
je 0x48df4e
cmp dword [edi + 8], 0xffffffff
je 0x48df4e
test ebp, ebp
je 0x48df0b
mov ecx, ebp
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [esp + 0x14]
jne 0x48db6d
sub ecx, edx
sar ecx, 1
cmp ecx, 1
jb 0x48df0b
cmp dword [esp + 0x878], ebx
jg 0x48dbdb
cmp dword [0x59535c], ebx
je 0x48dbbb
push dword [esp + 0x878]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._ERROR___d___pid__d__error.
push 1
push dword [0x59535c]
call fcn.0047fca4
add esp, 0x14
mov eax, dword [edi + 8]
test eax, eax
je 0x48dbd3
cmp eax, 0xffffffff
je 0x48dbd3
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov dword [edi + 8], eax
push 0x12
pop ebx
jmp 0x48df79
test esi, esi
je 0x48dee0
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [esp + 0x14]
jne 0x48dbe8
sub ecx, edx
sar ecx, 1
je 0x48dee0
push ebp
lea ecx, [edi + 0x3c]
call fcn.00450b7d
mov ecx, dword [esp + 0x18]
mov eax, 0x56f7ec
test ecx, ecx
cmovne eax, ecx
lea ecx, [edi + 0x40]
push eax
call fcn.00450b7d
mov al, byte [esp + 0x884]
mov byte [edi + 0x30], al
call fcn.004506c4
push eax
lea ecx, [esp + 0x18]
call fcn.004504da
xor ebp, ebp
mov dword [esp + 0x864], ebp
call fcn.004506c4
push eax
lea ecx, [esp + 0x20]
call fcn.004504da
xor eax, eax
mov byte [esp + 0x864], 1
push 0x7fe
mov word [esp + 0x58], ax
lea eax, [esp + 0x5a]
push ebp
push eax
mov dword [esp + 0x24], ebp
call fcn.00506ab0
add esp, 0xc
lea edx, [esp + 0x54]
mov ecx, esi
call fcn.0048be0f
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x20]
push eax
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x5c]
call fcn.0048225c
pop ecx
pop ecx
test al, al
jne 0x48dd00
cmp dword [0x59535c], ebp
je 0x48dcc2
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._ERROR___d___parse_url_diy_failed_
push 1
push dword [0x59535c]
call fcn.0047fca4
add esp, 0x10
mov eax, dword [edi + 8]
test eax, eax
je 0x48dcd8
cmp eax, 0xffffffff
je 0x48dcd8
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 8], ebp
push 0x14
mov ecx, dword [esp + 0x20]
pop ebx
lea ecx, [ecx - 0x10]
call fcn.00450c64
or dword [esp + 0x864], 0xffffffff
mov ecx, dword [esp + 0x14]
lea ecx, [ecx - 0x10]
call fcn.00450c64
jmp 0x48df79
lea ecx, [esp + 0x54]
call fcn.00450b61
push eax
lea eax, [esp + 0x58]
push eax
lea ecx, [edi + 0x48]
call fcn.00450ad5
cmp dword [0x59535c], 0
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
je 0x48dd92
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x28]
call fcn.00450d66
lea edx, [esp + 0x24]
mov byte [esp + 0x864], 2
lea ecx, [esp + 0x3c]
call fcn.00480835
mov byte [esp + 0x864], 3
cmp dword [eax + 0x14], 0x10
jb 0x48dd59
mov eax, dword [eax]
push eax
call esi
push eax
push str._INFO___d___download_url__s_.
push 3
push dword [0x59535c]
call fcn.0047fca4
add esp, 0x14
lea ecx, [esp + 0x3c]
push ebp
push 1
call fcn.0044ea00
push ebp
push 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0x86c], 1
call fcn.004510a8
xor ecx, ecx
inc ecx
call fcn.0048dfcb
mov ecx, eax
mov dword [edi + 0x54], ecx
test ecx, ecx
jne 0x48de16
cmp dword [0x59535c], eax
je 0x48ddc3
call esi
push eax
push str._ERROR___d___create_download_pub_info_failed_
push 1
push dword [0x59535c]
call fcn.0047fca4
add esp, 0x10
mov eax, dword [edi + 8]
test eax, eax
je 0x48ddd9
cmp eax, 0xffffffff
je 0x48ddd9
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 8], ebp
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 5
push eax
mov ecx, edi
call fcn.0048fa06
mov ecx, dword [esp + 0x1c]
lea ecx, [ecx - 0x10]
call fcn.00450c64
or dword [esp + 0x864], 0xffffffff
mov ecx, dword [esp + 0x14]
lea ecx, [ecx - 0x10]
call fcn.00450c64
mov ebx, dword [esp + 0x18]
jmp 0x48df75
mov eax, dword [edi + 0xa0]
push ebp
mov dword [ecx + 0x10], eax
mov ecx, dword [edi + 0x54]
push ebp
call fcn.00492d8e
mov eax, dword [edi + 0x54]
mov dword [eax + 0xc], edi
lea eax, [esp + 0x54]
mov ecx, dword [edi + 0x54]
push eax
call fcn.0049315f
cmp dword [0x59535c], 0
je 0x48de5d
call esi
push eax
push str._INFO___d___create_download_main_thread.
push 3
push dword [0x59535c]
call fcn.0047fca4
add esp, 0x10
lea eax, [esp + 0x20]
mov dword [esp + 0x20], ebp
push eax
push ebp
push edi
push 0x48d7d9
push 0xa00000
push ebp
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [edi + 0x34], eax
test eax, eax
je 0x48dea2
cmp eax, 0xffffffff
je 0x48dea2
mov ecx, dword [esp + 0x1c]
lea ecx, [ecx - 0x10]
call fcn.00450c64
mov ecx, dword [esp + 0x14]
lea ecx, [ecx - 0x10]
call fcn.00450c64
jmp 0x48df9a
cmp dword [0x59535c], 0
je 0x48dec3
call esi
push eax
push str._ERROR___d___create_download_main_thread_failed_
push 1
push dword [0x59535c]
call fcn.0047fca4
add esp, 0x10
mov eax, dword [edi + 8]
test eax, eax
je 0x48ded9
cmp eax, 0xffffffff
je 0x48ded9
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 8], ebp
push 0x15
jmp 0x48dcda
cmp dword [0x59535c], ebx
je 0x48df04
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._ERROR___d___download_url_is_empty.
push 1
push dword [0x59535c]
call fcn.0047fca4
add esp, 0x10
push 0x13
jmp 0x48dbd5
cmp dword [0x59535c], ebx
je 0x48df2f
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._ERROR___d___save_file_path_is_empty.
push 1
push dword [0x59535c]
call fcn.0047fca4
add esp, 0x10
mov eax, dword [edi + 8]
test eax, eax
je 0x48df47
cmp eax, 0xffffffff
je 0x48df47
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov dword [edi + 8], eax
push 0x11
jmp 0x48dbd5
cmp dword [0x59535c], ebx
je 0x48df72
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push str._ERROR___d___end_event_is_invalid.
push 1
push dword [0x59535c]
call fcn.0047fca4
add esp, 0x10
push 0x10
pop ebx
test ebx, ebx
je 0x48df9a
mov ecx, edi
call fcn.0049074a
test al, al
je 0x48df9a
xor eax, eax
mov ecx, edi
push eax
push eax
push ebx
push 2
push dword [edi + 0xa0]
push 0xffffffffffffffff
call fcn.00490c22
xor eax, eax
test ebx, ebx
sete al
mov ecx, dword [esp + 0x85c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x840]
xor ecx, esp
call fcn.00501f3e
add esp, 0x854
ret 0x1c