Function at 0x10005250
Capabilities:
Create thread

Disassembly:
push 0xffffffffffffffff
push 0x10029af8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc48
mov eax, dword [0x10035a8c]
lea ecx, [esp + 4]
mov dword [esp + 0xc44], eax
call fcn.10001850
lea eax, [esp + 4]
push eax
mov ecx, 0x10036fac
mov dword [esp + 0xc54], 0
call fcn.10005d20
test eax, eax
je 0x100054be
mov ecx, dword [0x10036ac4]
push esi
push 0xffffffffffffffff
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0xc40
call fcn.1002020a
add esp, 4
mov dword [esp + 4], eax
test eax, eax
mov byte [esp + 0xc54], 1
je 0x100052da
mov ecx, eax
call fcn.10001850
mov esi, eax
jmp 0x100052dc
xor esi, esi
lea eax, [esp + 0xc]
lea edx, [esi + 4]
mov ecx, eax
mov byte [esp + 0xc54], 0
sub edx, ecx
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x100052f0
lea eax, [esp + 0x8c]
lea edx, [esi + 0x84]
mov ecx, eax
sub edx, ecx
jmp 0x10005310
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10005310
lea eax, [esp + 0x10c]
lea edx, [esi + 0x104]
mov ecx, eax
sub edx, ecx
jmp 0x10005330
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10005330
lea eax, [esp + 0x210]
lea edx, [esi + 0x208]
mov ecx, eax
sub edx, ecx
jmp 0x10005350
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10005350
lea eax, [esp + 0x314]
lea edx, [esi + 0x30c]
mov ecx, eax
sub edx, ecx
jmp 0x10005370
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10005370
mov edx, dword [esp + 0xc18]
mov dword [esi + 0xc10], edx
mov eax, dword [esp + 0xc1c]
mov dword [esi + 0xc14], eax
mov ecx, dword [esp + 0xc20]
mov dword [esi + 0xc18], ecx
mov edx, dword [esp + 0xc24]
mov dword [esi + 0xc1c], edx
mov eax, dword [esp + 0xc28]
mov dword [esi + 0xc20], eax
mov ecx, dword [esp + 0xc2c]
mov dword [esi + 0xc24], ecx
mov edx, dword [esp + 0xc30]
mov dword [esi + 0xc28], edx
mov eax, dword [esp + 0xc34]
mov dword [esi + 0xc2c], eax
mov ecx, dword [esp + 0xc38]
mov dword [esi + 0xc30], ecx
mov edx, dword [esp + 0xc3c]
push 0x1b3
mov dword [esi + 0xc34], edx
mov eax, dword [esp + 0xc44]
push 0x5c
push str..Downloader.cpp
mov dword [esi + 0xc38], eax
call fcn.10012fc0
add esp, 8
inc eax
push eax
push str._s:_d
call fcn.10007550
push str._SD__download_proc_work_state:_get_a_item_ok.
call fcn.10007550
add esp, 0x10
push 0
push 0
push esi
push 0x10004ae0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
jne 0x10005490
push 0x1b8
push 0x5c
push str..Downloader.cpp
call fcn.10012fc0
add esp, 8
inc eax
push eax
push str._s:_d
call fcn.10007550
push str._SD__download_proc_work_state:_create_download_worker_failed.
call fcn.10007550
mov edx, dword [esi]
add esp, 0x10
push 1
mov ecx, esi
call dword [edx + 4]
mov eax, dword [0x10036ac4]
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
push 0x1bd
push 0x5c
push str..Downloader.cpp
call fcn.10012fc0
add esp, 8
inc eax
push eax
push str._s:_d
call fcn.10007550
push str._SD__download_proc_work_state:_create_download_worker_ok.
call fcn.10007550
add esp, 0x10
pop esi
lea ecx, [esp + 4]
mov dword [esp + 0xc50], 0xffffffff
call fcn.10001aa0
mov ecx, dword [esp + 0xc48]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0xc44]
call fcn.1001291b
add esp, 0xc54
ret