Function at 0x759c7be4
Capabilities:
Create thread

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, ecx
call fcn.759c8759
xor ebx, ebx
mov dword [ebp - 0xc], eax
cmp eax, ebx
je 0x759e8c5f
mov eax, dword [0x75bcc8ec]
push edi
xor edi, edi
cmp eax, ebx
je 0x759c7c13
cmp eax, 2
jne 0x759c7c20
call fcn.759c579b
test eax, eax
jne 0x759e8c69
push 1
lea ecx, [esi + 0x5c]
call fcn.759c83d5
mov dword [ebp - 8], eax
cmp eax, ebx
jne 0x759e8ca2
mov al, byte [ebp + 0x14]
mov ecx, dword [esi + 0x94]
mov byte [ebp - 1], al
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x84], eax
cmp ecx, ebx
jne 0x759e8d00
push 3
mov dword [esi + 0x94], edi
pop eax
mov dword [0x75bcc8c4], eax
mov dword [0x75bcc8c8], 0x96
mov byte [esi + 0xb9], bl
mov byte [esi + 0x8e], bl
cmp byte [ebp + 0x14], bl
jne 0x759c7c87
mov dword [esi + 0xbc], eax
mov byte [esi + 0xc1], bl
push ebx
mov ecx, esi
call fcn.759c8431
cmp eax, ebx
jne 0x759e8d0c
mov edi, dword [sym.imp.KERNEL32.dll_CreateEventW]
push ebx
push ebx
push ebx
push ebx
call edi
push ebx
push ebx
push ebx
push ebx
mov dword [esi + 0x28], eax
call edi
mov dword [esi + 0x30], eax
cmp dword [esi + 0x28], ebx
je 0x759c7ed5
cmp eax, ebx
je 0x759c7ed5
lea eax, [esi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push ebx
push 1
push 7
call fcn.759b3f62
imul eax, eax, 0x14
add esp, 0xc
cmp dword [0x75bcc8ec], 2
mov dword [0x75bcc918], eax
jne 0x759c7d16
cmp byte [ebp + 0x14], bl
jne 0x759c7d16
call fcn.759cf1a4
cmp dword [0x75bcca68], ebx
jne 0x759c7d16
push 0x20
call fcn.759c6f57
pop ecx
cmp eax, ebx
je 0x759c7ebd
mov ecx, eax
call fcn.759cea68
mov dword [0x75bcca68], eax
push dword [ebp + 0x10]
mov ecx, esi
push ebx
call fcn.759c7ee8
test al, al
je 0x759e8d1e
cmp byte [ebp + 0x14], bl
jne 0x759c7e64
mov eax, dword [ebp + 0xc]
test eax, 0x1000
jne 0x759e8d59
test eax, 0x4000
jne 0x759e8d67
test eax, 0x400
jne 0x759e8d78
test eax, 0x8000
jne 0x759e8d89
test eax, 0x800
jne 0x759e8d9a
mov dword [esi + 0x6c], eax
cmp byte [ebp + 8], bl
jne 0x759e8dab
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x6c]
cmp eax, 5
je 0x759e8df5
cmp eax, 3
je 0x759c7d9c
mov byte [ebp + 0x14], bl
cmp eax, 0x2000
jne 0x759c7da0
mov byte [ebp + 0x14], 1
movzx eax, byte [esi + 0x8a]
push eax
movzx eax, byte [esi + 0x89]
push eax
movzx eax, byte [esi + 0x88]
push eax
movzx eax, byte [esi + 0xc1]
push eax
movzx eax, byte [esi + 0x7c]
push eax
push dword [ebp + 0x14]
mov ecx, 0x75bccad8
push dword [0x75bc9490]
call fcn.759cac85
test al, al
je 0x759e8deb
lea edi, [esi + 0x8c]
cmp byte [edi], bl
jne 0x759c7df9
push ebx
call dword [0x75bc847c]
test eax, eax
jge 0x759e8dfd
test dword [0x75bc8da4], 0x1000
mov edi, 0xc000000
jne 0x759e8e05
test dword [0x75bc93d4], 0x1000
jne 0x759e8e1b
mov ecx, dword [0x75bcde24]
cmp ecx, ebx
jne 0x759e8e2c
mov ecx, dword [0x75bc8adc]
xor eax, eax
mov word [ecx], ax
mov ecx, dword [0x75bc8400]
mov word [ecx], ax
mov ecx, dword [0x75bc8c80]
mov word [ecx], ax
mov ecx, dword [0x75bc81f8]
mov word [ecx], ax
mov ecx, dword [0x75bc82e8]
mov word [ecx], ax
mov ecx, dword [0x75bc8b00]
mov word [ecx], ax
mov ecx, esi
call fcn.759cbfb4
cmp dword [esi + 0xac], 0xffffffff
jne 0x759c7e97
mov eax, dword [0x75bc8050]
cmp eax, 6
jg 0x759c7e91
jne 0x759e8e5b
mov eax, dword [0x75bc8030]
cmp eax, ebx
jle 0x759e8e4d
mov dword [esi + 0xac], ebx
push ebx
push 0x100
mov ecx, 0x75bc8c80
call fcn.759c5bb8
lea eax, [ebp - 1]
push eax
mov byte [esi + 0x55], 1
call fcn.759ca948
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0x10
mov dword [0x75bcca68], ebx
jmp 0x759c7d16
cmp eax, ebx
je 0x759c7e0e
jmp 0x759c7e2c
lea eax, [ebp - 1]
push eax
call fcn.759ca948
jmp 0x759e8e6d
mov eax, 0x65f
jmp 0x759c7eb7
push 0x58
call fcn.759c6f57
pop ecx
cmp eax, ebx
je 0x759e8c80
mov ecx, eax
call fcn.75b5c51d
mov edi, eax
jmp 0x759e8c82
xor edi, edi
cmp dword [0x75bcc8ec], ebx
jne 0x759c7c20
cmp edi, ebx
je 0x759c7c20
mov ecx, edi
call fcn.75b5c7d4
jmp 0x759c7c20
cmp eax, 0x652
jne 0x759e8ccf
cmp dword [0x75bc8ca8], ebx
je 0x759e8ccf
push ebx
push ebx
mov eax, 0x759b7ff8
push eax
push eax
push eax
push eax
push eax
push eax
push 0x759e8e78
push ebx
push ebx
push 9
call fcn.759c26bf
add esp, 0x30
cmp edi, ebx
je 0x759e8cf3
cmp dword [0x75bcc8ec], ebx
jne 0x759e8cea
push dword [ebp - 8]
mov ecx, edi
push 0xe27
call fcn.75b5c721
push 1
mov ecx, edi
call fcn.75acb303
call fcn.759c6f05
mov eax, dword [ebp - 8]
jmp 0x759c7eb6
push 1
call fcn.75acb303
jmp 0x759c7c52
mov edi, eax
lea eax, [ebp - 1]
push eax
call fcn.759ca948
mov eax, edi
jmp 0x759c7eb6
mov edi, 0x656
cmp dword [0x75bcc8ec], ebx
jne 0x759e8d0e
mov ecx, dword [esi + 0x94]
cmp ecx, ebx
je 0x759e8d0e
push edi
push 0xe27
call fcn.75b5c721
mov ecx, dword [esi + 0x94]
cmp ecx, ebx
je 0x759e8d51
push 1
call fcn.75acb303
mov dword [esi + 0x94], ebx
jmp 0x759e8d0e
mov byte [esi + 0x7c], 1
and eax, 0xffffefff
jmp 0x759c7d40
mov byte [esi + 0xc1], 1
and eax, 0xffffbfff
jmp 0x759c7d4b
mov byte [esi + 0x8a], 1
and eax, 0xfffffbff
jmp 0x759c7d56
mov byte [esi + 0x89], 1
and eax, 0xffff7fff
jmp 0x759c7d61
mov byte [esi + 0x88], 1
and eax, 0xfffff7ff
jmp 0x759c7d6c
push 0x54
call fcn.759c81d9
pop ecx
test al, al
je 0x759e8dc9
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
or dword [esi + 0x34], 0xffffffff
mov dword [esi + 0x38], eax
jmp 0x759c7df9
lea eax, [esi + 0x38]
push eax
push ebx
push esi
push 0x75ad204c
push 0xa000
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi + 0x34], eax
cmp eax, ebx
jne 0x759c7df9
mov edi, 0x65f
jmp 0x759e8d0e
mov dword [esi + 0x6c], ebx
jmp 0x759c7de0
mov byte [edi], 1
jmp 0x759c7df9
push dword [0x75bc82c8]
mov ecx, 0x75bc8d98
push edi
call fcn.75af59cd
jmp 0x759c7ec8
push ebx
push edi
mov ecx, 0x75bc93c8
call fcn.75afa502
jmp 0x759c7e1e
test dword [ecx + 0x42c], 0x1000
je 0x759c7e2c
push dword [0x75bc82c8]
push edi
call fcn.75b1491d
jmp 0x759c7e2c
jne 0x759e8e5b
cmp dword [0x75bcca80], ebx
jge 0x759c7e91
push ebx
call dword [0x75bc8480]
mov dword [esi + 0xac], eax
jmp 0x759c7e97
mov eax, 0x65f
jmp 0x759c7eb6