Function at 0x411270
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x424
mov eax, dword [0x466910]
xor eax, esp
mov dword [esp + 0x420], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov byte [edi + 0x1b8c], 1
mov byte [esp + 0xf], 0
mov dword [edi + 0xb18], esi
test esi, esi
je 0x411526
lea eax, [esi + 8]
push eax
lea ebx, [edi + 0xd24]
push 0x64
push ebx
call fcn.0043349d
mov ecx, dword [edi + 0xb18]
add esp, 0xc
add ecx, 0x4e0
push ecx
lea edx, [edi + 4]
push 0x104
push edx
call fcn.0043349d
mov eax, dword [edi + 0xb18]
add esp, 0xc
add eax, 0xd0
push eax
lea ecx, [edi + 0x20c]
push 0x104
push ecx
call fcn.0043349d
add esp, 0xc
xor edx, edx
push 0x40e
push edx
lea eax, [esp + 0x22]
push eax
mov word [esp + 0x24], dx
call fcn.00437170
mov ecx, dword [edi + 0xb18]
add esp, 0xc
add ecx, 0xd0
push ecx
lea edx, [esp + 0x1c]
push 0x208
push edx
call fcn.0043349d
add esp, 0xc
push str.maxdownloader.log
lea eax, [esp + 0x1c]
push 0x208
push eax
call fcn.0043350c
lea eax, [edi + 0x195c]
add esp, 0xc
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x18], eax
call fcn.0040f570
push 0x467be0
lea ecx, [esp + 0x1c]
call fcn.0040f570
mov ecx, dword [edi + 0xb18]
add ecx, 0x8f0
push ecx
lea edx, [edi + 0xdec]
push 0x104
push edx
call fcn.0043349d
mov eax, dword [edi + 0xb18]
mov ecx, dword [eax]
add esp, 0xc
mov dword [edi + 0xff4], ecx
cmp byte [eax + 0xd64], 0
je 0x411406
lea edx, [eax + 0x954]
mov eax, edx
lea ecx, [eax + 2]
mov dword [esp + 0x10], ecx
jmp 0x4113c0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4113c0
sub eax, dword [esp + 0x10]
sar eax, 1
je 0x411406
push 0x458d54
push edx
call fcn.00434ff5
add esp, 8
test eax, eax
je 0x411406
mov edx, dword [edi + 0xb18]
add edx, 0x954
push edx
lea eax, [edi + 0x61c]
push 0x104
push eax
call fcn.0043349d
add esp, 0xc
mov eax, dword [edi + 0xb18]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [edi]
mov dword [0x467bb4], ecx
mov dword [edi + 0x1b78], edx
mov edx, dword [eax]
push esi
mov ecx, edi
mov dword [edi + 0x1b74], 0
call edx
test al, al
je 0x411526
lea eax, [esp + 0x10]
push eax
push 0
push edi
push 0x4110f0
push 0
push 0
mov dword [esp + 0x28], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push ebx
mov dword [edi + 0x1b88], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [esp + 0x18]
push eax
push str._r_n_ld:Downloading...:_s_r_n
call fcn.0040f810
mov ecx, dword [edi + 0x1b7c]
add esp, 0xc
test ecx, ecx
je 0x411489
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 2
call eax
mov esi, 1
mov edi, edi
mov edx, dword [edi + 0x1b88]
mov ecx, esi
imul ecx, ecx, 0x3e8
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [0x46ac04], 0
jne 0x4114c8
cmp eax, 0x102
jne 0x4114e1
push esi
call fcn.00411650
cmp esi, 1
jne 0x411490
mov esi, 3
jmp 0x411490
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x420]
xor ecx, esp
call fcn.004331c4
mov esp, ebp
pop ebp
ret 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push esi
mov dword [edi + 0x1268], eax
call fcn.00411650
cmp dword [edi + 0x1b74], 0x64
jb 0x411508
push edi
call fcn.004119b0
mov byte [esp + 0xf], al
jmp 0x411526
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ecx, dword [esp + 0x18]
push eax
push str._r_n_ld:Unable_to_perform_Complete_Download_at_this_time...:_s_r_n
call fcn.0040f810
add esp, 0xc
mov byte [esp + 0xf], 0
mov ecx, dword [esp + 0x42c]
mov al, byte [esp + 0xf]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004331c4
mov esp, ebp
pop ebp
ret 4