Function at 0x18000c3e0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp - 8], rax
xor ebx, ebx
mov r8d, ebx
mov dword [rbp - 0x30], ebx
mov edx, dword [0x1800148cc]
test edx, edx
je 0x18000c445
mov rcx, qword [0x1800148c0]
add rcx, 0x20
nop word [rax + rax]
test byte [rcx], 2
je 0x18000c471
inc r8d
mov dword [rbp - 0x30], r8d
add rcx, 0x38
cmp r8d, edx
jb 0x18000c430
mov eax, ebx
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.180010210
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
cmp r8d, 0xffffffff
je 0x18000c445
mov r14, rbx
mov qword [rbp - 0x48], rbx
mov r15d, ebx
mov esi, ebx
mov dword [rbp - 0x50], ebx
mov r13d, ebx
lea rcx, [rbp - 0x40]
call fcn.180001020
mov r8, rax
cmp byte [rax + 0xc], 0
jne 0x18000c502
mov r9d, ebx
lea rcx, [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r8 + 4]
lea r10d, [rax + 1]
mov edx, dword [r8]
cmp edx, r10d
je 0x18000c4e7
lea r10d, [rax + 2]
cmp edx, r10d
je 0x18000c4e7
cmp edx, eax
je 0x18000c4ef
lea r10d, [rax + 4]
cmp edx, r10d
jne 0x18000c4e0
add eax, 3
xor dword [rcx], eax
inc dword [r8]
jmp 0x18000c4b0
add eax, 5
cmp edx, eax
jne 0x18000c4f5
xor dword [rcx], r10d
inc dword [r8]
jmp 0x18000c4b0
lea eax, [r9 + 0x33]
xor dword [rcx], eax
inc r9d
add rcx, 4
cmp r9d, 1
jb 0x18000c4b0
mov byte [r8 + 0xc], 1
mov eax, dword [r8 + 0x10]
mov rax, qword gs:[rax]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x18000c596
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x18000c596
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x345fa352
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x18000c591
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x10dbd33
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x18000c570
cmp r8d, 0x974981da
je 0x18000c59b
test r9d, r9d
jne 0x18000c550
mov rax, qword [rax]
jmp 0x18000c520
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r8d, dword [rcx + rax*4]
add r8, r10
xor edx, edx
lea ecx, [rdx + 4]
call r8
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x18000d947
mov dword [rbp - 0x28], 0x1c
lea rcx, [rbp - 0x3f]
call fcn.180001020
mov r8, rax
cmp byte [rax + 0xc], 0
jne 0x18000c642
lea rcx, [rax + 0x10]
xor r9d, r9d
nop dword [rax + rax]
mov eax, dword [r8 + 4]
lea r10d, [rax + 1]
mov edx, dword [r8]
cmp edx, r10d
je 0x18000c627
lea r10d, [rax + 2]
cmp edx, r10d
je 0x18000c627
cmp edx, eax
je 0x18000c62f
lea r10d, [rax + 4]
cmp edx, r10d
jne 0x18000c620
add eax, 3
xor dword [rcx], eax
inc dword [r8]
jmp 0x18000c5f0
add eax, 5
cmp edx, eax
jne 0x18000c635
xor dword [rcx], r10d
inc dword [r8]
jmp 0x18000c5f0
lea eax, [r9 + 0x33]
xor dword [rcx], eax
inc r9d
add rcx, 4
cmp r9d, 1
jb 0x18000c5f0
mov byte [r8 + 0xc], 1
mov eax, dword [r8 + 0x10]
mov rax, qword gs:[rax]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x18000c6d6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x18000c6d6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x5d9eec
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x18000c6d1
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x10dbd33
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x18000c6b0
cmp r8d, 0xec9c7871
je 0x18000c6db
test r9d, r9d
jne 0x18000c690
mov rax, qword [rax]
jmp 0x18000c660
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r8d, dword [rcx + rax*4]
add r8, r10
lea rdx, [rbp - 0x28]
mov rcx, r12
call r8
test eax, eax
je 0x18000cf0b
mov r13d, 1
nop dword [rax + rax]
cmp dword [rbp - 0x28], 0x10
jb 0x18000cb26
lea rcx, [rbp - 0x3e]
call fcn.180001020
mov r8, rax
cmp byte [rax + 0xc], 0
jne 0x18000c792
lea rcx, [rax + 0x10]
xor r10d, r10d
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r8 + 4]
lea r9d, [rax + 1]
mov edx, dword [r8]
cmp edx, r9d
je 0x18000c777
lea r9d, [rax + 2]
cmp edx, r9d
je 0x18000c777
cmp edx, eax
je 0x18000c77f
lea r9d, [rax + 4]
cmp edx, r9d
jne 0x18000c770
add eax, 3
xor dword [rcx], eax
inc dword [r8]
jmp 0x18000c740
add eax, 5
cmp edx, eax
jne 0x18000c785
xor dword [rcx], r9d
inc dword [r8]
jmp 0x18000c740
lea eax, [r10 + 0x33]
xor dword [rcx], eax
inc r10d
add rcx, 4
cmp r10d, 1
jb 0x18000c740
mov byte [r8 + 0xc], 1
mov eax, dword [r8 + 0x10]
mov rax, qword gs:[rax]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x18000c826
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x18000c826
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0xa99cb54e
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x18000c821
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x10dbd33
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x18000c800
cmp r8d, 0xfde02f6d
je 0x18000c82b
test r9d, r9d
jne 0x18000c7e0
mov rax, qword [rax]
jmp 0x18000c7b0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov ecx, dword [rcx + rax*4]
add rcx, r10
call rcx
cmp dword [rbp - 0x1c], eax
jne 0x18000cb26
lea rcx, [rbp - 0x3d]
call fcn.180001020
mov r8, rax
cmp byte [rax + 0xc], 0
jne 0x18000c8c2
lea rcx, [rax + 0x10]
xor r10d, r10d
nop word [rax + rax]
mov eax, dword [r8 + 4]
lea r9d, [rax + 1]
mov edx, dword [r8]
cmp edx, r9d
je 0x18000c8a7
lea r9d, [rax + 2]
cmp edx, r9d
je 0x18000c8a7
cmp edx, eax
je 0x18000c8af
lea r9d, [rax + 4]
cmp edx, r9d
jne 0x18000c8a0
add eax, 3
xor dword [rcx], eax
inc dword [r8]
jmp 0x18000c870
add eax, 5
cmp edx, eax
jne 0x18000c8b5
xor dword [rcx], r9d
inc dword [r8]
jmp 0x18000c870
lea eax, [r10 + 0x33]
xor dword [rcx], eax
inc r10d
add rcx, 4
cmp r10d, 1
jb 0x18000c870
mov byte [r8 + 0xc], 1
mov eax, dword [r8 + 0x10]
mov rax, qword gs:[rax]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x18000c956
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x18000c956
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x599e04c6
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x18000c951
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x10dbd33
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x18000c930
cmp r8d, 0xa3ca3546
je 0x18000c95b
test r9d, r9d
jne 0x18000c910
mov rax, qword [rax]
jmp 0x18000c8e0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov ecx, dword [rcx + rax*4]
add rcx, r10
call rcx
cmp dword [rbp - 0x20], eax
je 0x18000cb26
test r14, r14
jne 0x18000c9b8
xor edx, edx
mov r15d, 0x80
mov r8d, 0x200
mov rcx, qword [0x1800148b8]
call qword [sym.imp.KERNEL32.dll_ReleaseSemaphoreWhenCallbackReturns]
mov r14, rax
mov qword [rbp - 0x48], rax
test rax, rax
jne 0x18000cb18
xor r15d, r15d
mov r13d, r15d
jmp 0x18000cf0e
cmp esi, r15d
jb 0x18000cb18
add r15d, r15d
mov esi, r15d
shl rsi, 2
lea rcx, [rbp - 0x3c]
call fcn.180001020
mov r8, rax
cmp byte [rax + 0xc], 0
jne 0x18000ca42
lea rcx, [rax + 0x10]
xor r10d, r10d
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [r8 + 4]
lea r9d, [rax + 1]
mov edx, dword [r8]
cmp edx, r9d
je 0x18000ca27
lea r9d, [rax + 2]
cmp edx, r9d
je 0x18000ca27
cmp edx, eax
je 0x18000ca2f
lea r9d, [rax + 4]
cmp edx, r9d
jne 0x18000ca20
add eax, 3
xor dword [rcx], eax
inc dword [r8]
jmp 0x18000c9f0
add eax, 5
cmp edx, eax
jne 0x18000ca35
xor dword [rcx], r9d
inc dword [r8]
jmp 0x18000c9f0
lea eax, [r10 + 0x33]
xor dword [rcx], eax
inc r10d
add rcx, 4
cmp r10d, 1
jb 0x18000c9f0
mov byte [r8 + 0xc], 1
mov eax, dword [r8 + 0x10]
mov rax, qword gs:[rax]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov edi, dword [rcx + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x18000cad6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x18000cad6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r11]
add rdx, r11
mov r8d, 0x23205f40
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x18000cad1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x10dbd33
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x18000cab0
cmp r8d, 0xc751600
je 0x18000cadb
test r9d, r9d
jne 0x18000ca90
mov rax, qword [rax]
jmp 0x18000ca60
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
movzx eax, word [rax + r9*2]
mov r10d, dword [rcx + rax*4]
add r10, r11
mov r9, rsi
mov r8, r14
xor edx, edx
mov rcx, qword [0x1800148b8]
call r10
mov esi, dword [rbp - 0x50]
test rax, rax
je 0x18000cc6d
mov r14, rax
mov qword [rbp - 0x48], rax
mov ecx, esi
mov eax, dword [rbp - 0x20]
mov dword [r14 + rcx*4], eax
inc esi
mov dword [rbp - 0x50], esi
mov dword [rbp - 0x28], 0x1c
lea rcx, [rbp - 0x3b]
call fcn.180001020
mov r8, rax
cmp byte [rax + 0xc], 0
jne 0x18000cba2
lea rcx, [rax + 0x10]
xor r10d, r10d
nop word [rax + rax]
mov eax, dword [r8 + 4]
lea r9d, [rax + 1]
mov edx, dword [r8]
cmp edx, r9d
je 0x18000cb87
lea r9d, [rax + 2]
cmp edx, r9d
je 0x18000cb87
cmp edx, eax
je 0x18000cb8f
lea r9d, [rax + 4]
cmp edx, r9d
jne 0x18000cb80
add eax, 3
xor dword [rcx], eax
inc dword [r8]
jmp 0x18000cb50
add eax, 5
cmp edx, eax
jne 0x18000cb95
xor dword [rcx], r9d
inc dword [r8]
jmp 0x18000cb50
lea eax, [r10 + 0x33]
xor dword [rcx], eax
inc r10d
add rcx, 4
cmp r10d, 1
jb 0x18000cb50
mov byte [r8 + 0xc], 1
mov eax, dword [r8 + 0x10]
mov rax, qword gs:[rax]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x18000cc36
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x18000cc36
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0xd863838d
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x18000cc31
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x10dbd33
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x18000cc10
cmp r8d, 0x91e8d
je 0x18000cc3b
test r9d, r9d
jne 0x18000cbf0
mov rax, qword [rax]
jmp 0x18000cbc0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r8d, dword [rcx + rax*4]
add r8, r10
lea rdx, [rbp - 0x28]
mov rcx, r12
call r8
test eax, eax
je 0x18000cc78
mov r14, qword [rbp - 0x48]
mov esi, dword [rbp - 0x50]
jmp 0x18000c710
xor r15d, r15d
mov r13d, r15d
jmp 0x18000cdd6
lea rcx, [rbp - 0x3a]
call fcn.180001020
mov r8, rax
mov qword [rbp - 0x48], r14
mov dword [rbp - 0x50], esi
xor r15d, r15d
cmp byte [rax + 0xc], r15b
jne 0x18000cd04
lea rcx, [rax + 0x10]
mov r9d, r15d
mov qword [rbp - 0x48], r14
mov dword [rbp - 0x50], esi
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r8 + 4]
lea r10d, [rax + 1]
mov edx, dword [r8]
cmp edx, r10d
je 0x18000cce7
lea r10d, [rax + 2]
cmp edx, r10d
je 0x18000cce7
cmp edx, eax
je 0x18000ccef
lea r10d, [rax + 4]
cmp edx, r10d
jne 0x18000cce0
add eax, 3
xor dword [rcx], eax
inc dword [r8]
jmp 0x18000ccb0
add eax, 5
cmp edx, eax
jne 0x18000ccf5
xor dword [rcx], r10d
inc dword [r8]
jmp 0x18000ccb0
lea eax, [r9 + 0x33]
xor dword [rcx], eax
inc r9d
add rcx, 4
cmp r9d, 1
jb 0x18000ccb0
jmp 0x18000cd08
mov r14, qword [rbp - 0x48]
mov byte [r8 + 0xc], 1
mov eax, dword [r8 + 0x10]
mov rax, qword gs:[rax]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov esi, dword [rcx + r10 + 0x88]
add rsi, r10
cmp rsi, r10
je 0x18000cd99
mov r9d, dword [rsi + 0x18]
test r9d, r9d
je 0x18000cd99
mov edi, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x820d7084
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x18000cd94
nop
mov rbx, r14
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x10dbd33
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x18000cd70
cmp r8d, 0xa89cee76
je 0x18000cd9e
test r9d, r9d
jne 0x18000cd50
mov rax, qword [rax]
jmp 0x18000cd20
mov ecx, dword [rsi + 0x1c]
add rcx, r10
mov eax, dword [rsi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov ecx, dword [rcx + rax*4]
add rcx, r10
call rcx
mov esi, dword [rbp - 0x50]
cmp eax, 0x12
je 0x18000cf0e
mov r13d, r15d
mov qword [rbp - 0x48], rbx
mov dword [rbp - 0x50], esi
test rbx, rbx
je 0x18000cf0e
lea rcx, [rbp - 0x39]
call fcn.180001020
mov r8, rax
cmp byte [rax + 0xc], 0
jne 0x18000ce42
lea rcx, [rax + 0x10]
mov r9d, r15d
nop
mov eax, dword [r8 + 4]
lea r10d, [rax + 1]
mov edx, dword [r8]
cmp edx, r10d
je 0x18000ce27
lea r10d, [rax + 2]
cmp edx, r10d
je 0x18000ce27
cmp edx, eax
je 0x18000ce2f
lea r10d, [rax + 4]
cmp edx, r10d
jne 0x18000ce20
add eax, 3
xor dword [rcx], eax
inc dword [r8]
jmp 0x18000cdf0
add eax, 5
cmp edx, eax
jne 0x18000ce35
xor dword [rcx], r10d
inc dword [r8]
jmp 0x18000cdf0
lea eax, [r9 + 0x33]
xor dword [rcx], eax
inc r9d
add rcx, 4
cmp r9d, 1
jb 0x18000cdf0
mov byte [r8 + 0xc], 1
mov eax, dword [r8 + 0x10]
mov rax, qword gs:[rax]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x18000ced6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x18000ced6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0xb340c0e5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x18000ced1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x10dbd33
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x18000ceb0
cmp r8d, 0x5c63cadd
je 0x18000cedb
test r9d, r9d
jne 0x18000ce90
mov rax, qword [rax]
jmp 0x18000ce60
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r9d, dword [rcx + rax*4]
add r9, r10
mov r8, r14
xor edx, edx
mov rcx, qword [0x1800148b8]
call r9
mov r14, r15
mov qword [rbp - 0x48], r15
jmp 0x18000cf0e
xor r15d, r15d
lea rcx, [rbp - 0x38]
call fcn.180001020
mov r8, rax
cmp byte [rax + 0xc], 0
jne 0x18000cf82
lea rcx, [rax + 0x10]
mov r9d, r15d
nop word [rax + rax]
mov eax, dword [r8 + 4]
lea r10d, [rax + 1]
mov edx, dword [r8]
cmp edx, r10d
je 0x18000cf67
lea r10d, [rax + 2]
cmp edx, r10d
je 0x18000cf67
cmp edx, eax
je 0x18000cf6f
lea r10d, [rax + 4]
cmp edx, r10d
jne 0x18000cf60
add eax, 3
xor dword [rcx], eax
inc dword [r8]
jmp 0x18000cf30
add eax, 5
cmp edx, eax
jne 0x18000cf75
xor dword [rcx], r10d
inc dword [r8]
jmp 0x18000cf30
lea eax, [r9 + 0x33]
xor dword [rcx], eax
inc r9d
add rcx, 4
cmp r9d, 1
jb 0x18000cf30
mov byte [r8 + 0xc], 1
mov eax, dword [r8 + 0x10]
mov rax, qword gs:[rax]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x18000d016
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x18000d016
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0xb873533e
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x18000d011
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x10dbd33
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x18000cff0
cmp r8d, 0x5c2c5094
je 0x18000d01b
test r9d, r9d
jne 0x18000cfd0
mov rax, qword [rax]
jmp 0x18000cfa0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov rcx, r12
call rdx
test r13d, r13d
je 0x18000d947
test r14, r14
je 0x18000d424
test esi, esi
je 0x18000d424
mov r14d, esi
mov r15, qword [rbp - 0x48]
mov qword [rbp - 0x48], r15
xor r12d, r12d
nop
lea rcx, [rbp - 0x37]
call fcn.180001020
mov r8, rax
cmp byte [rax + 0xc], 0
jne 0x18000d0d2
lea rcx, [rax + 0x10]
mov r9d, r12d
nop dword [rax]
mov eax, dword [r8 + 4]
lea r10d, [rax + 1]
mov edx, dword [r8]
cmp edx, r10d
je 0x18000d0b7
lea r10d, [rax + 2]
cmp edx, r10d
je 0x18000d0b7
cmp edx, eax
je 0x18000d0bf
lea r10d, [rax + 4]
cmp edx, r10d
jne 0x18000d0b0
add eax, 3
xor dword [rcx], eax
inc dword [r8]
jmp 0x18000d080
add eax, 5
cmp edx, eax
jne 0x18000d0c5
xor dword [rcx], r10d
inc dword [r8]
jmp 0x18000d080
lea eax, [r9 + 0x33]
xor dword [rcx], eax
inc r9d
add rcx, 4
cmp r9d, 1
jb 0x18000d080
mov byte [r8 + 0xc], 1
mov eax, dword [r8 + 0x10]
mov rax, qword gs:[rax]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x18000d166
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x18000d166
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x256e2a08
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x18000d161
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x10dbd33
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x18000d140
cmp r8d, 0x894c0420
je 0x18000d16b
test r9d, r9d
jne 0x18000d120
mov rax, qword [rax]
jmp 0x18000d0f0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r9d, dword [rcx + rax*4]
add r9, r10
mov r8d, dword [r15]
xor edx, edx
lea ecx, [rdx + 0x5a]
call r9
mov rsi, rax
test rax, rax
je 0x18000d407
lea rcx, [rbp - 0x36]
call fcn.180001020
mov r8, rax
cmp byte [rax + 0xc], 0
jne 0x18000d212
lea rcx, [rax + 0x10]
mov r9d, r12d
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r8 + 4]
lea r10d, [rax + 1]
mov edx, dword [r8]
cmp edx, r10d
je 0x18000d1f7
lea r10d, [rax + 2]
cmp edx, r10d
je 0x18000d1f7
cmp edx, eax
je 0x18000d1ff
lea r10d, [rax + 4]
cmp edx, r10d
jne 0x18000d1f0
add eax, 3
xor dword [rcx], eax
inc dword [r8]
jmp 0x18000d1c0
add eax, 5
cmp edx, eax
jne 0x18000d205
xor dword [rcx], r10d
inc dword [r8]
jmp 0x18000d1c0
lea eax, [r9 + 0x33]
xor dword [rcx], eax
inc r9d
add rcx, 4
cmp r9d, 1
jb 0x18000d1c0
mov byte [r8 + 0xc], 1
mov eax, dword [r8 + 0x10]
mov rax, qword gs:[rax]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x18000d2a6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x18000d2a6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x21f274b7
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x18000d2a1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x10dbd33
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x18000d280
cmp r8d, 0x89ef6299
je 0x18000d2ab
test r9d, r9d
jne 0x18000d260
mov rax, qword [rax]
jmp 0x18000d230
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov rcx, rsi
call rdx
mov edx, 0xffffffff
mov r8d, 1
mov rcx, rsi
call fcn.18000b920
nop
lea rcx, [rbp - 0x35]
call fcn.180001020
mov r8, rax
cmp byte [rax + 0xc], 0
jne 0x18000d352
lea rcx, [rax + 0x10]
mov r9d, r12d
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [r8 + 4]
lea r10d, [rax + 1]
mov edx, dword [r8]
cmp edx, r10d
je 0x18000d337
lea r10d, [rax + 2]
cmp edx, r10d
je 0x18000d337
cmp edx, eax
je 0x18000d33f
lea r10d, [rax + 4]
cmp edx, r10d
jne 0x18000d330
add eax, 3
xor dword [rcx], eax
inc dword [r8]
jmp 0x18000d300
add eax, 5
cmp edx, eax
jne 0x18000d345
xor dword [rcx], r10d
inc dword [r8]
jmp 0x18000d300
lea eax, [r9 + 0x33]
xor dword [rcx], eax
inc r9d
add rcx, 4
cmp r9d, 1
jb 0x18000d300
mov byte [r8 + 0xc], 1
mov eax, dword [r8 + 0x10]
mov rax, qword gs:[rax]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x18000d3e6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x18000d3e6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x656359d0
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x18000d3e1
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x10dbd33
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x18000d3c0
cmp r8d, 0xbe6bdfba
je 0x18000d3eb
test r9d, r9d
jne 0x18000d3a0
mov rax, qword [rax]
jmp 0x18000d370
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov rcx, rsi
call rdx
add r15, 4
sub r14, 1
jne 0x18000d060
mov r15d, r12d
mov r12, qword [rbp - 0x48]
mov esi, dword [rbp - 0x50]
xor r13d, r13d
jmp 0x18000d430
xor r13d, r13d
mov r15d, r13d
mov r12, r14
mov dword [rbp - 0x50], esi
mov edx, dword [0x1800148cc]
mov ebx, dword [rbp - 0x30]
cmp ebx, edx
jae 0x18000d473
nop dword [rax]
mov eax, ebx
imul rcx, rax, 0x38
mov rax, qword [0x1800148c0]
test byte [rcx + rax + 0x20], 2
jne 0x18000d46d
mov edx, 1
mov ecx, ebx
call fcn.18000be40
mov r15d, eax
test eax, eax
jne 0x18000d473
mov edx, dword [0x1800148cc]
inc ebx
cmp ebx, edx
jb 0x18000d440
test r12, r12
je 0x18000d93f
test esi, esi
je 0x18000d815
mov rsi, r12
mov r14d, dword [rbp - 0x50]
nop dword [rax + rax]
lea rcx, [rbp - 0x34]
call fcn.180001020
mov r8, rax
cmp byte [rax + 0xc], 0
jne 0x18000d502
lea rcx, [rax + 0x10]
mov r9d, r13d
nop dword [rax]
mov eax, dword [r8 + 4]
lea r10d, [rax + 1]
mov edx, dword [r8]
cmp edx, r10d
je 0x18000d4e7
lea r10d, [rax + 2]
cmp edx, r10d
je 0x18000d4e7
cmp edx, eax
je 0x18000d4ef
lea r10d, [rax + 4]
cmp edx, r10d
jne 0x18000d4e0
add eax, 3
xor dword [rcx], eax
inc dword [r8]
jmp 0x18000d4b0
add eax, 5
cmp edx, eax
jne 0x18000d4f5
xor dword [rcx], r10d
inc dword [r8]
jmp 0x18000d4b0
lea eax, [r9 + 0x33]
xor dword [rcx], eax
inc r9d
add rcx, 4
cmp r9d, 1
jb 0x18000d4b0
mov byte [r8 + 0xc], 1
mov eax, dword [r8 + 0x10]
mov rax, qword gs:[rax]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x18000d594
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x18000d594
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r11]
add r8, r10
mov edx, 0xd6feb492
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x18000d58f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x10dbd33
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x18000d570
cmp edx, 0x6b42edfe
je 0x18000d599
test r9d, r9d
jne 0x18000d550
mov rax, qword [rax]
jmp 0x18000d520
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov r8d, dword [rsi]
xor edx, edx
lea ecx, [rdx + 0x5a]
call rax
mov rdi, rax
test rax, rax
je 0x18000d807
lea rcx, [rbp - 0x33]
call fcn.180001020
mov r8, rax
cmp byte [rax + 0xc], 0
jne 0x18000d632
lea rcx, [rax + 0x10]
mov r9d, r13d
nop
mov eax, dword [r8 + 4]
lea r10d, [rax + 1]
mov edx, dword [r8]
cmp edx, r10d
je 0x18000d617
lea r10d, [rax + 2]
cmp edx, r10d
je 0x18000d617
cmp edx, eax
je 0x18000d61f
lea r10d, [rax + 4]
cmp edx, r10d
jne 0x18000d610
add eax, 3
xor dword [rcx], eax
inc dword [r8]
jmp 0x18000d5e0
add eax, 5
cmp edx, eax
jne 0x18000d625
xor dword [rcx], r10d
inc dword [r8]
jmp 0x18000d5e0
lea eax, [r9 + 0x33]
xor dword [rcx], eax
inc r9d
add rcx, 4
cmp r9d, 1
jb 0x18000d5e0
mov byte [r8 + 0xc], 1
mov eax, dword [r8 + 0x10]
mov rax, qword gs:[rax]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x18000d6c4
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x18000d6c4
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r10 + r9*4]
mov r8d, dword [rdx + r11]
add r8, r10
mov edx, 0xd4cb3a89
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x18000d6bf
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x10dbd33
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x18000d6a0
cmp edx, 0x8fd5d17a
je 0x18000d6c9
test r9d, r9d
jne 0x18000d680
mov rax, qword [rax]
jmp 0x18000d650
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov rcx, rdi
call rax
nop
lea rcx, [rbp - 0x32]
call fcn.180001020
mov r8, rax
cmp byte [rax + 0xc], 0
jne 0x18000d752
lea rcx, [rax + 0x10]
mov r9d, r13d
nop
mov eax, dword [r8 + 4]
lea r10d, [rax + 1]
mov edx, dword [r8]
cmp edx, r10d
je 0x18000d737
lea r10d, [rax + 2]
cmp edx, r10d
je 0x18000d737
cmp edx, eax
je 0x18000d73f
lea r10d, [rax + 4]
cmp edx, r10d
jne 0x18000d730
add eax, 3
xor dword [rcx], eax
inc dword [r8]
jmp 0x18000d700
add eax, 5
cmp edx, eax
jne 0x18000d745
xor dword [rcx], r10d
inc dword [r8]
jmp 0x18000d700
lea eax, [r9 + 0x33]
xor dword [rcx], eax
inc r9d
add rcx, 4
cmp r9d, 1
jb 0x18000d700
mov byte [r8 + 0xc], 1
mov eax, dword [r8 + 0x10]
mov rax, qword gs:[rax]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x18000d7e6
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x18000d7e6
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov ecx, dword [rdx + r10]
add rcx, r10
mov r8d, 0x3471dc9b
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x18000d7e1
nop
movsx edx, dl
xor edx, r8d
imul r8d, edx, 0x10dbd33
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
jne 0x18000d7c0
cmp r8d, 0xc2863bcf
je 0x18000d7eb
test r9d, r9d
jne 0x18000d7a0
mov rax, qword [rax]
jmp 0x18000d770
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx ecx, word [rcx + r9*2]
mov eax, dword [rdx + rcx*4]
add rax, r10
mov rcx, rdi
call rax
add rsi, 4
sub r14, 1
jne 0x18000d490
lea rcx, [rbp - 0x31]
call fcn.180001020
mov r8, rax
cmp byte [rax + 0xc], 0
jne 0x18000d882
lea rcx, [rax + 0x10]
nop dword [rax + rax]
mov eax, dword [r8 + 4]
lea r9d, [rax + 1]
mov edx, dword [r8]
cmp edx, r9d
je 0x18000d867
lea r9d, [rax + 2]
cmp edx, r9d
je 0x18000d867
cmp edx, eax
je 0x18000d86f
lea r9d, [rax + 4]
cmp edx, r9d
jne 0x18000d860
add eax, 3
xor dword [rcx], eax
inc dword [r8]
jmp 0x18000d830
add eax, 5
cmp edx, eax
jne 0x18000d875
xor dword [rcx], r9d
inc dword [r8]
jmp 0x18000d830
lea eax, [r13 + 0x33]
xor dword [rcx], eax
inc r13d
add rcx, 4
cmp r13d, 1
jb 0x18000d830
mov byte [r8 + 0xc], 1
mov eax, dword [r8 + 0x10]
mov rax, qword gs:[rax]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x18000d914
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x18000d914
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r10]
add r8, r10
mov edx, 0x67619fd7
movzx ecx, byte [r8]
inc r8
test cl, cl
je 0x18000d90f
nop
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x10dbd33
movzx ecx, byte [r8]
lea r8, [r8 + 1]
test cl, cl
jne 0x18000d8f0
cmp edx, 0xcf27067f
je 0x18000d919
test r9d, r9d
jne 0x18000d8d0
mov rax, qword [rax]
jmp 0x18000d8a0
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx r9d, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + r9*4]
add rax, r10
mov r8, r12
xor edx, edx
mov rcx, qword [0x1800148b8]
call rax
mov eax, r15d
jmp 0x18000c447
mov eax, 9
jmp 0x18000c447