Function at 0x33d588da
Capabilities:
Create thread

Disassembly:
push 0x18
mov eax, 0x33dd453b
call fcn.33dcf7d7
mov edi, ecx
xor ebx, ebx
mov esi, dword [ebp + 8]
cmp esi, ebx
je 0x33d58b12
cmp word [esi], bx
je 0x33d58b12
cmp dword [ebp + 0xc], ebx
je 0x33d58b12
cmp dword [ebp + 0x10], ebx
je 0x33d58b12
push 1
lea ecx, [ebp - 0x11]
call fcn.33da5ee5
mov dword [ebp - 4], ebx
push esi
call fcn.33da5ee5
push esi
test al, al
jne 0x33d5894c
push 0x33d344d4
call fcn.33dceddf
pop ecx
pop ecx
mov ebx, 0xa1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x11]
call fcn.33d57c47
mov eax, ebx
jmp 0x33d58b15
mov ecx, edi
call fcn.33d57dfb
test al, al
je 0x33d5895f
push esi
mov ecx, edi
call fcn.33d5856c
push ebx
push ebx
push 0x42000000
push 3
push ebx
push 7
push 1
push esi
call dword [sym.imp.MSO.dll_Ordinal_403]
mov esi, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 1
cmp esi, 0xffffffff
jne 0x33d589ad
mov esi, dword [sym.imp.kernel32.dll_GetLastError]
call esi
push eax
push 0x33d344a8
call fcn.33dceddf
pop ecx
pop ecx
call esi
mov esi, eax
mov byte [ebp - 4], bl
push 0xffffffffffffffff
call dword [sym.imp.kernel32.dll_CloseHandle]
mov ebx, esi
jmp 0x33d58939
mov byte [ebp - 4], 2
push 0x1054
call fcn.33da5ee5
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 3
push dword [ebp + 0x14]
push dword [ebp + 0xc]
push dword [ebp + 0x10]
push dword [ebp + 8]
push esi
mov ecx, eax
call fcn.33d57e83
mov esi, eax
mov byte [ebp - 4], 2
mov dword [ebp - 0x24], esi
mov dword [ebp - 4], 1
mov dword [ebp + 0xc], esi
mov byte [ebp - 4], 5
cmp esi, ebx
jne 0x33d589fe
push 0xe
call dword [sym.imp.kernel32.dll_SetLastError]
jmp 0x33d58af9
mov dword [ebp - 0x1c], ebx
push ebx
push esi
push dword [edi + 4]
push dword [esi + 4]
call dword [sym.imp.kernel32.dll_CreateIoCompletionPort]
mov dword [edi + 4], eax
cmp eax, ebx
jne 0x33d58a35
call dword [sym.imp.kernel32.dll_GetLastError]
mov edi, eax
mov byte [ebp - 4], 1
push 1
mov ecx, esi
call fcn.33da5ee5
mov byte [ebp - 4], bl
mov ebx, edi
jmp 0x33d58939
cmp dword [edi], ebx
jne 0x33d58a69
lea eax, [ebp + 0x14]
push eax
push ebx
push edi
push 0x33d5815b
push ebx
push ebx
call dword [sym.imp.kernel32.dll_CreateThread]
cmp eax, ebx
jne 0x33d58a67
mov edi, dword [sym.imp.kernel32.dll_GetLastError]
call edi
test eax, eax
jne 0x33d58a63
mov edi, 0xa4
jmp 0x33d58a1e
call edi
jmp 0x33d58a1c
mov dword [edi], eax
push dword [edi + 4]
mov ecx, esi
call fcn.33da5ee5
mov dword [ebp + 8], eax
cmp eax, ebx
je 0x33d58a92
mov byte [ebp - 4], 1
push 1
mov ecx, esi
call fcn.33da5ee5
mov byte [ebp - 4], bl
mov ebx, dword [ebp + 8]
jmp 0x33d58939
push edi
mov ecx, dword [ebp + 0x10]
call fcn.33d5877f
lea eax, [edi + 0x14]
push eax
lea ecx, [ebp + 0x10]
call fcn.33da5ee5
mov byte [ebp - 4], 6
lea eax, [ebp + 0xc]
push eax
lea ecx, [edi + 8]
call fcn.33da5ee5
mov byte [ebp - 4], 5
mov eax, dword [ebp + 0x10]
cmp byte [eax + 0x18], bl
je 0x33d58aca
push eax
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov byte [ebp - 4], 1
mov ecx, dword [ebp + 0xc]
cmp ecx, ebx
je 0x33d58adc
push 1
call fcn.33da5ee5
mov byte [ebp - 4], bl
jmp 0x33d58939
mov byte [ebp - 4], bl
cmp dword [ebp - 0x18], ebx
je 0x33d58b0a
push dword [ebp - 0x18]
call dword [sym.imp.kernel32.dll_CloseHandle]
push 0xe
pop ebx
jmp 0x33d58939
push 0x57
pop eax
call fcn.33dcf87c
ret 0x10