Function at 0x180001000
Capabilities:
Load assembly via iassembly
Resolve function by parsing pe exports

Disassembly:
cmp dword [0x18002d1f8], 0
jne 0x180001026
mov rax, qword [0x18002cfb0]
mov qword [0x18002cfb8], rax
mov dword [0x18002d1f8], 1
jmp 0x180001060
mov ecx, 0xffffffff
jmp qword [sym.imp.KERNEL32.dll_Sleep]
push rbp
push r15
lea rbp, [rsp - 0x318]
sub rsp, 0x418
mov eax, dword [0x18002ba50]
xor r15d, r15d
add rax, 0x44
cmp rax, 0x310
ja 0x180001923
xorps xmm0, xmm0
lea r8, [rsp + 0x40]
lea edx, [r15 + 0x34]
lea rcx, [0x18002ba20]
movups xmmword [rsp + 0x40], xmm0
call fcn.180009950
mov rax, qword [0x18002ba10]
cmp rax, qword [rsp + 0x40]
jne 0x180001923
mov rax, qword [0x18002ba18]
cmp rax, qword [rsp + 0x48]
jne 0x180001923
mov edx, dword [0x18002ba50]
lea r8, [rsp + 0x40]
xorps xmm0, xmm0
mov qword [rsp + 0x410], rbx
lea rbx, [0x18002ba54]
mov rcx, rbx
movups xmmword [rsp + 0x40], xmm0
call fcn.180009950
mov rax, qword [0x18002ba40]
cmp rax, qword [rsp + 0x40]
jne 0x18000191b
mov rax, qword [0x18002ba48]
cmp rax, qword [rsp + 0x48]
jne 0x18000191b
mov eax, dword [0x18002ba50]
lea r9, [0x18002ba30]
mov qword [rsp + 0x30], rbx
lea r8d, [r15 + 0x10]
mov qword [rsp + 0x28], rax
lea rdx, [0x18002ba20]
xor ecx, ecx
mov qword [rsp + 0x20], rbx
call fcn.180008bb0
test eax, eax
je 0x18000191b
mov qword [0x18002d1f0], rbx
call fcn.180001960
test eax, eax
je 0x18000191b
mov qword [rsp + 0x408], rsi
mov qword [rsp + 0x400], rdi
mov qword [rsp + 0x3f0], r14
call fcn.180007a90
mov rax, qword gs:[0x30]
mov rcx, qword [rax + 0x60]
mov r14, qword [rcx + 0x18]
add r14, 0x20
mov rbx, qword [r14]
cmp rbx, r14
je 0x180001325
mov qword [rsp + 0x3f8], r12
mov r12d, 0x2000
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rbx + 0x58]
mov rsi, qword [rbx + 0x20]
and eax, 0x60000000
mov rdi, qword [rbx + 0x40]
cmp eax, 0x20000000
je 0x180001311
movsxd rax, dword [rsi + 0x3c]
test word [rax + rsi + 0x16], r12w
je 0x180001311
xor edx, edx
lea rcx, [rbp + 0xe0]
mov r8d, 0x208
call fcn.18000c580
mov r8, rdi
lea rcx, [rbp + 0xe0]
mov edx, 0x104
call fcn.18000eb40
lea rcx, [rbp + 0xe0]
mov rax, 0xffffffffffffffff
cmp word [rcx + rax*2 + 2], r15w
lea rax, [rax + 1]
jne 0x180001221
lea rcx, [rbp + 0xe0]
lea rcx, [rcx + rax*2]
lea rax, [rbp + 0xe0]
cmp rcx, rax
jb 0x18000129a
movzx eax, word [rcx]
cmp ax, 0x5c
je 0x180001265
cmp ax, 0x2f
je 0x180001265
sub rcx, 2
lea rax, [rbp + 0xe0]
cmp rcx, rax
jae 0x180001244
jmp 0x18000129a
lea rax, [rbp + 0xe0]
mov word [rcx], r15w
cmp rcx, rax
jb 0x18000129a
movzx eax, word [rcx]
cmp ax, 0x5c
je 0x180001296
cmp ax, 0x2f
je 0x180001296
sub rcx, 2
lea rax, [rbp + 0xe0]
cmp rcx, rax
jae 0x180001275
jmp 0x18000129a
add rcx, 2
lea rdx, str.system32
call fcn.1800112a0
test eax, eax
jne 0x180001311
mov rdx, rdi
mov rcx, rsi
call fcn.180006fa0
mov rdi, rax
test rax, rax
je 0x180001303
mov rdx, rax
mov rcx, rsi
call fcn.1800071d0
mov rcx, qword [0x18002ba00]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rcx + 0xf8]
call fcn.180002ff0
mov rcx, qword [0x18002ba00]
xor edx, edx
mov qword [rsp + 0x28], rdi
mov r9, rax
mov qword [rsp + 0x20], r15
mov rcx, qword [rcx + 0x28]
lea r8d, [rdx + 3]
call fcn.180002ff0
and dword [rbx + 0x58], 0xbfffffff
or dword [rbx + 0x58], 0x20000000
mov rbx, qword [rbx]
cmp rbx, r14
jne 0x1800011c0
mov r12, qword [rsp + 0x3f8]
xor edx, edx
mov dword [rbp - 0x40], 0x11c
mov r8d, 0x118
lea rcx, [rbp - 0x3c]
call fcn.18000c580
mov rcx, qword [0x18002ba00]
lea r9, [rbp - 0x40]
xor edx, edx
mov rcx, qword [rcx + 0xa8]
lea r8d, [rdx + 1]
call fcn.180002ff0
movzx eax, byte [rbp - 0x38]
movzx ecx, byte [rbp - 0x3c]
shl cx, 8
or cx, ax
mov eax, 0x602
cmp cx, ax
jbe 0x18000154a
call fcn.180008470
test eax, eax
je 0x18000154a
call fcn.1800086d0
mov rbx, rax
test rax, rax
je 0x180001903
mov rcx, qword [0x18002ba00]
xor edx, edx
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x330]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x348]
mov dword [rsp + 0x30], 0x40
mov rcx, qword [rcx + 0x38]
lea r9, [rdx - 1]
mov qword [rsp + 0x28], rax
lea r8d, [rdx + 5]
lea rax, [rsp + 0x50]
mov dword [rbp + 0x330], r15d
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x348], 5
call fcn.180002ff0
mov eax, dword [0x18002bd34]
xor edx, edx
mov rcx, qword [0x18002ba00]
mov dword [rbx], eax
movzx eax, byte [0x18002bd38]
mov byte [rbx + 4], al
lea r9, [rdx - 1]
mov rcx, qword [rcx + 0x38]
lea rax, [rbp + 0x330]
mov qword [rsp + 0x38], rax
lea r8d, [rdx + 5]
mov eax, dword [rbp + 0x330]
mov dword [rsp + 0x30], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x58], 5
mov qword [rsp + 0x60], rbx
call fcn.180002ff0
call fcn.180008970
mov rdx, rax
test rax, rax
je 0x18000154a
mov eax, 0x8b48
cmp word [rdx], ax
jne 0x18000154a
cmp byte [rdx + 2], 5
jne 0x18000154a
cmp dword [rdx + 7], 0x48d18b48
jne 0x18000154a
movsxd rax, dword [rdx + 3]
lea rdi, [rdx + 7]
movsxd rcx, dword [rdx + 0xd]
lea rbx, [rdx + 0x11]
add rdi, rax
mov dword [rbp + 0x338], r15d
add rbx, rcx
mov qword [rsp + 0x68], 8
mov rcx, qword [0x18002ba00]
lea rax, [rbp + 0x338]
mov qword [rsp + 0x38], rax
xor edx, edx
lea rax, [rsp + 0x68]
mov dword [rsp + 0x30], 0x40
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
mov rcx, qword [rcx + 0x38]
lea r9, [rdx - 1]
mov qword [rsp + 0x20], rax
lea r8d, [rdx + 5]
mov qword [rsp + 0x70], rdi
call fcn.180002ff0
mov rcx, qword [0x18002ba00]
lea rax, [rbp + 0x338]
mov qword [rsp + 0x38], rax
xor edx, edx
mov qword [rdi], rbx
mov eax, dword [rbp + 0x338]
mov rcx, qword [rcx + 0x38]
mov dword [rsp + 0x30], eax
lea r9, [rdx - 1]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x78], 8
mov qword [rsp + 0x28], rax
lea r8d, [rdx + 5]
lea rax, [rbp - 0x80]
mov qword [rbp - 0x80], rdi
mov qword [rsp + 0x20], rax
call fcn.180002ff0
call fcn.180006ba0
test eax, eax
je 0x180001903
lea rcx, [rbp + 0x340]
mov qword [rbp + 0x340], r15
call fcn.180001fc0
test eax, eax
je 0x180001903
mov rcx, qword [0x18002ba00]
lea r9, [0x18002f470]
xor edx, edx
mov rcx, qword [rcx + 0xb8]
lea r8d, [rdx + 1]
call fcn.180002ff0
mov rdi, qword [rbp + 0x340]
lea r14, [0x18002f460]
mov qword [0x18002f468], r14
mov qword [0x18002f460], r14
mov edx, dword [rdi]
lea rcx, [rdi + 4]
call fcn.1800064e0
mov r8d, dword [rdi]
lea rcx, [rdi + 4]
xor edx, edx
mov rsi, rax
call fcn.18000c580
mov rcx, qword [0x18002ba00]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rcx + 0xf8]
call fcn.180002ff0
mov rcx, qword [0x18002ba00]
xor edx, edx
mov qword [rsp + 0x28], rdi
mov r9, rax
mov qword [rsp + 0x20], r15
mov rcx, qword [rcx + 0x28]
lea r8d, [rdx + 3]
call fcn.180002ff0
test rsi, rsi
je 0x1800017e0
movsxd r8, dword [rsi + 0x3c]
mov edx, r8d
mov r9d, dword [r8 + rsi + 0x88]
mov r10d, dword [r9 + rsi + 0x10]
cmp r10d, 1
ja 0x180001693
mov ecx, dword [r9 + rsi + 0x14]
add ecx, r10d
cmp ecx, 1
jbe 0x180001693
mov ecx, dword [r9 + rsi + 0x1c]
mov eax, 1
sub eax, r10d
add rcx, rsi
mov eax, dword [rcx + rax*4]
test eax, eax
je 0x180001693
mov r9d, eax
add r9, rsi
je 0x180001693
mov rcx, qword [0x18002d1f0]
mov rax, qword [0x18002cfb8]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x44], r15d
mov eax, dword [rcx + 0x2a6]
mov dword [rbp - 0x50], eax
mov eax, dword [rcx + 0x2aa]
mov dword [rbp - 0x4c], eax
mov eax, dword [rcx + 0x2ae]
lea rcx, [rbp - 0x60]
mov qword [rbp - 0x60], rsi
mov dword [rbp - 0x48], eax
call r9
mov edx, dword [rsi + 0x3c]
movsxd rax, edx
xor r8d, r8d
xor edx, edx
mov rcx, rsi
mov r9d, dword [rax + rsi + 0x28]
add r9, rsi
call r9
mov rcx, qword [0x18002ba00]
lea r9, [0x18002f470]
xor edx, edx
mov rbx, r15
mov rcx, qword [rcx + 0xc8]
lea r8d, [rdx + 1]
call fcn.180002ff0
mov rax, qword [0x18002f460]
cmp rax, r14
je 0x180001724
nop dword [rax + rax]
mov rcx, qword [rax]
cmp qword [rax + 0x10], rsi
je 0x180001716
mov rax, rcx
cmp rcx, r14
jne 0x1800016e0
mov rcx, qword [0x18002ba00]
lea r9, [0x18002f470]
xor edx, edx
mov rcx, qword [rcx + 0xd8]
lea r8d, [rdx + 1]
call fcn.180002ff0
jmp 0x1800017e0
mov rbx, rax
mov rax, qword [rax + 8]
mov qword [rax], rcx
mov qword [rcx + 8], rax
mov rcx, qword [0x18002ba00]
lea r9, [0x18002f470]
xor edx, edx
mov rcx, qword [rcx + 0xd8]
lea r8d, [rdx + 1]
call fcn.180002ff0
test rbx, rbx
je 0x1800017e0
mov eax, dword [rbx + 0x18]
cmp eax, 1
jne 0x180001760
mov rcx, qword [rbx + 0x20]
call fcn.1800032d0
jmp 0x1800017a5
cmp eax, 2
jne 0x1800017a5
mov rax, qword [rbx + 0x10]
xor edx, edx
mov rcx, qword [0x18002ba00]
mov qword [rbp - 0x70], rax
lea rax, [rbp - 0x78]
mov dword [rsp + 0x30], 0x8000
mov qword [rsp + 0x28], rax
lea r9, [rdx - 1]
mov rcx, qword [rcx + 0x40]
lea rax, [rbp - 0x70]
lea r8d, [rdx + 4]
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x78], r15
call fcn.180002ff0
mov rcx, qword [0x18002ba00]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rcx + 0xf8]
call fcn.180002ff0
mov rcx, qword [0x18002ba00]
xor edx, edx
mov qword [rsp + 0x28], rbx
mov r9, rax
mov qword [rsp + 0x20], r15
mov rcx, qword [rcx + 0x28]
lea r8d, [rdx + 3]
call fcn.180002ff0
mov rcx, qword [0x18002ba00]
lea r9, [0x18002f470]
xor edx, edx
mov rcx, qword [rcx + 0xc8]
lea r8d, [rdx + 1]
call fcn.180002ff0
mov rbx, qword [0x18002f460]
cmp rbx, r14
je 0x1800018c3
mov rax, qword [rbx + 8]
mov rcx, qword [rbx]
mov qword [rax], rcx
mov qword [rcx + 8], rax
mov eax, dword [rbx + 0x18]
cmp eax, 1
jne 0x180001831
mov rcx, qword [rbx + 0x20]
call fcn.1800032d0
jmp 0x180001878
cmp eax, 2
jne 0x180001878
mov rax, qword [rbx + 0x10]
xor edx, edx
mov rcx, qword [0x18002ba00]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x68]
mov dword [rsp + 0x30], 0x8000
mov qword [rsp + 0x28], rax
lea r9, [rdx - 1]
lea rax, [rsp + 0x40]
mov qword [rbp - 0x68], r15
mov rcx, qword [rcx + 0x40]
lea r8d, [rdx + 4]
mov qword [rsp + 0x20], rax
call fcn.180002ff0
mov rcx, qword [0x18002ba00]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rcx + 0xf8]
call fcn.180002ff0
mov rcx, qword [0x18002ba00]
xor edx, edx
mov qword [rsp + 0x28], rbx
mov r9, rax
mov qword [rsp + 0x20], r15
mov rcx, qword [rcx + 0x28]
lea r8d, [rdx + 3]
call fcn.180002ff0
mov rbx, qword [0x18002f460]
cmp rbx, r14
jne 0x180001810
mov rcx, qword [0x18002ba00]
lea r9, [0x18002f470]
xor edx, edx
mov rcx, qword [rcx + 0xd8]
lea r8d, [rdx + 1]
call fcn.180002ff0
mov rcx, qword [0x18002ba00]
lea r9, [0x18002f470]
xor edx, edx
mov rcx, qword [rcx + 0xc0]
lea r8d, [rdx + 1]
call fcn.180002ff0
mov rdi, qword [rsp + 0x400]
mov rsi, qword [rsp + 0x408]
mov r14, qword [rsp + 0x3f0]
mov rbx, qword [rsp + 0x410]
mov rax, qword [0x18002d1f0]
cmp dword [rax + 0x2ae], r15d
je 0x180001955
mov rcx, qword [0x18002ba00]
xor edx, edx
mov qword [rsp + 0x20], r15
mov rcx, qword [rcx + 0x128]
lea r9, [rdx - 1]
lea r8d, [rdx + 2]
call fcn.180002ff0
add rsp, 0x418
pop r15
pop rbp
ret