Function at 0x5f3b10
Capabilities:
Create thread

Disassembly:
push 0xffffffffffffffff
push 0x6691de
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push ebp
push esi
mov eax, dword [0x76c12c]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 5
mov ebx, 7
xor ebp, ebp
xor eax, eax
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], ebp
push 0x6d1b84
mov word [ecx], ax
call fcn.00401f00
mov dword [esp + 0x44], ebp
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x48], esp
push 0x14
xor edx, edx
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], ebp
push 0x6d1b90
mov word [ecx], dx
call fcn.00401f00
mov byte [esp + 0x60], 1
push 5
mov dword [esp + 0x64], 0xffffffff
call fcn.00557fb0
add esp, 0x3c
cmp byte [edi + 0xfc], 0
jne 0x5f3bb1
mov eax, dword [edi + 0x74]
mov ecx, dword [edi + 0x70]
push eax
push ecx
lea esi, [edi + 0x50]
call fcn.0044dbe0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xc
xor edx, edx
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], ebp
push str.Opening_File
mov dword [esp + 0x34], 3
mov word [ecx], dx
call fcn.00401f00
mov dword [esp + 0x44], 2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x14
xor eax, eax
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], ebp
push 0x6d1bd8
mov word [ecx], ax
call fcn.00401f00
mov byte [esp + 0x60], 3
push 5
mov dword [esp + 0x64], 0xffffffff
call fcn.00557fb0
add esp, 0x3c
lea esi, [edi + 0xb4]
mov edi, edi
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
push ebp
xor edx, edx
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], ebp
push esi
mov word [ecx], dx
call fcn.004018e0
mov dword [esp + 0x44], 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x4c], esp
push 0x21
xor eax, eax
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], ebp
push str.WorkerManager::Start_opening_file
mov word [ecx], ax
call fcn.00401f00
mov byte [esp + 0x60], 5
push 5
mov dword [esp + 0x64], 0xffffffff
call fcn.00557fb0
add esp, 0x3c
cmp byte [edi + 0xfc], 0
jne 0x5f3ca7
cmp dword [esi + 0x14], 8
jb 0x5f3c99
mov eax, dword [esi]
push 0x6d1c04
push eax
lea ecx, [edi + 0x10]
push ecx
jmp 0x5f3cbd
push 0x6d1c04
mov eax, esi
push eax
lea ecx, [edi + 0x10]
push ecx
jmp 0x5f3cbd
cmp dword [esi + 0x14], 8
jb 0x5f3cb1
mov eax, dword [esi]
jmp 0x5f3cb3
mov eax, esi
push 0x6d1c7c
push eax
lea edx, [edi + 0x10]
push edx
call fcn.0058eac5
add esp, 0xc
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], eax
xor eax, eax
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], ebp
mov word [ecx], ax
cmp dword [esp + 0x30], ebp
je 0x5f3e97
mov dword [esp + 0x34], esp
push 0x23
push str.File_creation_failed._Waiting_1_sec
call fcn.00401f00
mov dword [esp + 0x44], 6
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x54], esp
push 0x14
xor edx, edx
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], ebp
push 0x6d1c0c
mov word [ecx], dx
call fcn.00401f00
mov byte [esp + 0x60], bl
push 5
mov dword [esp + 0x64], 0xffffffff
call fcn.00557fb0
dec dword [esp + 0x4c]
add esp, 0x3c
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [esp + 0x10], ebp
jge 0x5f3c20
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x24
xor eax, eax
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], ebp
push str.File_creation_failed._Waiting_1_sec.
mov word [ecx], ax
call fcn.00401f00
mov dword [esp + 0x44], 8
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x14
xor edx, edx
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], ebp
push 0x6d1c84
mov word [ecx], dx
call fcn.00401f00
mov byte [esp + 0x60], 9
push 5
mov dword [esp + 0x64], 0xffffffff
call fcn.00557fb0
push 1
push ebp
push 1
push 1
call fcn.0057ac8b
add esp, 0x30
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x12
xor eax, eax
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], ebp
push str.Error_Opening_File
mov word [ecx], ax
call fcn.00401f00
mov dword [esp + 0x44], 0xa
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x14
xor edx, edx
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], ebp
push 0x6d1d6c
mov word [ecx], dx
call fcn.00401f00
mov byte [esp + 0x60], 0xb
push 2
mov dword [esp + 0x64], 0xffffffff
call fcn.00557fb0
add esp, 0x3c
call fcn.0057acc4
cmp dword [esi + 0x14], 8
jb 0x5f3e1e
mov esi, dword [esi]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
sub esp, 0x1c
mov eax, esp
mov dword [esp + 0x38], esp
push ecx
movzx ecx, byte [edi + 0xfc]
push edx
push ecx
push esi
push str.Error_opening_file:__path:__s__restoring:__d__count:__d__err:__d_
push eax
call fcn.0055e800
mov dword [esp + 0x5c], 0xc
push ecx
mov ecx, esp
mov dword [esp + 0x50], esp
push 5
xor edx, edx
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], ebp
push str.Start
mov word [ecx], dx
call fcn.00401f00
mov byte [esp + 0x60], 0xd
mov dword [esp + 0x60], 0xffffffff
mov ecx, edi
call fcn.005f2720
mov eax, 5
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov dword [esp + 0x38], esp
push 0x20
push str.File_Opened_OK._Creating_workers
call fcn.00401f00
mov dword [esp + 0x44], 0xe
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x14
xor edx, edx
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], ebp
push 0x6d1e6c
mov word [ecx], dx
call fcn.00401f00
mov byte [esp + 0x60], 0xf
push 5
mov dword [esp + 0x64], 0xffffffff
call fcn.00557fb0
mov eax, dword [edi + 0x18]
sub eax, dword [edi + 0x14]
add esp, 0x3c
sar eax, 2
xor esi, esi
test eax, eax
je 0x5f3fd2
lea esp, [esp]
push esi
push str.Creating_worker___d_...
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x14
xor edx, edx
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], ebp
push 0x6d1ec8
mov word [ecx], dx
call fcn.00401f00
mov dword [esp + 0x4c], 0x10
push 5
mov dword [esp + 0x50], 0xffffffff
call fcn.00557cb0
mov eax, dword [edi + 0x14]
mov edx, dword [eax + esi*4]
lea ecx, [esp + 0x40]
push ecx
push 0
lea ebp, [esi*4]
push edx
push 0x5f2ff0
push 0
push 0
call fcn.0058e2b3
mov ecx, dword [edi + 0x14]
mov edx, dword [ecx + ebp]
add esp, 0x40
push esi
push str.Worker___d__created.
sub esp, 0x1c
mov ecx, esp
mov dword [edx + 0x8c], eax
mov dword [esp + 0x40], esp
push 0x14
xor eax, eax
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], 0
push 0x6d1f20
mov word [ecx], ax
call fcn.00401f00
mov dword [esp + 0x4c], 0x11
push 5
mov dword [esp + 0x50], 0xffffffff
call fcn.00557cb0
add esp, 0x28
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [edi + 0x18]
sub ecx, dword [edi + 0x14]
inc esi
sar ecx, 2
xor ebp, ebp
cmp esi, ecx
jb 0x5f3f00
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0xf
xor edx, edx
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], ebp
push str.Workers_Created
mov word [ecx], dx
call fcn.00401f00
mov dword [esp + 0x44], 0x12
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x14
xor eax, eax
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x10], ebp
push str.WorkerManager::Start
mov word [ecx], ax
call fcn.00401f00
mov byte [esp + 0x60], 0x13
push 5
mov dword [esp + 0x64], 0xffffffff
call fcn.00557fb0
add esp, 0x3c
xor eax, eax
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret