Function at 0x10005b20
Capabilities:
Suspend thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
mov eax, dword [0x1006e080]
xor eax, esp
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
sub eax, 0
je 0x100063ba
sub eax, 1
jne 0x10006495
mov dword [esp + 0x18], 0x10005130
call fcn.100254f0
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
call ebx
cmp dword [0x1006fe00], 0
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0xc], eax
jne 0x10005bde
call edi
cmp dword [esp + 0xc], eax
je 0x10005bde
push 8
call fcn.1002817b
add esp, 4
mov ebx, eax
push dword [esp + 0xc]
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
jne 0x10005bc4
call esi
mov esi, eax
push 8
push ebx
call fcn.100284e8
mov dword [0x1006fe00], esi
add esp, 8
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x1006fe0c], 0
jmp 0x10005bd8
mov eax, dword [esp + 0xc]
mov dword [ebx + 4], eax
mov eax, dword [0x1006fe14]
mov dword [ebx], eax
mov dword [0x1006fe14], ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov edx, dword [esp + 0x18]
sub esp, 0xc
mov ecx, 0x1006fc34
mov dword [0x1006fc34], 0x801960
call fcn.100259c0
test eax, eax
jne 0x10005c22
call fcn.10025590
test eax, eax
jne 0x10005c22
lea eax, [esp + 0x18]
mov dword [esp + 0xc], 0x1006fc34
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10006a60
mov dword [esp + 0x18], 0x10005210
call fcn.100254f0
call ebx
cmp dword [0x1006fe00], 0
mov dword [esp + 0xc], eax
jne 0x10005c9c
call edi
cmp dword [esp + 0xc], eax
je 0x10005c9c
push 8
call fcn.1002817b
add esp, 4
mov ebx, eax
push dword [esp + 0xc]
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
jne 0x10005c82
call esi
mov esi, eax
push 8
push ebx
call fcn.100284e8
add esp, 8
mov dword [0x1006fe00], esi
mov dword [0x1006fe0c], 0
jmp 0x10005c96
mov eax, dword [esp + 0xc]
mov dword [ebx + 4], eax
mov eax, dword [0x1006fe14]
mov dword [ebx], eax
mov dword [0x1006fe14], ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov edx, dword [esp + 0x18]
sub esp, 0xc
mov ecx, 0x1006fc30
mov dword [0x1006fc30], 0x5a49550
call fcn.100259c0
test eax, eax
jne 0x10005ce0
call fcn.10025590
test eax, eax
jne 0x10005ce0
lea eax, [esp + 0x18]
mov dword [esp + 0xc], 0x1006fc30
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10006a60
mov dword [esp + 0x18], 0x10005220
call fcn.100254f0
call ebx
cmp dword [0x1006fe00], 0
mov esi, eax
jne 0x10005d53
call edi
cmp esi, eax
je 0x10005d53
push 8
call fcn.1002817b
add esp, 4
mov ebx, eax
push esi
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
jne 0x10005d3d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 8
push ebx
call fcn.100284e8
add esp, 8
mov dword [0x1006fe00], esi
mov dword [0x1006fe0c], 0
jmp 0x10005d4d
mov eax, dword [0x1006fe14]
mov dword [ebx + 4], esi
mov dword [ebx], eax
mov dword [0x1006fe14], ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov edx, dword [esp + 0x18]
sub esp, 0xc
mov ecx, 0x1006fc2c
mov dword [0x1006fc2c], 0x5a43af0
call fcn.100259c0
test eax, eax
jne 0x10005d97
call fcn.10025590
test eax, eax
jne 0x10005d97
lea eax, [esp + 0x18]
mov dword [esp + 0xc], 0x1006fc2c
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10006a60
push 0
push 0x5a45620
mov edx, 0x10005240
mov ecx, 0x1006fc28
call fcn.10006560
add esp, 8
mov dword [esp + 0x18], 0x10005250
call fcn.100254f0
call ebx
cmp dword [0x1006fe00], 0
mov esi, eax
jne 0x10005e23
call edi
cmp esi, eax
je 0x10005e23
push 8
call fcn.1002817b
add esp, 4
mov ebx, eax
push esi
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
jne 0x10005e0d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 8
push ebx
call fcn.100284e8
add esp, 8
mov dword [0x1006fe00], esi
mov dword [0x1006fe0c], 0
jmp 0x10005e1d
mov eax, dword [0x1006fe14]
mov dword [ebx + 4], esi
mov dword [ebx], eax
mov dword [0x1006fe14], ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov edx, dword [esp + 0x18]
sub esp, 0xc
mov ecx, 0x1006fc20
mov dword [0x1006fc20], 0x5a46470
call fcn.100259c0
test eax, eax
jne 0x10005e67
call fcn.10025590
test eax, eax
jne 0x10005e67
lea eax, [esp + 0x18]
mov dword [esp + 0xc], 0x1006fc20
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10006a60
mov dword [esp + 0x18], 0x10005990
call fcn.100254f0
call ebx
cmp dword [0x1006fe00], 0
mov esi, eax
jne 0x10005eda
call edi
cmp esi, eax
je 0x10005eda
push 8
call fcn.1002817b
add esp, 4
mov ebx, eax
push esi
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
jne 0x10005ec4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 8
push ebx
call fcn.100284e8
add esp, 8
mov dword [0x1006fe00], esi
mov dword [0x1006fe0c], 0
jmp 0x10005ed4
mov eax, dword [0x1006fe14]
mov dword [ebx + 4], esi
mov dword [ebx], eax
mov dword [0x1006fe14], ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov edx, dword [esp + 0x18]
sub esp, 0xc
mov ecx, 0x1006fc08
mov dword [0x1006fc08], 0x5a45f00
call fcn.100259c0
test eax, eax
jne 0x10005f1e
call fcn.10025590
test eax, eax
jne 0x10005f1e
lea eax, [esp + 0x18]
mov dword [esp + 0xc], 0x1006fc08
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10006a60
mov dword [esp + 0x18], 0x10005620
call fcn.100254f0
call ebx
cmp dword [0x1006fe00], 0
mov esi, eax
jne 0x10005f91
call edi
cmp esi, eax
je 0x10005f91
push 8
call fcn.1002817b
add esp, 4
mov ebx, eax
push esi
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
jne 0x10005f7b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 8
push ebx
call fcn.100284e8
add esp, 8
mov dword [0x1006fe00], esi
mov dword [0x1006fe0c], 0
jmp 0x10005f8b
mov eax, dword [0x1006fe14]
mov dword [ebx + 4], esi
mov dword [ebx], eax
mov dword [0x1006fe14], ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov edx, dword [esp + 0x18]
sub esp, 0xc
mov ecx, 0x1006fc18
mov dword [0x1006fc18], 0x5a44980
call fcn.100259c0
test eax, eax
jne 0x10005fd5
call fcn.10025590
test eax, eax
jne 0x10005fd5
lea eax, [esp + 0x18]
mov dword [esp + 0xc], 0x1006fc18
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10006a60
mov dword [esp + 0x18], 0x100055a0
call fcn.100254f0
call ebx
cmp dword [0x1006fe00], 0
mov esi, eax
jne 0x10006048
call edi
cmp esi, eax
je 0x10006048
push 8
call fcn.1002817b
add esp, 4
mov ebx, eax
push esi
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
jne 0x10006032
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 8
push ebx
call fcn.100284e8
add esp, 8
mov dword [0x1006fe00], esi
mov dword [0x1006fe0c], 0
jmp 0x10006042
mov eax, dword [0x1006fe14]
mov dword [ebx + 4], esi
mov dword [ebx], eax
mov dword [0x1006fe14], ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov edx, dword [esp + 0x18]
sub esp, 0xc
mov ecx, 0x1006fc1c
mov dword [0x1006fc1c], 0x5a469c0
call fcn.100259c0
test eax, eax
jne 0x1000608c
call fcn.10025590
test eax, eax
jne 0x1000608c
lea eax, [esp + 0x18]
mov dword [esp + 0xc], 0x1006fc1c
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10006a60
mov dword [esp + 0x18], 0x10005210
call fcn.100254f0
call ebx
cmp dword [0x1006fe00], 0
mov esi, eax
jne 0x100060ff
call edi
cmp esi, eax
je 0x100060ff
push 8
call fcn.1002817b
add esp, 4
mov ebx, eax
push esi
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
jne 0x100060e9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 8
push ebx
call fcn.100284e8
add esp, 8
mov dword [0x1006fe00], esi
mov dword [0x1006fe0c], 0
jmp 0x100060f9
mov eax, dword [0x1006fe14]
mov dword [ebx + 4], esi
mov dword [ebx], eax
mov dword [0x1006fe14], ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov edx, dword [esp + 0x18]
sub esp, 0xc
mov ecx, 0x1006fc14
mov dword [0x1006fc14], 0x5a44290
call fcn.100259c0
test eax, eax
jne 0x10006143
call fcn.10025590
test eax, eax
jne 0x10006143
lea eax, [esp + 0x18]
mov dword [esp + 0xc], 0x1006fc14
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10006a60
mov dword [esp + 0x18], 0x100056b0
call fcn.100254f0
call ebx
cmp dword [0x1006fe00], 0
mov esi, eax
jne 0x100061b6
call edi
cmp esi, eax
je 0x100061b6
push 8
call fcn.1002817b
add esp, 4
mov ebx, eax
push esi
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
jne 0x100061a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 8
push ebx
call fcn.100284e8
add esp, 8
mov dword [0x1006fe00], esi
mov dword [0x1006fe0c], 0
jmp 0x100061b0
mov eax, dword [0x1006fe14]
mov dword [ebx + 4], esi
mov dword [ebx], eax
mov dword [0x1006fe14], ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov edx, dword [esp + 0x18]
sub esp, 0xc
mov ecx, 0x1006fc10
mov dword [0x1006fc10], 0x5a48e40
call fcn.100259c0
test eax, eax
jne 0x100061fa
call fcn.10025590
test eax, eax
jne 0x100061fa
lea eax, [esp + 0x18]
mov dword [esp + 0xc], 0x1006fc10
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10006a60
push 0
push 0x5a4b950
mov edx, 0x10005210
mov ecx, 0x1006fc0c
call fcn.10006560
push 0
push 0x5a44fc0
mov edx, 0x10005aa0
mov ecx, 0x1006fc04
call fcn.10006560
add esp, 0x10
mov dword [esp + 0x18], 0x10005ad0
call fcn.100254f0
call ebx
cmp dword [0x1006fe00], 0
mov esi, eax
jne 0x1000629c
call edi
cmp esi, eax
je 0x1000629c
push 8
call fcn.1002817b
add esp, 4
mov ebx, eax
push esi
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
jne 0x10006286
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 8
push ebx
call fcn.100284e8
add esp, 8
mov dword [0x1006fe00], esi
mov dword [0x1006fe0c], 0
jmp 0x10006296
mov eax, dword [0x1006fe14]
mov dword [ebx + 4], esi
mov dword [ebx], eax
mov dword [0x1006fe14], ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov edx, dword [esp + 0x18]
sub esp, 0xc
mov ecx, 0x1006fbfc
mov dword [0x1006fbfc], 0x5a48530
call fcn.100259c0
test eax, eax
jne 0x100062e0
call fcn.10025590
test eax, eax
jne 0x100062e0
lea eax, [esp + 0x18]
mov dword [esp + 0xc], 0x1006fbfc
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10006a60
push 0
push 0x5a4adb0
mov edx, 0x10005210
mov ecx, 0x1006fbf8
call fcn.10006560
add esp, 8
mov dword [esp + 0x18], 0x10005ab0
call fcn.100254f0
call ebx
cmp dword [0x1006fe00], 0
mov esi, eax
jne 0x10006366
call edi
cmp esi, eax
je 0x10006366
push 8
call fcn.1002817b
add esp, 4
mov edi, eax
push esi
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
jne 0x10006356
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push 8
push edi
call fcn.100284e8
add esp, 8
mov dword [0x1006fe00], esi
mov dword [0x1006fe0c], 0
jmp 0x10006366
mov eax, dword [0x1006fe14]
mov dword [edi + 4], esi
mov dword [edi], eax
mov dword [0x1006fe14], edi
mov edx, dword [esp + 0x18]
sub esp, 0xc
mov ecx, 0x1006fc00
mov dword [0x1006fc00], 0x5a49950
call fcn.100259c0
test eax, eax
jne 0x100063aa
call fcn.10025590
test eax, eax
jne 0x100063aa
lea eax, [esp + 0x18]
mov dword [esp + 0xc], 0x1006fc00
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.10006a60
mov ecx, dword [0x1006fdf4]
call fcn.10002380
jmp 0x10006495
mov esi, dword [0x1006fdf8]
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
jne 0x10006495
nop dword [eax]
call fcn.100254f0
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
cmp dword [0x1006fe00], 0
mov edi, eax
jne 0x1000643d
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
cmp edi, eax
je 0x1000643d
push 8
call fcn.1002817b
add esp, 4
mov ebx, eax
push edi
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
jne 0x1000642d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
push 8
push ebx
call fcn.100284e8
add esp, 8
mov dword [0x1006fe00], edi
mov dword [0x1006fe0c], 0
jmp 0x1000643d
mov eax, dword [0x1006fe14]
mov dword [ebx + 4], edi
mov dword [ebx], eax
mov dword [0x1006fe14], ebx
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
call fcn.10025ff0
test eax, eax
jne 0x10006451
call fcn.10025590
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x10006477
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x10006473
cmp esi, dword [eax + 8]
jne 0x10006473
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x10006463
mov esi, eax
jmp 0x1000648b
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x1000648b
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x10006481
cmp byte [esi + 0xd], 0
je 0x100063d0
mov ecx, dword [esp + 0x1c]
mov eax, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1002816d
mov esp, ebp
pop ebp
ret 0xc