Function at 0x140003430
Capabilities:
Resume thread

Disassembly:
push rbp
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x18], rdx
mov qword [rbp - 0x10], rcx
mov rax, qword [0x140021048]
xor rax, rbp
mov qword [rbp - 8], rax
mov ecx, dword [0x140021ad0]
mov eax, dword [0x140021ad4]
xor r8d, r8d
sub r8d, 1
mov edx, ecx
add edx, r8d
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete r11b
cmp eax, 0xa
setl r10b
mov cl, r11b
xor cl, 0xff
mov r8b, r10b
xor r8b, 0xff
mov dl, 1
xor dl, 0
mov al, cl
and al, 0
and r11b, dl
mov r9b, r8b
and r9b, 0
and r10b, dl
or al, r11b
or r9b, r10b
xor al, r9b
or cl, r8b
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x1400034c6
jmp 0x140003877
mov r8, qword [rbp - 0x10]
mov r10, qword [rbp - 0x20]
mov eax, 0x10
mov qword [rbp - 0x40], rax
call fcn.140005920
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov r9, rsp
mov qword [rbp - 0x38], r9
call fcn.140005920
sub rsp, rax
mov rcx, rsp
mov eax, 0x4d0
call fcn.140005920
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov rdx, rsp
mov qword [rbp - 0x30], rdx
mov qword [r9], r10
mov qword [rcx], r8
mov dword [rdx + 0x30], 0x100002
mov rcx, qword [rax + 8]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
add rsp, 0x20
cmp eax, 0
setne al
mov byte [rbp - 0x21], al
mov ecx, dword [0x140021ad0]
mov eax, dword [0x140021ad4]
xor r8d, r8d
sub r8d, 1
mov edx, ecx
add edx, r8d
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x140003574
jmp 0x140003877
mov al, byte [rbp - 0x21]
test al, 1
jne 0x14000360c
jmp 0x140003584
mov ecx, dword [0x140021ad0]
mov eax, dword [0x140021ad4]
xor r8d, r8d
sub r8d, 1
mov edx, ecx
add edx, r8d
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x1400035c3
jmp 0x1400038da
mov ecx, dword [0x140021ad0]
mov eax, dword [0x140021ad4]
mov edx, ecx
sub edx, 0xb6ad0157
sub edx, 1
add edx, 0xb6ad0157
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x140003607
jmp 0x1400038da
jmp 0x1400037ab
mov ecx, dword [0x140021ad0]
mov eax, dword [0x140021ad4]
mov edx, ecx
add edx, 0x9e13e99d
sub edx, 1
sub edx, 0x9e13e99d
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x140003650
jmp 0x1400038df
mov rdx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x38]
mov rcx, qword [rcx]
mov qword [rdx + 0x80], rcx
mov rcx, qword [rax + 8]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_SetThreadContext]
add rsp, 0x20
cmp eax, 0
setne al
mov byte [rbp - 0x41], al
mov ecx, dword [0x140021ad0]
mov eax, dword [0x140021ad4]
xor r8d, r8d
sub r8d, 1
mov edx, ecx
add edx, r8d
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x1400036c0
jmp 0x1400038df
mov al, byte [rbp - 0x41]
test al, 1
jne 0x1400036d5
jmp 0x1400036d0
jmp 0x1400037ab
mov ecx, dword [0x140021ad0]
mov eax, dword [0x140021ad4]
mov edx, ecx
sub edx, 0x4e09549
sub edx, 1
add edx, 0x4e09549
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete r11b
cmp eax, 0xa
setl r10b
mov cl, r11b
xor cl, 0xff
mov r8b, r10b
xor r8b, 0xff
mov dl, 1
xor dl, 0
mov al, cl
and al, 0
and r11b, dl
mov r9b, r8b
and r9b, 0
and r10b, dl
or al, r11b
or r9b, r10b
xor al, r9b
or cl, r8b
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x14000374c
jmp 0x14000390c
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax + 8]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_ResumeThread]
add rsp, 0x20
mov ecx, dword [0x140021ad0]
mov eax, dword [0x140021ad4]
mov edx, ecx
add edx, 0x367eee8a
sub edx, 1
sub edx, 0x367eee8a
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x1400037a6
jmp 0x14000390c
jmp 0x1400037ab
mov ecx, dword [0x140021ad0]
mov eax, dword [0x140021ad4]
xor r8d, r8d
sub r8d, 1
mov edx, ecx
add edx, r8d
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete r11b
cmp eax, 0xa
setl r10b
mov cl, r11b
xor cl, 0xff
mov r8b, r10b
xor r8b, 0xff
mov dl, 1
xor dl, 1
mov al, cl
and al, 0xff
and r11b, dl
mov r9b, r8b
and r9b, 0xff
and r10b, dl
or al, r11b
or r9b, r10b
xor al, r9b
or cl, r8b
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x14000381d
jmp 0x140003927
mov ecx, dword [0x140021ad0]
mov eax, dword [0x140021ad4]
mov edx, ecx
sub edx, 0xeda07553
sub edx, 1
add edx, 0xeda07553
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x140003861
jmp 0x140003927
mov rcx, qword [rbp - 8]
xor rcx, rbp
sub rsp, 0x20
call fcn.140005990
nop
mov rsp, rbp
pop rbp
ret
mov r8, qword [rbp - 0x10]
mov r10, qword [rbp - 0x20]
mov eax, 0x10
mov qword [rbp - 0x50], rax
call fcn.140005920
sub rsp, rax
mov rax, qword [rbp - 0x50]
mov r9, rsp
call fcn.140005920
sub rsp, rax
mov rcx, rsp
mov eax, 0x4d0
call fcn.140005920
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov rdx, rsp
mov qword [r9], r10
mov qword [rcx], r8
mov dword [rdx + 0x30], 0x100002
mov rcx, qword [rax + 8]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
add rsp, 0x20
jmp 0x1400034c6
jmp 0x1400035c3
mov rdx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x38]
mov rcx, qword [rcx]
mov qword [rdx + 0x80], rcx
mov rcx, qword [rax + 8]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_SetThreadContext]
add rsp, 0x20
jmp 0x140003650
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax + 8]
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_ResumeThread]
add rsp, 0x20
jmp 0x14000374c
jmp 0x14000381d