Function at 0x140005510
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
xor r14d, r14d
mov r15, r9
cmp dword [0x140043580], r14d
mov r12d, r8d
mov r13, rdx
mov qword [rbp - 0x20], r14
jne 0x140005571
lea r8, str.KfCallAddr___ERROR:_Not_initialized_n
mov edx, 0x1dc
lea rcx, str.C:Users_adminDocumentsKforge2kforge_librarykforge_library.cpp
call fcn.140007260
xor eax, eax
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
cmp r12d, 0xd
jbe 0x1400055a2
lea r8, str.KfCallAddr___ERROR:_Too_many_arguments_n
mov edx, 0x1e2
lea rcx, str.C:Users_adminDocumentsKforge2kforge_librarykforge_library.cpp
call fcn.140007260
xor eax, eax
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov qword [rbp - 0x28], rax
test rax, rax
jne 0x1400055e1
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.CreateEvent___ERROR__d_n
mov edx, 0x1e9
mov r9d, eax
lea rcx, str.C:Users_adminDocumentsKforge2kforge_librarykforge_library.cpp
call fcn.140007260
jmp 0x14000604c
lea rcx, [rbp - 0x50]
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0x28], rcx
lea r8, [0x1400054f0]
xor ecx, ecx
mov qword [rsp + 0x70], rdi
mov r9, rax
mov dword [rbp - 0x50], r14d
xor edx, edx
mov dword [rsp + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbp - 0x40], rax
test rax, rax
jne 0x140005647
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.CreateThread___ERROR__d_n
mov edx, 0x1f2
mov r9d, eax
lea rcx, str.C:Users_adminDocumentsKforge2kforge_librarykforge_library.cpp
call fcn.140007260
mov rdi, qword [rbp - 0x28]
jmp 0x140006024
mov qword [rsp + 0x78], rsi
nop dword [rax]
mov edi, dword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, 5
mov ebx, eax
mov esi, 0xffffffff
call fcn.1400070d0
mov r10, rax
test rax, rax
je 0x140005fa4
mov rdx, rax
cmp qword [rax + 0x50], rbx
je 0x14000568f
nop
mov eax, dword [rdx]
test eax, eax
je 0x1400056c4
add rdx, rax
cmp qword [rdx + 0x50], rbx
jne 0x140005680
mov r8d, dword [rdx + 4]
mov ecx, r14d
test r8d, r8d
je 0x1400056c4
lea rax, [rdx + 0x130]
cmp qword [rax], rdi
je 0x1400056b4
inc ecx
add rax, 0x50
cmp ecx, r8d
jb 0x1400056a2
jmp 0x1400056c4
mov eax, ecx
lea rcx, [rax + rax*4]
add rcx, rcx
mov esi, dword [rdx + rcx*8 + 0x144]
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_LocalFree]
cmp esi, 0xffffffff
je 0x140005fa4
cmp esi, 5
je 0x1400056e6
call qword [sym.imp.KERNEL32.dll_SwitchToThread]
jmp 0x140005650
mov ecx, 0x10
mov r15, r14
call fcn.1400070d0
mov rsi, rax
test rax, rax
je 0x140005f86
mov ebx, r14d
cmp dword [rax], ebx
jbe 0x140005740
nop word [rax + rax]
mov eax, ebx
lea rcx, [rax + rax*2]
lea rdi, [rsi + rcx*8]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, eax
movzx eax, word [rdi + 8]
cmp eax, ecx
jne 0x140005734
mov rax, qword [rbp - 0x40]
cmp word [rdi + 0xe], ax
je 0x14000573c
inc ebx
cmp ebx, dword [rsi]
jb 0x140005710
jmp 0x140005740
mov r15, qword [rdi + 0x10]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
test r15, r15
je 0x140005f86
cmp qword [0x140043598], r14
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x48], r14
jne 0x140005790
lea r8, str.DriverMemRead___ERROR:_Not_initialized_n
mov edx, 0x169
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemReadPtr___fails_n
mov edx, 0x21f
jmp 0x140005f92
lea rdx, [r15 + 0x38]
lea r8, [rbp - 0x48]
call fcn.1400073f0
test eax, eax
je 0x14000577f
mov rdx, qword [rbp - 0x48]
lea r9, [rbp - 0x38]
mov r8d, 8
call fcn.140007fe0
test eax, eax
je 0x14000577f
cmp qword [0x140043598], r14
mov qword [rbp - 0x48], r14
jne 0x1400057ee
lea r8, str.DriverMemRead___ERROR:_Not_initialized_n
mov edx, 0x169
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemReadPtr___fails_n
mov edx, 0x226
jmp 0x140005f92
lea rdx, [r15 + 0x58]
lea r8, [rbp - 0x48]
call fcn.1400073f0
test eax, eax
je 0x1400057dd
mov rdx, qword [rbp - 0x48]
lea r9, [rbp - 0x30]
mov r8d, 8
call fcn.140007fe0
test eax, eax
je 0x1400057dd
mov rbx, qword [rbp - 0x38]
mov rdi, qword [rbp - 0x30]
add rbx, 0xfffffffffffffff8
cmp rbx, rdi
jbe 0x14000589b
nop word [rax + rax]
cmp qword [0x140043598], r14
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], r14
je 0x140005f60
lea r8, [rbp - 0x30]
mov rdx, rbx
call fcn.1400073f0
test eax, eax
je 0x140005f78
mov rdx, qword [rbp - 0x30]
lea r9, [rbp - 0x38]
mov r8d, 8
call fcn.140007fe0
test eax, eax
je 0x140005f78
mov rcx, qword [rbp - 0x38]
mov rdx, qword [0x140043500]
cmp rcx, rdx
jbe 0x140005892
mov eax, dword [0x140043508]
add rax, rdx
cmp rcx, rax
jb 0x1400058ac
sub rbx, 8
cmp rbx, rdi
ja 0x140005830
lea r8, str.KfCallAddr___ERROR:_Unable_to_locate_return_address_n
mov edx, 0x253
jmp 0x140005f92
test rbx, rbx
je 0x14000589b
cmp qword [0x140043598], r14
mov rax, qword [0x140043510]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], r14
jne 0x1400058f2
lea r8, str.DriverMemWrite___ERROR:_Not_initialized_n
mov edx, 0x151
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x267
jmp 0x140005f92
lea r8, [rbp - 0x30]
mov rdx, rbx
call fcn.1400073f0
test eax, eax
je 0x1400058e1
mov rdx, qword [rbp - 0x30]
lea r9, [rbp - 0x38]
call fcn.1400081b0
test eax, eax
je 0x1400058e1
cmp qword [0x140043598], r14
mov rax, qword [rbp + 0x30]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], r14
jne 0x140005951
lea r8, str.DriverMemWrite___ERROR:_Not_initialized_n
mov edx, 0x151
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x26a
jmp 0x140005f92
lea rdx, [rbx + 0x28]
lea r8, [rbp - 0x30]
call fcn.1400073f0
test eax, eax
je 0x140005940
mov rdx, qword [rbp - 0x30]
lea r9, [rbp - 0x38]
call fcn.1400081b0
test eax, eax
je 0x140005940
test r12d, r12d
je 0x1400059e9
cmp qword [0x140043598], r14
mov rax, qword [r13]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], r14
jne 0x1400059b6
lea r8, str.DriverMemWrite___ERROR:_Not_initialized_n
mov edx, 0x151
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x26f
jmp 0x140005f92
lea rdx, [rbx + 0x30]
lea r8, [rbp - 0x30]
call fcn.1400073f0
test eax, eax
je 0x1400059d8
mov rdx, qword [rbp - 0x30]
lea r9, [rbp - 0x38]
call fcn.1400081b0
test eax, eax
jne 0x1400059e9
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x26f
jmp 0x140005f92
cmp r12d, 1
jbe 0x140005a60
cmp qword [0x140043598], r14
mov rax, qword [r13 + 8]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], r14
jne 0x140005a2d
lea r8, str.DriverMemWrite___ERROR:_Not_initialized_n
mov edx, 0x151
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x275
jmp 0x140005f92
lea rdx, [rbx + 0x38]
lea r8, [rbp - 0x30]
call fcn.1400073f0
test eax, eax
je 0x140005a4f
mov rdx, qword [rbp - 0x30]
lea r9, [rbp - 0x38]
call fcn.1400081b0
test eax, eax
jne 0x140005a60
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x275
jmp 0x140005f92
cmp r12d, 2
jbe 0x140005ad7
cmp qword [0x140043598], r14
mov rax, qword [r13 + 0x10]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], r14
jne 0x140005aa4
lea r8, str.DriverMemWrite___ERROR:_Not_initialized_n
mov edx, 0x151
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x27b
jmp 0x140005f92
lea rdx, [rbx + 0x40]
lea r8, [rbp - 0x30]
call fcn.1400073f0
test eax, eax
je 0x140005ac6
mov rdx, qword [rbp - 0x30]
lea r9, [rbp - 0x38]
call fcn.1400081b0
test eax, eax
jne 0x140005ad7
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x27b
jmp 0x140005f92
cmp r12d, 3
jbe 0x140005b4e
cmp qword [0x140043598], r14
mov rax, qword [r13 + 0x18]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], r14
jne 0x140005b1b
lea r8, str.DriverMemWrite___ERROR:_Not_initialized_n
mov edx, 0x151
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x281
jmp 0x140005f92
lea rdx, [rbx + 0x48]
lea r8, [rbp - 0x30]
call fcn.1400073f0
test eax, eax
je 0x140005b3d
mov rdx, qword [rbp - 0x30]
lea r9, [rbp - 0x38]
call fcn.1400081b0
test eax, eax
jne 0x140005b4e
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x281
jmp 0x140005f92
cmp qword [0x140043598], r14
mov rax, qword [0x140043560]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], r14
jne 0x140005b8f
lea r8, str.DriverMemWrite___ERROR:_Not_initialized_n
mov edx, 0x151
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x285
jmp 0x140005f92
lea rdx, [rbx + 0x50]
lea r8, [rbp - 0x30]
call fcn.1400073f0
test eax, eax
je 0x140005b7e
mov rdx, qword [rbp - 0x30]
lea r9, [rbp - 0x38]
call fcn.1400081b0
test eax, eax
je 0x140005b7e
mov edi, 4
cmp r12d, edi
jbe 0x140005c07
lea rsi, [r13 + 0x20]
nop
cmp qword [0x140043598], r14
mov rax, qword [rsi]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], r14
je 0x140005c48
lea edx, [rdi*8 + 0x58]
add rdx, rbx
lea r8, [rbp - 0x30]
call fcn.1400073f0
test eax, eax
je 0x140005c60
mov rdx, qword [rbp - 0x30]
lea r9, [rbp - 0x38]
call fcn.1400081b0
test eax, eax
je 0x140005c60
inc edi
add rsi, 8
cmp edi, r12d
jb 0x140005bc0
cmp qword [0x140043598], r14
mov rax, qword [0x140043570]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], r14
jne 0x140005c71
lea r8, str.DriverMemWrite___ERROR:_Not_initialized_n
mov edx, 0x151
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x28e
jmp 0x140005f92
lea r8, str.DriverMemWrite___ERROR:_Not_initialized_n
mov edx, 0x151
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x28a
jmp 0x140005f92
lea rdx, [rbx + 0xc0]
lea r8, [rbp - 0x30]
call fcn.1400073f0
test eax, eax
je 0x140005c37
mov rdx, qword [rbp - 0x30]
lea r9, [rbp - 0x38]
call fcn.1400081b0
test eax, eax
je 0x140005c37
cmp qword [0x140043598], r14
lea rax, [rbp - 0x20]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], r14
jne 0x140005cd4
lea r8, str.DriverMemWrite___ERROR:_Not_initialized_n
mov edx, 0x151
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x28f
jmp 0x140005f92
lea rdx, [rbx + 0xc8]
lea r8, [rbp - 0x30]
call fcn.1400073f0
test eax, eax
je 0x140005cc3
mov rdx, qword [rbp - 0x30]
lea r9, [rbp - 0x38]
call fcn.1400081b0
test eax, eax
je 0x140005cc3
cmp qword [0x140043598], r14
mov rax, qword [0x140043588]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], r14
jne 0x140005d3a
lea r8, str.DriverMemWrite___ERROR:_Not_initialized_n
mov edx, 0x151
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x292
jmp 0x140005f92
lea rdx, [rbx + 0xd0]
lea r8, [rbp - 0x30]
call fcn.1400073f0
test eax, eax
je 0x140005d29
mov rdx, qword [rbp - 0x30]
lea r9, [rbp - 0x38]
call fcn.1400081b0
test eax, eax
je 0x140005d29
cmp qword [0x140043598], r14
mov rax, qword [0x140043568]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], r14
jne 0x140005da0
lea r8, str.DriverMemWrite___ERROR:_Not_initialized_n
mov edx, 0x151
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x295
jmp 0x140005f92
lea rdx, [rbx + 0xd8]
lea r8, [rbp - 0x30]
call fcn.1400073f0
test eax, eax
je 0x140005d8f
mov rdx, qword [rbp - 0x30]
lea r9, [rbp - 0x38]
call fcn.1400081b0
test eax, eax
je 0x140005d8f
cmp qword [0x140043598], r14
mov rax, qword [0x140043510]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], r14
jne 0x140005e06
lea r8, str.DriverMemWrite___ERROR:_Not_initialized_n
mov edx, 0x151
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x298
jmp 0x140005f92
lea rdx, [rbx + 0xe0]
lea r8, [rbp - 0x30]
call fcn.1400073f0
test eax, eax
je 0x140005df5
mov rdx, qword [rbp - 0x30]
lea r9, [rbp - 0x38]
call fcn.1400081b0
test eax, eax
je 0x140005df5
cmp qword [0x140043598], r14
mov rax, qword [0x140043518]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], r14
jne 0x140005e6c
lea r8, str.DriverMemWrite___ERROR:_Not_initialized_n
mov edx, 0x151
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x29b
jmp 0x140005f92
lea rdx, [rbx + 0x108]
lea r8, [rbp - 0x30]
call fcn.1400073f0
test eax, eax
je 0x140005e5b
mov rdx, qword [rbp - 0x30]
lea r9, [rbp - 0x38]
call fcn.1400081b0
test eax, eax
je 0x140005e5b
cmp qword [0x140043598], r14
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], r14
jne 0x140005ecf
lea r8, str.DriverMemWrite___ERROR:_Not_initialized_n
mov edx, 0x151
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x29c
jmp 0x140005f92
lea rdx, [rbx + 0x110]
lea r8, [rbp - 0x30]
call fcn.1400073f0
test eax, eax
je 0x140005ebe
mov rdx, qword [rbp - 0x30]
lea r9, [rbp - 0x38]
call fcn.1400081b0
test eax, eax
je 0x140005ebe
cmp qword [0x140043598], r14
mov qword [rbp - 0x38], 0x1337
mov qword [rbp - 0x30], r14
jne 0x140005f2f
lea r8, str.DriverMemWrite___ERROR:_Not_initialized_n
mov edx, 0x151
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemWritePtr___fails_n
mov edx, 0x29d
jmp 0x140005f92
lea rdx, [rbx + 0x118]
lea r8, [rbp - 0x30]
call fcn.1400073f0
test eax, eax
je 0x140005f21
mov rdx, qword [rbp - 0x30]
lea r9, [rbp - 0x38]
call fcn.1400081b0
test eax, eax
je 0x140005f21
call qword [sym.imp.KERNEL32.dll_SwitchToThread]
mov r15, qword [rbp + 0x48]
jmp 0x140005fbc
lea r8, str.DriverMemRead___ERROR:_Not_initialized_n
mov edx, 0x169
lea rcx, str.C:Users_adminDocumentsKforge2kforge_driverkforge_driver.cpp
call fcn.140007260
lea r8, str.KfCallAddr___ERROR:_DriverMemReadPtr___fails_n
mov edx, 0x23d
jmp 0x140005f92
lea r8, str.KfCallAddr___ERROR:_GetObjectAddress___fails_n
mov edx, 0x20f
lea rcx, str.C:Users_adminDocumentsKforge2kforge_librarykforge_library.cpp
call fcn.140007260
mov r15, qword [rbp + 0x48]
jmp 0x140005fbc
lea r8, str.KfCallAddr___ERROR:_GetThreadState___fails_n
mov edx, 0x1fc
lea rcx, str.C:Users_adminDocumentsKforge2kforge_librarykforge_library.cpp
call fcn.140007260
mov rdi, qword [rbp - 0x28]
mov rcx, rdi
mov dword [rbp - 0x48], r14d
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [rbp - 0x40]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rbp - 0x40]
lea rdx, [rbp - 0x48]
call qword [sym.imp.KERNEL32.dll_GetExitCodeThread]
cmp dword [rbp - 0x48], 0x1337
mov rsi, qword [rsp + 0x78]
jne 0x14000600c
test r15, r15
je 0x140006004
mov rax, qword [rbp - 0x20]
mov qword [r15], rax
mov r14d, 1
jmp 0x140006024
lea r8, str.KfCallAddr___ERROR:_Something_went_wrong_n
mov edx, 0x2bc
lea rcx, str.C:Users_adminDocumentsKforge2kforge_librarykforge_library.cpp
call fcn.140007260
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rbp - 0x40]
mov rdi, qword [rsp + 0x70]
test rax, rax
je 0x140006044
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0xb8]
mov eax, r14d
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rbp
ret