Function at 0x140013130
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
sub rsp, 0x30
movaps xmmword [rsp + 0x20], xmm6
movd xmm6, dword [rcx + 0xf8]
mov rbx, rcx
movsx ecx, dx
call fcn.140064bb0
test al, al
jne 0x140010070
movaps xmm6, xmmword [rsp + 0x20]
add rsp, 0x30
pop rbx
ret
mov r9d, 1
mov rcx, rbx
pextrw r8d, xmm6, 1
pextrw edx, xmm6, 0
movsx r8d, r8w
movsx edx, dx
call fcn.140003450
cmp ax, 0xffff
movsx rdx, ax
je 0x140010061
mov rax, qword [0x1401213e0]
xor r8d, r8d
mov rcx, rbx
movd xmm0, dword [rax + rdx*4]
paddw xmm0, xmm6
movaps xmm6, xmmword [rsp + 0x20]
movd edx, xmm0
add rsp, 0x30
pop rbx
jmp fcn.14000f450
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x168
movaps xmmword [rsp + 0x140], xmm6
movaps xmmword [rsp + 0x150], xmm7
movzx eax, word [rcx + 0x170]
add word [rcx + 0x190], 1
test ax, ax
mov rbp, rcx
jns 0x140013400
movsx ecx, word [rbp + 0x96]
test cx, cx
jne 0x140013360
mov rcx, rbp
call fcn.14005f670
cmp word [rbp + 0x1b8], 0
jne 0x1400133b8
movzx r15d, word [rbp + 0x1ce]
test r15w, r15w
jne 0x1400133b8
mov eax, dword [rbp + 0x210]
test ah, 1
jne 0x140013488
test eax, 0x80000
jne 0x1400133d3
movsx eax, word [rbp + 0x18a]
movzx edi, word [rbp + 0xf8]
movzx esi, word [rbp + 0xfa]
movd xmm6, dword [rbp + 0xf8]
mov edx, eax
imul eax, eax, 0x5556
mov ecx, edx
sar cx, 0xf
shr eax, 0x10
sub eax, ecx
mov word [rbp + 0x188], ax
mov eax, dword [rbp + 0x10c]
test eax, eax
je 0x140013520
mov rcx, rbp
call fcn.14000d570
mov eax, dword [rbp + 0x10c]
test eax, eax
je 0x1400136e0
test byte [rbp + 0xec], 4
jne 0x140013558
cmp word [rbp + 0x1c0], 0
pextrw edx, xmm6, 1
mov dword [rsp + 0x54], edx
pextrw r12d, xmm6, 0
mov word [rsp + 0x40], dx
mov word [rsp + 0x48], r12w
je 0x140013610
cmp eax, 3
je 0x140013610
mov rax, qword [0x1401213c0]
mov rax, qword [rax]
mov rbx, qword [rax]
test rbx, rbx
jne 0x140013279
jmp 0x140013285
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x140013285
mov rax, qword [rbx]
test byte [rax + 0x213], 2
jne 0x140013270
mov eax, 0x4f
mov r13, qword [0x140121450]
mov qword [rsp + 0x58], 0
mov word [rsp + 0x3c], ax
movsx eax, word [rsp + 0x48]
movsx r14d, word [rsp + 0x40]
mov dword [rsp + 0x50], eax
nop
cmp r13, rbp
je 0x140013318
test byte [r13 + 0x211], 8
je 0x1400132c8
test byte [rbp + 0x211], 8
je 0x140013318
mov rdx, r13
mov rcx, rbp
call fcn.14000ac40
test al, al
je 0x140013318
movsx r8d, word [r13 + 0xfa]
mov eax, r14d
movsx r9d, word [r13 + 0xf8]
sub eax, r8d
cdq
xor eax, edx
sub eax, edx
mov edx, dword [rsp + 0x50]
sub edx, r9d
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
cmp eax, edx
cmovl eax, edx
cmp word [rsp + 0x3c], ax
jg 0x140013720
nop word [rax + rax]
test rbx, rbx
je 0x1400135a0
mov r13, qword [rbx]
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x14001358d
nop dword [rax]
mov rax, qword [rbx]
test byte [rax + 0x213], 2
je 0x1400132b0
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x140013338
jmp 0x1400132b0
test byte [rbp + 0xef], 0x10
je 0x14001317e
call fcn.140064bb0
test al, al
je 0x14001317e
mov r8d, dword [rbp + 0x98]
mov r9d, 1
movsx edx, word [rbp + 0xfa]
movsx ecx, word [rbp + 0xf8]
mov dword [rsp + 0x20], 0
shl r8, 7
add r8, qword [0x140120fa0]
call fcn.140038eb0
jmp 0x14001317e
movzx eax, word [rbp + 0x18a]
test byte [rbp + 0x211], 1
mov word [rbp + 0x188], ax
jne 0x140013496
movaps xmm6, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movzx edi, word [rcx + 0x146]
sub eax, 1
cmp word [rcx + 0xf8], di
mov edx, dword [rcx + 0x210]
jne 0x14001342d
movzx esi, word [rcx + 0x148]
cmp word [rcx + 0xfa], si
je 0x1400134d0
test ax, ax
mov word [rbp + 0x170], ax
jle 0x1400134f0
test edx, 0x10000
je 0x14001316e
and edx, 0xfffeffff
cmp ax, 0xf
mov dword [rbp + 0x210], edx
jg 0x14001316e
mov dword [rbp + 0x168], 0
mov eax, dword [0x1400bcf10]
mov dword [rbp + 0x146], eax
xor eax, eax
mov word [rbp + 0x16e], ax
jmp 0x14001316e
movzx eax, word [rbp + 0x18a]
mov word [rbp + 0x188], ax
cmp qword [rbp + 0x230], 0
je 0x1400133d3
movaps xmm6, xmmword [rsp + 0x140]
mov rcx, rbp
movaps xmm7, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.140011e10
test edx, 0x10000
mov word [rcx + 0x170], ax
jne 0x1400137e8
test ax, ax
jg 0x14001316e
nop dword [rax]
mov eax, dword [0x1400bcf10]
and edx, 0xfffeffff
mov dword [rbp + 0x168], 0
mov dword [rbp + 0x210], edx
mov dword [rbp + 0x146], eax
xor eax, eax
mov word [rbp + 0x16e], ax
jmp 0x14001316e
mov word [rbp + 0x188], dx
movaps xmm6, xmmword [rsp + 0x140]
mov rcx, rbp
movaps xmm7, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.14000d570
xor edx, edx
mov rcx, rbp
call fcn.140012e20
test al, al
jne 0x1400136f8
mov rcx, rbp
call fcn.14000bb40
test al, al
jne 0x1400136f8
movzx eax, word [rbp + 0x18c]
mov word [rbp + 0x188], ax
jmp 0x1400133d3
cmp rbp, r13
jne 0x1400132b5
nop word cs:[rax + rax]
cmp qword [rsp + 0x58], 0
je 0x140013600
xor edx, edx
mov rcx, rbp
call fcn.140012e20
test al, al
jne 0x1400136f8
mov rcx, rbp
call fcn.14000bb40
test al, al
jne 0x1400136f8
test byte [rbp + 0xee], 0x40
mov eax, dword [rbp + 0x10c]
jne 0x140013610
mov rdx, qword [rsp + 0x58]
xor r8d, r8d
cmp eax, 4
mov rcx, rbp
sete r8b
mov ebx, dword [rdx + 0xf8]
mov edx, ebx
call fcn.14000f450
test al, al
jne 0x1400133d3
mov eax, dword [rbp + 0x10c]
nop word cs:[rax + rax]
cmp eax, 1
je 0x1400137b1
cmp eax, 4
je 0x1400137a3
cmp eax, 3
je 0x140013d2d
cmp eax, 2
je 0x1400139f8
test byte [rbp + 0xee], 0x10
jne 0x1400139d8
cmp dword [rbp + 0x10c], 4
jne 0x1400133d3
cmp qword [rbp + 0x220], 0
movd xmm7, dword [rbp + 0xf8]
pextrw r14d, xmm7, 1
pextrw edi, xmm7, 0
movsx r12d, r14w
mov word [rsp + 0x50], di
je 0x140014883
movd ebx, xmm7
mov edx, 0x100200
mov ecx, ebx
call fcn.140037720
test al, al
je 0x1400148a0
mov rbx, qword [0x140121580]
cmp byte [rbx + 0x13], 0
je 0x1400148e9
mov rdx, qword [rbx + 0x1f8]
xor r8d, r8d
mov rcx, rbp
call fcn.14000ce00
test al, al
je 0x1400144e8
xor eax, eax
test byte [rbp + 0xed], 0x20
setne al
add eax, 1
imul ax, word [rbp + 0x18c]
mov word [rbp + 0x188], ax
jmp 0x1400133d3
movzx eax, word [rbp + 0x18a]
mov word [rbp + 0x188], ax
jmp 0x1400133d3
movzx eax, word [rbp + 0x18c]
test byte [rbp + 0xed], 0x20
lea edx, [rax + rax]
cmovne eax, edx
mov word [rbp + 0x188], ax
jmp 0x1400133d3
mov edx, r9d
mov rcx, rbp
call fcn.14000cbe0
test al, al
je 0x140013318
mov edx, dword [r13 + 0xf8]
mov rcx, rbp
call fcn.14000c4b0
test al, al
je 0x140013754
test byte [r13 + 0xec], 0x80
je 0x140013318
cmp word [r13 + 0x1d6], 0
jne 0x140014250
movsx eax, word [r13 + 0xfa]
mov edx, r14d
mov qword [rsp + 0x58], r13
movsx ecx, word [r13 + 0xf8]
sub edx, eax
mov eax, edx
sar eax, 0x1f
xor edx, eax
sub edx, eax
mov eax, dword [rsp + 0x50]
sub eax, ecx
mov ecx, eax
sar ecx, 0x1f
xor eax, ecx
sub eax, ecx
cmp edx, eax
cmovge eax, edx
mov dword [rsp + 0x3c], eax
jmp 0x140013318
cmp word [rbp + 0x1c0], 0
je 0x140013634
test byte [rbp + 0xee], 0x10
je 0x140013808
mov r13, qword [0x140121450]
mov edx, 0x200
mov ecx, dword [r13 + 0xf8]
call fcn.140037740
test al, al
jne 0x140013808
mov eax, dword [rbp + 0x10c]
jmp 0x140013622
test ax, ax
jle 0x140013b4a
mov edx, 0x64
mov word [rbp + 0x188], dx
jmp 0x1400133d3
xor edx, edx
mov rcx, rbp
call fcn.140012e20
test al, al
jne 0x1400136f8
mov rcx, rbp
call fcn.14000bb40
test al, al
jne 0x1400136f8
mov eax, dword [rbp + 0x9c]
test eax, eax
je 0x14001389c
mov rdx, qword [0x140120df0]
mov rdx, qword [rdx]
jmp 0x140013853
add r15d, 1
movsx rax, r15w
mov eax, dword [rbp + rax*4 + 0x9c]
test eax, eax
je 0x14001389c
imul rax, rax, 0x1a0
cmp word [rdx + rax + 0x190], 0xe
jne 0x140013840
test byte [rbp + 0xef], 0x20
jne 0x14001387c
mov ecx, 0x1e
call fcn.140064bb0
test al, al
je 0x14001389c
mov rax, qword [0x1401215a0]
mov r8d, 1
mov rcx, rbp
mov rdx, qword [rax]
call fcn.14000ce00
test al, al
jne 0x1400136f8
mov r13, qword [0x140121450]
movsx r15d, r12w
movsx eax, word [rsp + 0x54]
movsx r9d, word [r13 + 0xfa]
movsx r8d, word [r13 + 0xf8]
mov dword [rsp + 0x3c], eax
sub eax, r9d
cdq
xor eax, edx
sub eax, edx
mov edx, r15d
sub edx, r8d
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
cmp eax, edx
cmovl eax, edx
cmp ax, 1
jle 0x14001427e
mov rax, qword [0x1401213c0]
mov rax, qword [rax]
mov r14, qword [rax]
test r14, r14
jne 0x14001390d
jmp 0x140013c89
mov r14, qword [r14 + 8]
test r14, r14
je 0x140013c89
mov rax, qword [r14]
test byte [rax + 0x213], 2
jne 0x140013900
nop dword [rax]
test r14, r14
je 0x140013c89
mov rbx, qword [r14]
mov r14, qword [r14 + 8]
test r14, r14
jne 0x140013949
jmp 0x140013c76
mov r14, qword [r14 + 8]
test r14, r14
je 0x140013955
mov rax, qword [r14]
test byte [rax + 0x213], 2
jne 0x140013940
mov rdx, rbx
mov rcx, rbp
call fcn.14000ac40
test al, al
je 0x140013920
movsx edx, word [rbx + 0xfa]
mov eax, dword [rsp + 0x3c]
movsx ecx, word [rbx + 0xf8]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
mov edx, r15d
sub edx, ecx
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
cmp eax, edx
cmovl eax, edx
cmp ax, 1
jne 0x140013920
cmp word [rbx + 0x1d6], 0
je 0x1400139b2
mov ecx, 0x21
call fcn.140064bb0
test al, al
je 0x140013920
mov edx, dword [rbx + 0xf8]
mov r8d, 1
mov rcx, rbp
call fcn.14000f450
test al, al
je 0x140013920
jmp 0x1400133d3
mov r13, qword [0x140121450]
mov edx, 0x200
mov ecx, dword [r13 + 0xf8]
call fcn.140037740
test al, al
jne 0x140013641
movd ebx, xmm6
mov edx, 0x134200
mov ecx, ebx
call fcn.140037720
test al, al
je 0x140014025
mov rbx, qword [0x140121580]
cmp byte [rbx + 0x13], 0
je 0x140014246
mov rdx, qword [rbx + 0x1f8]
xor r8d, r8d
mov rcx, rbp
call fcn.14000ce00
test al, al
jne 0x1400136f8
mov rcx, qword [rbx + 0x1f8]
movsx edx, r12w
mov r9, rbp
mov dword [rsp + 0x20], 1
movsx r8d, word [rsp + 0x54]
call fcn.140003e90
cmp ax, 0xffff
je 0x140013a92
mov rdx, qword [0x1401213e0]
movsx rax, ax
mov r8d, 1
mov rcx, rbp
movd xmm0, dword [rdx + rax*4]
paddw xmm0, xmm6
movd ebx, xmm0
mov edx, ebx
call fcn.14000f450
test al, al
jne 0x1400133d3
test byte [rbp + 0x210], 0x80
je 0x140014059
mov rcx, qword [rbp + 0x220]
test byte [rcx + 0x211], 1
jne 0x14001429f
cmp dword [rbp + 0x10c], 2
je 0x1400142f2
movsx edx, word [rcx + 0xfa]
movsx eax, word [rsp + 0x54]
movsx r8d, word [rcx + 0xf8]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
movsx edx, r12w
sub edx, r8d
mov r8d, edx
sar r8d, 0x1f
xor edx, r8d
sub edx, r8d
cmp eax, edx
cmovl eax, edx
cmp ax, 2
jg 0x140014218
test byte [rcx + 0xec], 4
mov edx, 0x64
jne 0x140013b1f
test byte [rcx + 0x211], 1
mov edx, 0xa
jne 0x140013b1f
mov edx, 0x1e
movaps xmm6, xmmword [rsp + 0x140]
mov rcx, rbp
movaps xmm7, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x140010040
movsx r8d, word [rcx + 0x16e]
mov eax, dword [0x1400bcf10]
test r8w, r8w
mov dword [rcx + 0x146], eax
je 0x140014001
mov r14d, dword [rcx + 0x9c]
test r14d, r14d
je 0x140014d9d
xor eax, eax
nop word [rax + rax]
add eax, 1
movsx rcx, ax
mov r13d, dword [rbp + rcx*4 + 0x9c]
test r13d, r13d
jne 0x140013b80
mov eax, dword [rbp + 0xec]
mov dword [rbp + rcx*4 + 0x9c], r8d
sub word [rbp + 0x21a], 1
mov ecx, edx
and ecx, 0xfffeffff
test eax, 0x20000
mov dword [rbp + 0x210], ecx
je 0x140013bd9
mov edi, 0x3e8
mov r12d, 0x3e8
mov word [rbp + 0x1ec], di
mov word [rbp + 0x1b6], r12w
test ah, 4
je 0x140013c0d
mov ebx, 0x3e8
mov esi, 0x3e8
and eax, 0xffcfffff
and edx, 0xfffef7ff
mov word [rbp + 0x1e4], bx
mov word [rbp + 0x1ae], si
mov dword [rbp + 0xec], eax
mov dword [rbp + 0x210], edx
test ah, 0x10
je 0x140013c2e
mov r10d, 0x3e8
mov r11d, 0x3e8
mov word [rbp + 0x1f8], r10w
mov word [rbp + 0x1c2], r11w
test al, 1
je 0x140013c4e
mov r8d, 0x3e8
mov r9d, 0x3e8
mov word [rbp + 0x20c], r8w
mov word [rbp + 0x1d6], r9w
mov rcx, rbp
call fcn.14000a8c0
test al, al
jne 0x140014136
mov dword [rbp + 0x168], 0
xor ecx, ecx
mov word [rbp + 0x16e], cx
jmp 0x1400137f1
mov rdx, rbx
mov rcx, rbp
call fcn.14000ac40
test al, al
jne 0x140013964
movzx edx, word [rbp + 0x1ae]
test dx, dx
jne 0x140013fcf
mov ecx, dword [rbp + 0xec]
test ecx, 0x100000
jne 0x140013fcf
test byte [rbp + 0x211], 8
jne 0x140013fcf
test ecx, 0x44000
jne 0x140013f66
and ecx, 0x20
je 0x140013cd9
test byte [rbp + 0x212], 0x10
mov rdx, r13
jne 0x14001421b
mov rcx, rbp
call fcn.14000dee0
cmp ax, 0xffff
je 0x14001441c
mov rdx, qword [0x1401213e0]
movsx rax, ax
movsx ecx, word [rdx + rax*4]
movsx r8d, word [rdx + rax*4 + 2]
mov edx, ecx
movaps xmm6, xmmword [rsp + 0x140]
mov rcx, rbp
movaps xmm7, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.14000e6a0
mov eax, dword [rbp + 0x9c]
test eax, eax
je 0x140013dcb
mov rdx, qword [0x140120df0]
mov rdx, qword [rdx]
jmp 0x140013d63
add r15d, 1
movsx rax, r15w
mov eax, dword [rbp + rax*4 + 0x9c]
test eax, eax
je 0x140013dcb
imul rax, rax, 0x1a0
cmp word [rdx + rax + 0x190], 0xe
jne 0x140013d50
test byte [rbp + 0xef], 0x20
jne 0x140014208
mov ecx, 0x1e
call fcn.140064bb0
test al, al
je 0x140013dcb
cmp dword [rbp + 0x10c], 4
jne 0x140014208
mov rax, qword [0x140121580]
cmp byte [rax + 0x12], 0
je 0x140014b97
mov rax, qword [0x140120d30]
mov rdx, qword [rax]
xor r8d, r8d
mov rcx, rbp
call fcn.14000ce00
test al, al
jne 0x1400133d3
xor edx, edx
mov rcx, rbp
call fcn.140012e20
test al, al
mov edi, eax
jne 0x1400133d3
movsx esi, word [rbp + 0xfa]
mov rcx, rbp
movsx ebx, word [rbp + 0xf8]
call fcn.140009fb0
xor r9d, r9d
mov dword [rsp + 0x20], 1
mov rcx, rax
mov r8d, esi
mov edx, ebx
call fcn.140003e90
cmp ax, 0xffff
je 0x140013e65
mov rdx, qword [0x1401213e0]
movsx rax, ax
mov rcx, rbp
movd xmm0, dword [rdx + rax*4]
paddw xmm6, xmm0
pextrw r8d, xmm0, 1
pextrw edx, xmm0, 0
movsx r8d, r8w
movsx edx, dx
call fcn.14000e6a0
test al, al
movd ebx, xmm6
jne 0x1400133d3
mov r8d, 1
mov edx, ebx
mov rcx, rbp
call fcn.14000f450
test al, al
jne 0x1400133d3
mov rax, qword [0x1401213c0]
mov rax, qword [rax]
mov rbx, qword [rax]
test rbx, rbx
jne 0x140013e89
jmp 0x140013e95
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x140013e95
mov rax, qword [rbx]
test byte [rax + 0x213], 2
jne 0x140013e80
test dil, dil
mov rsi, qword [0x140121450]
jne 0x140013eb2
nop dword [rax]
cmp word [rbp + 0x1cc], 0
je 0x140013ef5
test rbx, rbx
je 0x1400133d3
mov rsi, qword [rbx]
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x140013ee7
nop word [rax + rax]
mov rax, qword [rbx]
test byte [rax + 0x213], 2
je 0x140013ea8
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x140013ed0
jmp 0x140013ea8
cmp word [rbp + 0x1cc], 0
jne 0x1400133d3
mov rdx, rsi
mov rcx, rbp
call fcn.14000ac40
test al, al
je 0x140013eb2
movsx ecx, word [rsi + 0xfa]
mov edi, 1
movsx eax, word [rsp + 0x40]
movsx r9d, word [rsi + 0xf8]
mov r8d, ecx
sub eax, ecx
mov ecx, eax
mov edx, r9d
sar ecx, 0x1f
xor eax, ecx
sub eax, ecx
movsx ecx, word [rsp + 0x48]
sub ecx, r9d
mov r9d, ecx
sar r9d, 0x1f
xor ecx, r9d
sub ecx, r9d
cmp eax, ecx
cmovl eax, ecx
sub ax, 1
jg 0x140013e95
sub r8d, dword [rsp + 0x54]
sub edx, r12d
movsx edx, dx
movsx r8d, r8w
jmp 0x140013d02
mov eax, dword [rbp + 0x9c]
test eax, eax
je 0x140013cc4
mov r8, qword [0x140120df0]
mov r11, qword [0x140121660]
mov r9, qword [0x140120fa0]
mov r8, qword [r8]
jmp 0x140013fa6
add edx, 1
movsx rax, dx
mov eax, dword [rbp + rax*4 + 0x9c]
test eax, eax
je 0x140013cc4
imul rax, rax, 0x1a0
movsx rax, word [r8 + rax + 0x194]
test ax, ax
je 0x140013f90
shl rax, 7
mov eax, dword [r9 + rax]
shl rax, 8
test byte [r11 + rax + 0x2d], 0x10
je 0x140013f90
movsxd rax, dword [rsp + 0x3c]
movsxd rdx, r15d
imul rdx, rdx, 0x7b4
imul rax, rax, 0x44
add rax, rdx
add rax, qword [0x1401214a0]
test byte [rax + 0x10], 0x40
jne 0x1400147ee
mov ecx, dword [rbp + 0xec]
jmp 0x140013cc4
cmp byte [rcx + 0x16c], 0
je 0x140014267
mov eax, dword [rcx + 0xec]
or eax, dword [rcx + 0x168]
mov dword [rcx + 0xec], eax
jmp 0x140013ba2
mov edx, 0x800
mov ecx, ebx
call fcn.140037720
test al, al
je 0x140013a92
cmp word [rbp + 0x1c2], 0
jne 0x140013a92
test byte [rbp + 0xee], 4
je 0x140013a10
jmp 0x140013a92
cmp dword [rbp + 0x10c], 2
je 0x1400142f2
movsx edx, word [rbp + 0x118]
mov rcx, rbp
call fcn.140009790
test al, al
jne 0x140014cd8
movsx edx, word [rbp + 0x118]
mov rcx, rbp
call fcn.140009790
mov rcx, rbp
call fcn.14000b9e0
movsx edx, word [rbp + 0x118]
mov rcx, rbp
call fcn.140009790
mov rbx, qword [0x140121580]
test al, al
je 0x140014db2
movsx rax, word [rbp + 0x118]
xor r11d, r11d
mov r9, rbp
movsx edx, word [rbp + 0xf8]
mov rcx, qword [rbx + rax*8 + 0x15e8]
mov dword [rsp + 0x20], r11d
movsx r8d, word [rbp + 0xfa]
call fcn.140003e90
movsx rsi, ax
cmp si, 0xffff
je 0x140014db2
mov rax, qword [0x1401213e0]
mov r8d, 1
movd xmm0, dword [rax + rsi*4]
paddw xmm0, xmm6
movd ebx, xmm0
mov edx, ebx
movaps xmm6, xmmword [rsp + 0x140]
mov rcx, rbp
movaps xmm7, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.14000f450
lea rsi, [rsp + 0x60]
mov r8d, 1
mov rdx, rbp
lea rbx, [rsp + 0xd0]
mov rcx, rbx
call fcn.14000a9e0
mov eax, dword [rbp]
mov r8, rbx
mov rcx, rsi
lea rdx, [rbp + 0x14a]
mov qword [rsp + 0x20], rdx
mov rdx, qword [str.A_naked_adventurer_in_an_unforgiving_place__bereft_of_equipment_and_confused_about_the_circumstances.]
imul rax, rax, 0x416
lea r9, [rdx + rax + 0x1f4]
lea rdx, str._s_finished__s_the__s.
call fcn.14006dfd0
mov rdx, qword [0x1401210a0]
xor r8d, r8d
mov rcx, rsi
call fcn.14004c4d0
movzx eax, word [rbp + 0x16e]
test ax, ax
jne 0x140014b64
cmp byte [rbp + 0x16c], 0
mov ecx, dword [rbp + 0x168]
je 0x140014b39
call fcn.14005d060
mov r8, rbx
mov rcx, rsi
lea rdx, str._s_now__s_
movsx r9, ax
imul r9, r9, 0x65
add r9, qword [str.is_invisible]
call fcn.14006dfd0
mov rdx, rbp
mov rcx, rsi
call fcn.14000af50
mov rdx, qword [0x140120d20]
xor r8d, r8d
mov rcx, rsi
call fcn.14004c4d0
jmp 0x140013c5e
mov rcx, rbp
call fcn.140009fb0
mov rdx, rax
jmp 0x140013db8
mov rdx, rcx
movaps xmm6, xmmword [rsp + 0x140]
mov rcx, rbp
movaps xmm7, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.14000fdc0
call fcn.140062120
jmp 0x140013a21
mov ecx, 0x21
call fcn.140064bb0
test al, al
jne 0x140013763
jmp 0x140013318
mov eax, dword [rcx + 0x168]
or dword [rcx + 0xf0], eax
mov eax, dword [rcx + 0xec]
jmp 0x140013ba2
mov edx, dword [rsp + 0x3c]
mov dword [rsp + 0x20], 0
mov ecx, r15d
call fcn.140003330
test al, al
jne 0x1400138e6
jmp 0x140013c89
movsx rsi, word [rbp + 0x80]
movsx ebx, word [rcx + 0xfe]
mov rcx, rbp
call fcn.140051070
mov ecx, 0x10000
imul rax, rsi
cqo
idiv rcx
cmp ebx, eax
jle 0x1400142e5
mov rcx, qword [rbp + 0x220]
cmp dword [rcx + 0x84], 0
jle 0x1400142e5
test byte [rbp + 0xf0], 0x80
je 0x140014e2e
cmp dword [rbp + 0x10c], 2
jne 0x140014403
mov rax, qword [0x1401213c0]
mov rax, qword [rax]
mov rbx, qword [rax]
test rbx, rbx
jne 0x14001431d
jmp 0x140014403
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x140014403
mov rax, qword [rbx]
test byte [rax + 0x213], 2
jne 0x140014310
nop dword [rax]
test rbx, rbx
je 0x140014403
mov rsi, qword [rbx]
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x140014359
jmp 0x1400143f0
mov rbx, qword [rbx + 8]
test rbx, rbx
je 0x140014365
mov rax, qword [rbx]
test byte [rax + 0x213], 2
jne 0x140014350
mov rdx, rsi
mov rcx, rbp
call fcn.14000ac40
test al, al
je 0x140014330
movsx edx, word [rsi + 0xfa]
movsx eax, word [rsp + 0x40]
movsx ecx, word [rsi + 0xf8]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
movsx edx, word [rsp + 0x48]
sub edx, ecx
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
cmp eax, edx
cmovl eax, edx
cmp ax, 1
jne 0x140014330
cmp word [rsi + 0x1d6], 0
je 0x1400143c5
mov ecx, 0x21
call fcn.140064bb0
test al, al
je 0x140014330
mov edx, dword [rsi + 0xf8]
mov r8d, 1
mov rcx, rbp
call fcn.14000f450
test al, al
je 0x140014330
jmp 0x1400133d3
mov rdx, rsi
mov rcx, rbp
call fcn.14000ac40
test al, al
jne 0x140014374
test byte [rbp + 0x210], 0x80
je 0x140014066
mov rcx, qword [rbp + 0x220]
jmp 0x140013ac0
mov rax, qword [0x1401215a0]
movsx r12, r12w
movsx rdx, word [rsp + 0x54]
mov rax, qword [rax]
mov rax, qword [rax + r12*8]
mov r12, qword [0x1401213e0]
movzx eax, word [rax + rdx*2]
lea rbx, [r12 + 0x20]
mov word [rsp + 0x50], ax
jmp 0x14001445d
add r12, 4
cmp r12, rbx
je 0x1400148f3
movzx eax, word [r12 + 2]
movd xmm0, dword [r12]
add eax, esi
cmp ax, 0x1c
ja 0x140014450
movzx eax, word [r12]
add eax, edi
cmp ax, 0x4e
ja 0x140014450
mov rax, qword [0x1401215a0]
paddw xmm0, xmm6
pextrw ecx, xmm0, 0
pextrw edx, xmm0, 1
mov r14, rcx
mov rax, qword [rax]
mov rax, qword [rax + rcx*8]
movzx ecx, word [rsp + 0x50]
cmp cx, word [rax + rdx*2]
jge 0x140014450
mov dword [rsp + 0x40], edx
movd ecx, xmm0
mov edx, 1
call fcn.140037720
mov r9d, dword [rsp + 0x40]
test al, al
jne 0x140014450
mov edx, dword [rsp + 0x3c]
xor eax, eax
mov r8d, r14d
mov ecx, r15d
mov dword [rsp + 0x20], eax
call fcn.140003330
test al, al
jne 0x140014450
jmp 0x1400133d3
mov rcx, qword [rbx + 0x1f8]
movsx esi, di
mov r9, rbp
movsx r8d, r14w
mov dword [rsp + 0x20], 1
mov edx, esi
call fcn.140003e90
cmp ax, 0xffff
je 0x140014539
mov rdx, qword [0x1401213e0]
movsx rax, ax
xor r8d, r8d
mov rcx, rbp
movd xmm0, dword [rdx + rax*4]
paddw xmm0, xmm7
movd edx, xmm0
call fcn.14000f450
test al, al
jne 0x1400133d3
mov rax, qword [0x1401213c0]
mov rax, qword [rax]
mov rsi, qword [rax]
test rsi, rsi
jne 0x14001455d
jmp 0x140014da4
mov rsi, qword [rsi + 8]
test rsi, rsi
je 0x140014da4
mov rax, qword [rsi]
test byte [rax + 0x213], 2
jne 0x140014550
movsx eax, word [rsp + 0x50]
xor ebx, ebx
mov word [rsp + 0x3c], 0x4f
mov dword [rsp + 0x50], eax
nop dword [rax + rax]
mov r13, qword [rsi]
mov rsi, qword [rsi + 8]
test rsi, rsi
jne 0x1400145a5
jmp 0x1400147e0
mov rsi, qword [rsi + 8]
test rsi, rsi
je 0x1400147e0
mov rax, qword [rsi]
test byte [rax + 0x213], 2
jne 0x140014598
cmp rbp, r13
je 0x140014580
test byte [r13 + 0x211], 8
je 0x1400145c9
test byte [rbp + 0x211], 8
je 0x140014613
mov rdx, r13
mov rcx, rbp
call fcn.14000ac40
test al, al
je 0x140014613
movsx r8d, word [r13 + 0xfa]
mov eax, r12d
movsx r9d, word [r13 + 0xf8]
sub eax, r8d
cdq
xor eax, edx
sub eax, edx
mov edx, dword [rsp + 0x50]
sub edx, r9d
mov ecx, edx
sar ecx, 0x1f
xor edx, ecx
sub edx, ecx
cmp eax, edx
cmovl eax, edx
cmp word [rsp + 0x3c], ax
jg 0x140014800
test rsi, rsi
jne 0x140014580
test rbx, rbx
movsx eax, word [rbp + 0xf8]
movsx edx, word [rbp + 0xfa]
je 0x1400146c2
movsx ecx, word [rbp + 0x78]
cmp cx, 1
jle 0x1400146c2
cmp word [rbp + 0x1d2], 0
jg 0x1400146c2
movsx r8d, word [rbx + 0xfa]
sub edx, r8d
mov r8d, edx
sar r8d, 0x1f
xor edx, r8d
sub edx, r8d
movsx r8d, word [rbx + 0xf8]
sub eax, r8d
mov r8d, eax
sar r8d, 0x1f
xor eax, r8d
sub eax, r8d
cmp edx, eax
cmovl edx, eax
cmp dx, 9
jg 0x1400146af
movsx eax, word [rbp + 0xfe]
imul eax, eax, 0x64
cdq
idiv ecx
cmp eax, 0x21
jg 0x1400146af
cmp dword [rbp + 0x84], 0
jle 0x1400146af
cmp qword [rbp + 0x228], 0
je 0x14001496f
mov rdx, rbx
mov rcx, rbp
call fcn.14000d480
test al, al
jne 0x14001499e
xor edx, edx
mov rcx, rbp
call fcn.140012e20
test al, al
jne 0x140014b13
mov rcx, rbp
call fcn.14000bb40
test al, al
jne 0x140014b13
mov r9d, dword [rbp + 0x210]
mov edx, 0x4f
test r9d, 0x200
mov ecx, r9d
jne 0x140014716
mov rax, qword [0x140121580]
mov eax, dword [rax + 0xc]
and eax, 0xffff00
cmp eax, 1
sbb edx, edx
and edx, 0xfffffffa
add edx, 0xa
cmp word [rsp + 0x3c], 1
je 0x140014ba1
test rbx, rbx
jne 0x140014bcd
cmp word [rbp + 0x146], 0x4e
ja 0x140014743
cmp word [rbp + 0x148], 0x1c
jbe 0x140014ee8
mov ecx, dword [rbp + 0x210]
test ecx, 0x20000
jne 0x1400147c8
mov r13, qword [0x140121450]
movsx eax, r14w
movsx esi, di
mov dword [rsp + 0x50], eax
mov edi, dword [rsp + 0x50]
movsx edx, word [r13 + 0xfa]
movsx r8d, word [r13 + 0xf8]
mov eax, edi
sub eax, edx
cdq
xor eax, edx
sub eax, edx
mov edx, esi
sub edx, r8d
mov r8d, edx
sar r8d, 0x1f
xor edx, r8d
sub edx, r8d
cmp eax, edx
cmovge edx, eax
cmp dx, 2
mov eax, edx
jg 0x140014c79
movsxd rax, edi
movsxd rdx, esi
imul rax, rax, 0x44
imul rdx, rdx, 0x7b4
add rax, rdx
add rax, qword [0x1401214a0]
test byte [rax + 0x10], 0x40
je 0x140014ca7
and ecx, 0xffefffff
mov dword [rbp + 0x210], ecx
jmp 0x140013b1a
cmp rbp, r13
jne 0x1400145b6
jmp 0x14001461c
mov edx, dword [r13 + 0xf8]
mov r8d, 1
jmp 0x14001410b
mov edx, r9d
mov rcx, rbp
call fcn.14000cbe0
test al, al
je 0x140014613
mov ecx, dword [r13 + 0xf8]
mov edx, 1
call fcn.140037720
test al, al
je 0x140014836
test byte [r13 + 0xec], 0x80
je 0x140014613
cmp word [r13 + 0x1d6], 0
jne 0x140014e17
movsx eax, word [r13 + 0xfa]
mov edx, r12d
mov rbx, r13
movsx ecx, word [r13 + 0xf8]
sub edx, eax
mov eax, edx
sar eax, 0x1f
xor edx, eax
sub edx, eax
mov eax, dword [rsp + 0x50]
sub eax, ecx
mov ecx, eax
sar ecx, 0x1f
xor eax, ecx
sub eax, ecx
cmp edx, eax
cmovge eax, edx
mov dword [rsp + 0x3c], eax
jmp 0x140014613
mov r13, qword [0x140121450]
or dword [rbp + 0x210], 0x80
mov qword [rbp + 0x220], r13
jmp 0x140013678
mov edx, 0x800
mov ecx, ebx
call fcn.140037720
test al, al
je 0x1400148be
cmp word [rbp + 0x1c2], 0
je 0x140013690
mov edx, 0x34000
movd ecx, xmm7
call fcn.140037720
test al, al
je 0x140014539
test dword [rbp + 0xec], 0x40002
je 0x140013690
jmp 0x140014539
call fcn.140062120
jmp 0x1400136a1
cmp dword [rbp + 0x10c], 4
je 0x1400133d3
movsxd rax, dword [rsp + 0x3c]
movsxd rdx, r15d
imul rdx, rdx, 0x7b4
imul rax, rax, 0x44
add rax, rdx
add rax, qword [0x1401214a0]
test byte [rax + 0x10], 0x40
jne 0x1400133d3
test byte [rbp + 0xec], 0x20
jne 0x140014f82
mov edx, dword [rbp + 0x142]
mov rcx, rbp
mov dword [rbp + 0x10c], 2
movaps xmm6, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x140009f10
test byte [rbp + 0xec], 0x40
jne 0x14001499e
mov r13, qword [0x140121450]
lea ecx, [rax + rax]
movsx eax, word [r13 + 0xfe]
movsx r8d, word [r13 + 0x78]
imul eax, eax, 0x64
cdq
idiv r8d
cmp ecx, eax
jge 0x1400146af
mov eax, dword [rbp + 0x9c]
test eax, eax
je 0x140014a30
mov rdx, qword [0x140120df0]
mov rcx, qword [rdx]
xor edx, edx
jmp 0x1400149cc
add edx, 1
movsx rax, dx
mov eax, dword [rbp + rax*4 + 0x9c]
test eax, eax
je 0x140014a30
imul rax, rax, 0x1a0
cmp word [rcx + rax + 0x190], 0xe
jne 0x1400149ba
test byte [rbp + 0xef], 0x20
jne 0x1400149f5
mov ecx, 0x1e
call fcn.140064bb0
test al, al
je 0x140014a30
cmp dword [rbp + 0x10c], 4
jne 0x140014ddd
mov rax, qword [0x140121580]
cmp byte [rax + 0x12], 0
je 0x140014ded
mov rax, qword [0x140120d30]
mov rdx, qword [rax]
xor r8d, r8d
mov rcx, rbp
call fcn.14000ce00
test al, al
jne 0x1400133d3
xor edx, edx
mov rcx, rbp
call fcn.140012e20
test al, al
jne 0x1400133d3
mov rax, qword [0x140121580]
cmp byte [rax + 0x12], 0
je 0x140014f78
mov rsi, qword [0x140120d30]
mov r9, rbp
movsx edx, word [rbp + 0xf8]
mov dword [rsp + 0x20], 1
movsx r8d, word [rbp + 0xfa]
mov rcx, qword [rsi]
call fcn.140003e90
cmp ax, 0xffff
je 0x1400146c2
mov rdx, qword [0x1401213e0]
movsx rax, ax
movsx rcx, di
mov r9, qword [rsi]
movd xmm0, dword [rdx + rax*4]
mov rcx, qword [r9 + rcx*8]
movdqa xmm6, xmm0
paddw xmm6, xmm7
pextrw eax, xmm6, 0
movsx rax, ax
pextrw edx, xmm6, 1
movsx rdx, dx
mov r8, qword [r9 + rax*8]
movsx rax, r14w
movzx eax, word [rcx + rax*2]
cmp word [r8 + rdx*2], ax
jge 0x1400146c2
pextrw r8d, xmm0, 1
pextrw edx, xmm0, 0
mov rcx, rbp
movsx edx, dx
movsx r8d, r8w
call fcn.14000e6a0
test al, al
jne 0x1400133d3
movd edx, xmm6
mov r8d, 1
mov rcx, rbp
call fcn.14000f450
test al, al
je 0x1400146c2
jmp 0x1400133d3
mov eax, dword [rbp + 0xec]
and eax, 0x2000
cmp eax, 1
sbb eax, eax
add eax, 2
imul eax, dword [rbp + 0x18c]
mov word [rbp + 0x188], ax
jmp 0x1400133d3
call fcn.14005d060
mov r8, rbx
mov rcx, rsi
lea rdx, str._s_now__s_
movsx r9, ax
imul r9, r9, 0x65
add r9, qword [str.can_induce_hallucinations]
call fcn.14006dfd0
jmp 0x1400141e6
movsx r9, ax
mov rax, qword [0x140120df0]
mov r8, rbx
mov rcx, rsi
imul r9, r9, 0x1a0
lea rdx, str._s__s_
add r9, qword [rax]
add r9, 0xb3
call fcn.14006dfd0
jmp 0x1400141e6
call fcn.140061650
jmp 0x140013dae
movzx eax, word [rbp + 0x18a]
cmp word [rbx + 0x18a], ax
jge 0x140014bca
test dword [rbx + 0xec], 0x804
jne 0x140014bca
cmp dword [rbx + 0x10c], 1
je 0x140014f9c
add edx, 1
mov r13, qword [0x140121450]
movsx eax, r14w
movsx esi, di
mov dword [rsp + 0x50], eax
movsx r8d, word [r13 + 0xfa]
movsx r11d, word [r13 + 0xf8]
sub eax, r8d
mov r8d, eax
sar r8d, 0x1f
xor eax, r8d
sub eax, r8d
mov r8d, esi
sub r8d, r11d
mov r11d, r8d
sar r11d, 0x1f
xor r8d, r11d
sub r8d, r11d
cmp eax, r8d
cmovl eax, r8d
cmp dx, ax
jg 0x140014d36
test r9d, 0x20000
jne 0x140014d36
cmp word [rbp + 0x148], 0x1c
ja 0x140014c47
cmp word [rbp + 0x146], 0x4e
jbe 0x14001531b
movsx edx, word [r13 + 0xfa]
mov eax, dword [rsp + 0x50]
movsx r8d, word [r13 + 0xf8]
sub eax, edx
cdq
sub esi, r8d
xor eax, edx
mov r8d, esi
sub eax, edx
sar r8d, 0x1f
mov edx, esi
xor edx, r8d
sub edx, r8d
cmp eax, edx
cmovl eax, edx
and ecx, 0x100000
jne 0x140014ca7
cmp ax, 0xa
jle 0x140014ca7
mov rax, qword [0x1401215a0]
mov r8d, 1
mov rcx, rbp
mov rdx, qword [rax]
call fcn.14000ce00
test al, al
jne 0x140014b13
mov rcx, rbp
call fcn.14000dee0
cmp ax, 0xffff
je 0x140014cc2
test byte [rbp + 0x212], 0x10
je 0x140014df7
or dword [rbp + 0x210], 0x100000
mov rdx, qword [rbp + 0x220]
jmp 0x14001421b
movsx rax, word [rbp + 0x118]
xor esi, esi
mov r9, rbp
mov rbx, qword [0x140121580]
movsx edx, word [rbp + 0xf8]
mov rcx, qword [rbx + rax*8 + 0x15e8]
mov dword [rsp + 0x20], esi
movsx r8d, word [rbp + 0xfa]
call fcn.140003e90
movsx edx, word [rbp + 0x118]
mov rcx, rbp
movsx rsi, ax
call fcn.140009790
test al, al
je 0x140015331
cmp si, 0xffff
jne 0x1400140ef
jmp 0x14001408c
test byte [rbp + 0xee], 0x40
jne 0x14001472b
mov rdx, rbx
mov rcx, rbp
call fcn.140009e70
test al, al
jne 0x14001472b
mov rax, qword [0x140120df0]
xor edx, edx
mov rcx, qword [rax]
jmp 0x140014d7d
imul rax, rax, 0x1a0
cmp word [rcx + rax + 0x190], 0xe
je 0x140015012
add edx, 1
movsx rax, dx
mov eax, dword [rbp + rax*4 + 0x9c]
test eax, eax
jne 0x140014d64
mov edx, dword [rbx + 0xf8]
mov r8d, 1
jmp 0x14001410b
xor ecx, ecx
jmp 0x140013b94
xor ebx, ebx
mov word [rsp + 0x3c], 0x4f
jmp 0x1400146c2
movsx r8d, word [rsp + 0x54]
movsx edx, r12w
mov r9d, 1
mov rcx, rbp
call fcn.140003450
movsx rsi, ax
cmp si, 0xffff
jne 0x1400140ef
jmp 0x1400133d3
mov rcx, rbp
call fcn.140009fb0
mov rdx, rax
jmp 0x140014a1d
call fcn.140061650
jmp 0x140014a13
mov rdx, qword [0x1401213e0]
movsx rax, ax
xor r8d, r8d
movd xmm0, dword [rdx + rax*4]
paddw xmm0, xmm7
movd edx, xmm0
jmp 0x14001410b
mov ecx, 0x21
call fcn.140064bb0
test al, al
jne 0x140014845
jmp 0x140014613
movsx r9d, word [rcx + 0xfa]
xor edi, edi
movsx r8d, word [rcx + 0xf8]
movsx edx, word [rbp + 0xfa]
movsx ecx, word [rbp + 0xf8]
mov dword [rsp + 0x20], edi
call fcn.140003330
test al, al
jne 0x1400142e5
mov rcx, qword [rbp + 0x220]
movsx eax, word [rbp + 0xfa]
movsx edx, word [rcx + 0xfa]
movsx r8d, word [rcx + 0xf8]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
movsx edx, word [rbp + 0xf8]
sub edx, r8d
mov r8d, edx
sar r8d, 0x1f
xor edx, r8d
sub edx, r8d
cmp eax, edx
cmovl eax, edx
sub ax, 1
jne 0x140014218
movzx eax, word [rbp + 0x18c]
mov rdx, rcx
xor r8d, r8d
mov rcx, rbp
mov word [rbp + 0x188], ax
movaps xmm6, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400547f0
cmp word [rbp + 0x1ba], 0
jne 0x140014743
cmp word [rbp + 0x1b6], 0
je 0x140014f0e
cmp word [rbp + 0x1c2], 0
je 0x140014743
mov edx, dword [rbp + 0x146]
xor r8d, r8d
mov rcx, rbp
call fcn.14000f450
movzx eax, word [rbp + 0x146]
cmp word [rbp + 0xf8], ax
jne 0x1400133d3
movzx eax, word [rbp + 0x148]
cmp word [rbp + 0xfa], ax
jne 0x1400133d3
test byte [rbp + 0x212], 1
jne 0x1400133d3
mov rcx, rbp
call fcn.14000a8c0
test al, al
jne 0x140014fa6
or dword [rbp + 0x210], 0x10000
mov word [rbp + 0x170], 0x14
jmp 0x1400133d3
call fcn.140061650
jmp 0x140014a53
mov rdx, r13
mov rcx, rbp
call fcn.14000fdc0
or dword [rbp + 0x210], 0x100000
jmp 0x1400133d3
mov edx, 0x4f
jmp 0x140014bcd
lea rbx, [rsp + 0x60]
mov rdx, rbp
mov r8d, 1
lea rsi, [rsp + 0xd0]
mov rcx, rsi
call fcn.14000a9e0
mov eax, dword [rbp]
mov r8, rsi
mov rcx, rbx
lea rdx, [rbp + 0x14a]
mov qword [rsp + 0x20], rdx
mov rdx, qword [str.A_naked_adventurer_in_an_unforgiving_place__bereft_of_equipment_and_confused_about_the_circumstances.]
imul rax, rax, 0x416
lea r9, [rdx + rax + 0x1f4]
lea rdx, str._s_begins__s_the_fallen__s.
call fcn.14006dfd0
mov rdx, qword [0x1401210a0]
xor r8d, r8d
mov rcx, rbx
call fcn.14004c4d0
jmp 0x140014f60
test byte [rbp + 0xef], 0x20
jne 0x14001502d
mov ecx, 0x1e
call fcn.140064bb0
test al, al
je 0x140014d8c
call fcn.140065130
mov r13, rax
mov qword [rsp + 0x40], rax
call fcn.140065130
mov dword [rsp + 0x54], esi
mov r12, rax
mov qword [rsp + 0x48], rax
xor edi, edi
movzx esi, r15w
mov qword [rsp + 0x58], rbx
jmp 0x140015096
mov edx, 0x20
mov ecx, r14d
call fcn.140037720
mov rdx, qword [r12]
cmp al, 1
mov eax, 0xfffffffe
adc ax, 0
xor r10d, r10d
mov word [rdx + rdi*2], ax
mov rax, qword [r13]
mov word [rax + rdi*2], r10w
add rdi, 1
cmp rdi, 0x1d
je 0x1400150f8
lea rbx, [rdi + rdi]
mov ecx, edi
mov edx, 1
shl ecx, 0x10
or ecx, esi
mov r14d, ecx
call fcn.140037720
test al, al
jne 0x140015060
mov edx, r14d
mov rcx, rbp
call fcn.14000c4b0
test al, al
mov rax, qword [r12]
je 0x1400150e0
mov r8d, 0xffffffff
xor r9d, r9d
mov word [rax + rbx], r8w
mov rax, qword [r13]
mov word [rax + rbx], r9w
jmp 0x14001508c
mov edx, 1
mov ecx, 0x2710
mov word [rax + rbx], dx
mov rax, qword [r13]
mov word [rax + rbx], cx
jmp 0x14001508c
add r15d, 1
add r12, 8
add r13, 8
mov rbx, qword [rsp + 0x58]
cmp r15w, 0x4f
jne 0x14001504b
mov rax, qword [0x1401213c0]
mov esi, dword [rsp + 0x54]
mov rax, qword [rax]
mov rdi, qword [rax]
jmp 0x14001513b
mov rax, qword [rdi]
test byte [rax + 0x213], 2
je 0x140015240
mov rdi, qword [rdi + 8]
test rdi, rdi
jne 0x140015127
jmp 0x14001527f
cmp rbp, r12
je 0x140015240
test byte [r12 + 0x211], 8
je 0x140015166
test byte [rbp + 0x211], 8
je 0x140015240
mov rdx, r12
mov rcx, rbp
call fcn.14000ac40
test al, al
je 0x140015240
movsx r8d, word [r12 + 0xfa]
mov eax, dword [rsp + 0x50]
movsx ecx, word [r12 + 0xf8]
sub eax, r8d
cdq
xor eax, edx
sub eax, edx
mov edx, esi
sub edx, ecx
mov r9d, edx
sar r9d, 0x1f
xor edx, r9d
sub edx, r9d
cmp eax, edx
cmovl eax, edx
cmp word [rsp + 0x3c], ax
jle 0x140015240
mov edx, ecx
mov rcx, rbp
call fcn.14000cbe0
test al, al
je 0x140015240
mov edx, dword [r12 + 0xf8]
mov rcx, rbp
call fcn.14000c4b0
test al, al
je 0x1400151e5
test byte [r12 + 0xec], 0x80
je 0x140015240
cmp word [r12 + 0x1d6], 0
je 0x1400151fe
test byte [rbp + 0xef], 0x20
je 0x140015304
movsx rax, word [r12 + 0xf8]
mov rcx, qword [rsp + 0x40]
movsx rdx, word [r12 + 0xfa]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rsp + 0x48]
mov word [rax + rdx*2], 0
movsx rax, word [r12 + 0xf8]
movsx rdx, word [r12 + 0xfa]
mov rax, qword [rcx + rax*8]
mov word [rax + rdx*2], 1
test rdi, rdi
je 0x14001527f
mov r12, qword [rdi]
mov rdi, qword [rdi + 8]
test rdi, rdi
jne 0x140015265
jmp 0x140015276
mov rdi, qword [rdi + 8]
test rdi, rdi
je 0x140015145
mov rax, qword [rdi]
test byte [rax + 0x213], 2
jne 0x140015258
jmp 0x140015145
cmp rbp, r12
jne 0x14001514e
mov rdi, qword [rsp + 0x48]
mov r8d, 1
mov rsi, qword [rsp + 0x40]
mov rdx, rdi
mov rcx, rsi
call fcn.140008500
mov rcx, rdi
call fcn.1400651a0
xor r8d, r8d
mov rdx, rsi
mov rcx, rbp
call fcn.14000ce00
test al, al
je 0x140015355
mov eax, dword [rbp + 0xec]
mov rcx, rsi
and eax, 0x2000
cmp eax, 1
sbb eax, eax
add eax, 2
imul eax, dword [rbp + 0x18c]
mov word [rbp + 0x188], ax
movaps xmm6, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400651a0
mov ecx, 0x21
call fcn.140064bb0
test al, al
jne 0x1400151fe
jmp 0x140015240
cmp word [rbp + 0x1ba], 0
mov ecx, r9d
jne 0x140014763
jmp 0x140014ef6
mov rcx, rbp
call fcn.14000b9e0
movsx edx, word [rbp + 0x118]
mov rcx, rbp
call fcn.140009790
test al, al
je 0x1400140e5
jmp 0x1400140b2
mov rcx, qword [rsp + 0x40]
call fcn.1400651a0
jmp 0x140014d8c