Function at 0x10438bd
Capabilities:
Create thread

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x30
and dword [ebp - 0xc], 0
push ebx
push esi
push edi
mov eax, dword [0x1075004]
mov esi, 0x1075004
mov ebx, 0x100300c
cmp eax, esi
je 0x10438f9
test byte [eax + 0x1c], 4
je 0x10438f9
cmp byte [eax + 0x19], 5
jb 0x10438f9
push ebx
push 0x11
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090c5
mov edi, 0xea60
push edi
push 0
push 2
call fcn.010246f0
call fcn.01061870
test eax, eax
jne 0x10439c9
lea eax, [ebp - 8]
push eax
call fcn.010622da
test eax, eax
jne 0x104399a
cmp dword [ebp - 8], eax
je 0x10439bf
mov eax, dword [0x1075004]
cmp eax, esi
je 0x104394e
test byte [eax + 0x1c], 4
je 0x104394e
cmp byte [eax + 0x19], 5
jb 0x104394e
push ebx
push 0x13
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090c5
push 0
call fcn.010623ec
test eax, eax
jne 0x104397e
mov eax, dword [0x1075004]
cmp eax, esi
je 0x10439bf
test byte [eax + 0x1c], 4
je 0x10439bf
cmp byte [eax + 0x19], 5
jb 0x10439bf
push ebx
push 0x14
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090c5
jmp 0x10439bf
mov ecx, dword [0x1075004]
cmp ecx, esi
je 0x10439bf
test byte [ecx + 0x1c], 4
je 0x10439bf
cmp byte [ecx + 0x19], 2
jb 0x10439bf
push eax
push ebx
push 0x15
jmp 0x10439b4
mov ecx, dword [0x1075004]
cmp ecx, esi
je 0x10439bf
test byte [ecx + 0x1c], 4
je 0x10439bf
cmp byte [ecx + 0x19], 2
jb 0x10439bf
push eax
push ebx
push 0x16
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.0102ca9d
push edi
push 0
push 2
call fcn.010246f0
push edi
push 0
push 2
call fcn.010246f0
lea eax, [ebp - 0xc]
push eax
call fcn.0105d772
test eax, eax
jne 0x1043a10
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1043a0c
test byte [eax + 0x1c], 4
je 0x1043a0c
cmp byte [eax + 0x19], 2
jb 0x1043a0c
push edi
push ebx
push 0x17
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
mov eax, edi
jmp 0x1043a7c
push edi
push 0
push 2
call fcn.010246f0
push 0x100313c
call fcn.0105f99e
mov dword [ebp - 4], eax
test eax, eax
je 0x1043a81
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1043a51
test byte [eax + 0x1c], 4
je 0x1043a51
cmp byte [eax + 0x19], 2
jb 0x1043a51
push dword [ebp - 4]
push ebx
push 0x18
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
mov eax, dword [ebp - 4]
mov dword [ebp - 0x30], eax
xor eax, eax
lea ecx, [ebp - 0x30]
mov word [ebp - 0x2c], ax
call fcn.01009b2b
push eax
push 0xc0007d29
push 1
push 1
push 1
call fcn.0105dbc9
add esp, 0x14
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret
call fcn.01049ded
test eax, eax
jne 0x1043ab0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 4], eax
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1043a51
test byte [eax + 0x1c], 4
je 0x1043a51
cmp byte [eax + 0x19], 2
jb 0x1043a51
push dword [ebp - 4]
push ebx
push 0x19
jmp 0x1043a46
push edi
push 0
push 2
call fcn.010246f0
push 0
push 1
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [0x1077fd8], eax
test eax, eax
jne 0x1043b11
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 4], eax
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1043a51
test byte [eax + 0x1c], 4
je 0x1043a51
cmp byte [eax + 0x19], 2
jb 0x1043a51
push dword [ebp - 4]
push ebx
push 0x1a
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
jmp 0x1043a51
push edi
push 0
push 2
call fcn.010246f0
push 0x3c
call fcn.0105c544
mov dword [0x1077fc8], eax
test eax, eax
jne 0x1043b72
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 4], eax
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1043b5a
test byte [eax + 0x1c], 4
je 0x1043b5a
cmp byte [eax + 0x19], 2
jb 0x1043b5a
push dword [ebp - 4]
push ebx
push 0x1b
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
push 0xc0007d72
push 0
push 1
push 1
call fcn.0105dbc9
add esp, 0x10
jmp 0x1043a79
push 0x3c
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
call fcn.0106db4c
test eax, eax
jge 0x1043baf
mov ecx, dword [0x1075004]
cmp ecx, esi
je 0x1043b5a
test byte [ecx + 0x1c], 4
je 0x1043b5a
cmp byte [ecx + 0x19], 2
jb 0x1043b5a
push eax
push ebx
push 0x1c
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.0102ca9d
jmp 0x1043b5a
call fcn.0106dca4
test eax, eax
jge 0x1043bd4
mov ecx, dword [0x1075004]
cmp ecx, esi
je 0x1043b5a
test byte [ecx + 0x1c], 4
je 0x1043b5a
cmp byte [ecx + 0x19], 2
jb 0x1043b5a
push eax
push ebx
push 0x1d
jmp 0x1043ba2
mov eax, dword [0x1077fc8]
lea ecx, [eax + 8]
push ecx
lea ecx, [eax + 0xc]
push ecx
lea ecx, [eax + 4]
push ecx
push eax
add eax, 0x10
push eax
call fcn.0106de8f
test eax, eax
je 0x1043c22
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1043c22
test byte [eax + 0x1c], 4
je 0x1043c22
cmp byte [eax + 0x19], 2
jb 0x1043c22
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x1075004]
push ebx
push 0x1e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
mov eax, dword [0x1077fc8]
lea ecx, [eax + 0x1c]
push ecx
lea ecx, [eax + 0x20]
push ecx
lea ecx, [eax + 0x18]
push ecx
lea ecx, [eax + 0x14]
push ecx
lea ecx, [eax + 0x28]
push ecx
add eax, 0x24
push eax
call fcn.0106e035
test eax, eax
je 0x1043c77
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1043c77
test byte [eax + 0x1c], 4
je 0x1043c77
cmp byte [eax + 0x19], 2
jb 0x1043c77
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x1075004]
push ebx
push 0x1f
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
mov eax, dword [0x1077fc8]
lea ecx, [eax + 0x34]
push ecx
lea ecx, [eax + 0x38]
push ecx
lea ecx, [eax + 0x30]
push ecx
add eax, 0x2c
push eax
call fcn.0106dd2e
test eax, eax
je 0x1043cc4
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1043cc4
test byte [eax + 0x1c], 4
je 0x1043cc4
cmp byte [eax + 0x19], 2
jb 0x1043cc4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [0x1075004]
push ebx
push 0x20
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x1078010
call ebx
mov eax, dword [0x1077fc8]
mov ecx, dword [eax + 0x20]
imul ecx, ecx, 0x3c
mov dword [0x1077fd4], ecx
mov ecx, dword [eax + 0x38]
imul ecx, ecx, 0x3c
mov dword [0x1077fcc], ecx
mov eax, dword [eax + 0xc]
imul eax, eax, 0x3c
push 0x1078010
mov dword [0x1077fd0], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
push 0
push 2
call fcn.010246f0
lea eax, [ebp - 0xc]
push eax
call fcn.01043109
mov dword [ebp - 4], eax
test eax, eax
je 0x1043d59
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1043a79
test byte [eax + 0x1c], 4
je 0x1043a79
cmp byte [eax + 0x19], 2
jb 0x1043a79
push dword [ebp - 4]
push 0x100300c
push 0x21
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
jmp 0x1043a79
push edi
push 0
push 2
call fcn.010246f0
push dword [ebp - 0xc]
call fcn.01049f8e
test eax, eax
jne 0x1043e07
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
mov ebx, eax
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1043da5
test byte [eax + 0x1c], 4
je 0x1043da5
cmp byte [eax + 0x19], 2
jb 0x1043da5
push ebx
push 0x100300c
push 0x22
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
xor eax, eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x2c], ax
call fcn.01009b2b
push eax
mov eax, dword [0x1078100]
push dword [eax + 0x5c]
push 0xc0007d68
push 2
push 1
push 1
call fcn.0105dbc9
add esp, 0x18
call edi
mov dword [ebp - 4], eax
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1043a51
test byte [eax + 0x1c], 4
je 0x1043a51
cmp byte [eax + 0x19], 2
jb 0x1043a51
push dword [ebp - 4]
push 0x100300c
push 0x23
jmp 0x1043b01
push edi
push 0
push 2
call fcn.010246f0
call fcn.0102a843
mov dword [ebp - 4], eax
test eax, eax
je 0x1043ea9
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1043e4b
test byte [eax + 0x1c], 4
je 0x1043e4b
cmp byte [eax + 0x19], 2
jb 0x1043e4b
push dword [ebp - 4]
push 0x100300c
push 0x24
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
mov eax, dword [ebp - 4]
mov dword [ebp - 0x30], eax
xor eax, eax
lea ecx, [ebp - 0x30]
mov word [ebp - 0x2c], ax
call fcn.01009b2b
push eax
push dword [0x1078064]
push 0xc0007d69
push 2
push 1
push 1
call fcn.0105dbc9
add esp, 0x18
push 0x1077ed0
call ebx
push 0x1077eb8
call ebx
mov ebx, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
and dword [0x1078060], 0
and dword [0x107805c], 0
push 0x1077eb8
call ebx
push 0x1077ed0
call ebx
push edi
xor ebx, ebx
push ebx
push 2
call fcn.010246f0
call fcn.0104ffa9
mov dword [ebp - 4], eax
cmp eax, ebx
je 0x1043f09
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1043eea
test byte [eax + 0x1c], 4
je 0x1043eea
cmp byte [eax + 0x19], 2
jb 0x1043eea
push dword [ebp - 4]
push 0x100300c
push 0x25
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
mov eax, dword [ebp - 4]
mov dword [ebp - 0x30], eax
xor eax, eax
lea ecx, [ebp - 0x30]
mov word [ebp - 0x2c], ax
call fcn.01009b2b
push eax
push 0xc0007d2c
jmp 0x1043a6b
push edi
push ebx
push 2
call fcn.010246f0
mov ecx, dword [0x1078124]
call fcn.01050c9e
mov dword [ebp - 4], eax
cmp eax, ebx
je 0x1043f54
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1043a51
test byte [eax + 0x1c], 4
je 0x1043a51
cmp byte [eax + 0x19], 2
jb 0x1043a51
push dword [ebp - 4]
push 0x100300c
push 0x26
jmp 0x1043b01
push edi
push ebx
push 2
call fcn.010246f0
lea eax, [ebp - 0x14]
push eax
push ebx
push dword [ebp - 0xc]
push 0x1043315
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 8], eax
cmp eax, ebx
jne 0x1043fb5
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1043a79
test byte [eax + 0x1c], 4
je 0x1043a79
cmp byte [eax + 0x19], 2
jb 0x1043a79
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x100300c
mov dword [ebp - 4], eax
mov eax, dword [0x1075004]
push 0x27
jmp 0x1043d49
push 0x4e20
push ebx
push 2
call fcn.010246f0
mov edi, 0x100300c
push 0x2710
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 4], eax
cmp eax, ebx
je 0x1044019
cmp eax, 0x102
jne 0x1044152
mov eax, dword [0x1075004]
cmp eax, esi
je 0x104400a
test byte [eax + 0x1c], 4
je 0x104400a
cmp byte [eax + 0x19], 5
jb 0x104400a
push edi
push 0x29
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010090c5
push 0x7530
push ebx
push 2
call fcn.010246f0
jmp 0x1043fc7
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
test eax, eax
jne 0x104405a
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1044184
test byte [eax + 0x1c], 4
je 0x1044184
cmp byte [eax + 0x19], 2
jb 0x1044184
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push 0x28
jmp 0x1044171
mov eax, dword [ebp - 0x10]
push dword [ebp - 8]
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 4], ebx
je 0x104409a
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1043a79
test byte [eax + 0x1c], 4
je 0x1043a79
cmp byte [eax + 0x19], 2
jb 0x1043a79
push dword [ebp - 4]
push edi
push 0x2b
jmp 0x1043d49
push 0x40007d01
push ebx
push 3
push 1
call fcn.0105dbc9
add esp, 0x10
push dword [0x1077bd0]
push 0x1003128
call fcn.01025a58
mov dword [ebp - 4], eax
cmp eax, ebx
je 0x10440f3
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1043a51
test byte [eax + 0x1c], 4
je 0x1043a51
cmp byte [eax + 0x19], 2
jb 0x1043a51
push dword [ebp - 4]
push 0x100300c
push 0x2c
jmp 0x1043b01
lea eax, [ebp - 0x14]
push eax
push ebx
push ebx
push 0x1042dec
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x1077fc4], eax
cmp eax, ebx
jne 0x104414b
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1043a51
test byte [eax + 0x1c], 4
je 0x1043a51
cmp byte [eax + 0x19], 2
jb 0x1043a51
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x100300c
mov dword [ebp - 4], eax
mov eax, dword [0x1075004]
push 0x2d
jmp 0x1043b01
xor eax, eax
jmp 0x1043a7c
mov eax, dword [0x1075004]
cmp eax, esi
je 0x1044184
test byte [eax + 0x1c], 4
je 0x1044184
cmp byte [eax + 0x19], 2
jb 0x1044184
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push edi
push 0x2a
mov dword [ebp - 4], eax
mov eax, dword [0x1075004]
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0102ca9d
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1043a79