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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe8
movaps xmmword [rsp + 0xd0], xmm6
mov rax, qword [0x14011dfe0]
mov esi, edx
mov dword [rsp + 0x80], edx
mov r12d, edx
mov rdx, qword [rax]
movsx eax, cx
mov ebx, ecx
cmp dword [rdx + 0x38], eax
jne 0x14005c9d5
cmp si, 0xffff
jne 0x14005cfa9
call fcn.140066ca0
mov rax, qword [0x14011e4e0]
mov rsi, qword [0x14011e4e0]
mov r13, qword [0x14011e1b0]
mov rdi, qword [0x14011e3b0]
mov word [rax + 0x11], 0
mov byte [rax + 0x13], 0
mov eax, dword [0x1400ef254]
movsx rdx, word [rsi + 0xba]
mov qword [rsi + 0xc8], 0
mov dword [rsi + 0xbe], eax
movsx rax, word [rsi + 0xbc]
imul rdx, rdx, 0x7b4
mov rsi, qword [0x14011e400]
imul rax, rax, 0x44
add rax, rdx
mov eax, dword [rsi + rax + 0x10]
and eax, 0x801
mov dword [rsp + 0x84], eax
movsx rax, bx
imul rax, rax, 0x260c8
cmp word [rsp + 0x80], 0
mov qword [rsp + 0x68], rax
lea r15, [rax - 0x260c8]
je 0x14005daf8
mov rax, qword [0x14011e4e0]
cmp word [rax + 2], bx
je 0x14005db22
movsx eax, word [rdi + 0xf8]
movsx ebx, word [rdi + 0xfa]
mov rsi, qword [0x14011e5b0]
mov r8d, eax
mov dword [rsp + 0x50], eax
movsx rdx, r8w
movsx rax, bx
mov r9d, ebx
imul rdx, rdx, 0x7b4
imul rax, rax, 0x44
add rax, rdx
add rax, qword [0x14011e400]
mov edx, dword [rax]
mov ecx, dword [rax + 4]
shl rdx, 8
shl rcx, 8
mov edx, dword [rsi + rdx + 0x2c]
or edx, dword [rsi + rcx + 0x2c]
mov ecx, dword [rax + 0xc]
mov eax, dword [rax + 8]
shl rcx, 8
shl rax, 8
or edx, dword [rsi + rcx + 0x2c]
or dl, byte [rsi + rax + 0x2c]
jns 0x14005cb6b
mov rcx, qword [0x14011e340]
lea rbp, [rcx + 0x20]
movsx edx, word [rcx]
mov eax, dword [rsp + 0x50]
mov r10d, edx
add edx, eax
movsx eax, word [rcx + 2]
movsxd rdx, edx
imul rdx, rdx, 0x7b4
mov r11d, eax
add eax, ebx
cdqe
imul rax, rax, 0x44
add rax, rdx
add rax, qword [0x14011e400]
mov edx, dword [rax]
mov r14d, dword [rax + 4]
shl rdx, 8
shl r14, 8
mov edx, dword [rsi + rdx + 0x2c]
or edx, dword [rsi + r14 + 0x2c]
mov r14d, dword [rax + 0xc]
mov eax, dword [rax + 8]
shl r14, 8
shl rax, 8
or edx, dword [rsi + r14 + 0x2c]
or edx, dword [rsi + rax + 0x2c]
mov eax, edx
test eax, 0x829c1
je 0x14005dbc9
add rcx, 4
cmp rbp, rcx
jne 0x14005caf7
call fcn.1400689c0
xor edx, edx
mov r14, rax
mov rcx, rax
mov qword [rsp + 0x60], rax
call fcn.140068aa0
xor edx, edx
mov rcx, r14
xor r14d, r14d
call fcn.140068aa0
lea rax, [rsp + 0xc0]
movsxd rdx, ebx
mov rbp, qword [0x14011e320]
mov qword [rsp + 0x58], rax
imul rdx, rdx, 0x44
mov r9d, 0x2829c1
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x78], rax
movsxd rax, dword [rsp + 0x50]
imul rax, rax, 0x7b4
add rdx, rax
add rdx, qword [0x14011e400]
mov qword [rsp + 0x70], rdx
mov edx, dword [rsp + 0x50]
mov r8d, ebx
mov dword [rsp + 0x30], 1
mov rcx, qword [rsp + 0x60]
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], 0
call fcn.140008ea0
mov rdx, qword [rbp]
mov rcx, qword [rsp + 0x58]
call fcn.14000c2e0
mov dword [rsp + 0x88], ebx
mov rcx, qword [rsp + 0x78]
movdqa xmm1, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xa0], xmm1
call fcn.14000c320
test al, al
je 0x14005d035
mov rcx, qword [rsp + 0x58]
call fcn.14000c330
mov ebx, dword [rax + 0x10c]
movsx r9, word [rax + 0xf8]
movsx r10, word [rax + 0xfa]
cmp ebx, 1
je 0x14005cfc5
cmp ebx, 4
je 0x14005cc75
mov rcx, qword [0x14011e4e0]
cmp qword [rcx + 0x78], rax
jne 0x14005cc17
test r12w, r12w
je 0x14005d008
mov r8d, r14d
mov edx, 1
xor r8d, 1
cmp word [rax + 0x1ae], 0
jne 0x14005cd29
movsx rdx, r10w
movsx rcx, r9w
imul rcx, rcx, 0x7b4
imul rdx, rdx, 0x44
add rdx, rcx
add rdx, qword [0x14011e400]
mov ecx, dword [rdx]
mov r11d, dword [rdx + 4]
shl rcx, 8
shl r11, 8
mov ecx, dword [rsi + rcx + 0x2c]
or ecx, dword [rsi + r11 + 0x2c]
mov r11d, dword [rdx + 0xc]
mov edx, dword [rdx + 8]
shl r11, 8
shl rdx, 8
or ecx, dword [rsi + r11 + 0x2c]
or ecx, dword [rsi + rdx + 0x2c]
mov edx, 1
and ecx, 0x829c1
jne 0x14005cd29
mov r11, qword [rsp + 0x70]
mov edx, dword [r11]
mov ecx, dword [r11 + 4]
shl rdx, 8
shl rcx, 8
mov edx, dword [rsi + rdx + 0x2c]
or edx, dword [rsi + rcx + 0x2c]
mov ecx, dword [r11 + 0xc]
shl rcx, 8
or edx, dword [rsi + rcx + 0x2c]
mov ecx, dword [r11 + 8]
shl rcx, 8
or edx, dword [rsi + rcx + 0x2c]
shr dl, 7
cmp r8b, dl
je 0x14005cc17
mov ecx, dword [rax + 0x210]
test ch, 1
jne 0x14005cc17
test dword [rax + 0xec], 0x900000
jne 0x14005cc17
movsx rdx, r10w
movsx r8, r9w
imul r8, r8, 0x7b4
imul rdx, rdx, 0x44
add rdx, r8
add rdx, qword [0x14011e400]
mov r8d, dword [rdx]
mov r11d, dword [rdx + 4]
shl r8, 8
shl r11, 8
mov r8d, dword [rsi + r8 + 0x2c]
or r8d, dword [rsi + r11 + 0x2c]
mov r11d, dword [rdx + 0xc]
mov edx, dword [rdx + 8]
shl r11, 8
shl rdx, 8
or r8d, dword [rsi + r11 + 0x2c]
or r8d, dword [rsi + rdx + 0x2c]
and r8d, 1
jne 0x14005cc17
cmp word [rax + 0x1ce], 0
jne 0x14005cc17
cmp word [rax + 0x1b8], 0
jne 0x14005cc17
mov rdx, qword [rsp + 0x60]
cmp ebx, 4
mov rdx, qword [rdx + r9*8]
movsx edx, word [rdx + r10*2]
je 0x14005cde4
cmp dx, 0x752f
jg 0x14005dcc4
movsx r8d, word [rax + 0x18a]
imul r8d, edx
mov edx, 0x96
cmp r8d, 0x3a97
jle 0x14005dcda
test r12w, r12w
mov word [rax + 0x1c8], dx
je 0x14005dcb6
cmp r12w, 1
je 0x14005dca8
cmp r12w, 0xffff
jne 0x14005cc17
or ecx, 8
mov dword [rax + 0x210], ecx
jmp 0x14005cc17
mov rax, qword [0x14011e4e0]
add r15d, 1
movsx r14d, r15w
movsx eax, word [rax + 0xb6]
add eax, 1
cmp r14d, eax
jle 0x14005d6b7
movsx rax, word [rdi + 0xfa]
movsx rdx, word [rdi + 0xf8]
imul rdx, rdx, 0x7b4
imul rax, rax, 0x44
add rax, rdx
add rax, qword [0x14011e400]
mov edx, dword [rax]
mov ecx, dword [rax + 4]
shl rdx, 8
shl rcx, 8
mov edx, dword [rsi + rdx + 0x2c]
or edx, dword [rsi + rcx + 0x2c]
mov ecx, dword [rax + 0xc]
mov eax, dword [rax + 8]
shl rcx, 8
shl rax, 8
or edx, dword [rsi + rcx + 0x2c]
or edx, dword [rsi + rax + 0x2c]
test dh, 0x20
mov eax, edx
je 0x14005cec7
cmp word [rdi + 0x1ae], 0
je 0x14005db67
mov rax, qword [0x14011e4e0]
movsx rax, word [rax + 2]
imul rax, rax, 0x260c8
add rax, qword [r13]
cmp byte [rax - 0x260c8], 0
jne 0x14005d79d
call fcn.14003b610
mov ecx, 1
call fcn.1400607c0
call fcn.140060130
mov rsi, qword [0x14011e4e0]
mov rdx, qword [rbp]
mov rcx, qword [rsp + 0x58]
mov word [rsi + 0xb2], ax
call fcn.14000c2e0
jmp 0x14005cf2f
mov rcx, qword [rsp + 0x58]
call fcn.14000c330
mov rcx, rax
call fcn.14000fef0
mov rcx, qword [rsp + 0x78]
movdqa xmm6, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xa0], xmm6
call fcn.14000c320
test al, al
jne 0x14005cf1d
mov rax, qword [0x14011e4e0]
mov byte [rax + 0x226], 1
call fcn.140043bc0
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0xffffffff
call fcn.14004ba40
mov rax, qword [0x14011e4e0]
mov eax, dword [rax + 0xa4]
test eax, eax
je 0x14005cf94
mov rsi, qword [0x14011e4e0]
add eax, 1
mov dword [rsi + 0xa4], eax
call fcn.140059bf0
call fcn.140058c20
call fcn.140019300
call fcn.140040500
nop
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test r12w, r12w
jne 0x14005cc7f
cmp word [rax + 0x1ae], 0
jne 0x14005d024
mov rcx, qword [0x14011e4e0]
cmp rax, qword [rcx + 0x78]
jne 0x14005cc17
cmp word [rax + 0xfe], 0xa
jle 0x14005cc17
mov r8d, r14d
xor r8d, 1
jmp 0x14005cc99
cmp word [rax + 0xfe], 0xa
jg 0x14005cc7f
cmp word [rax + 0x1ae], 0
je 0x14005cc17
mov r8d, r14d
mov edx, 1
xor r8d, 1
jmp 0x14005cd29
cmp r14w, 1
mov ebx, dword [rsp + 0x88]
je 0x14005d060
mov rcx, qword [rsp + 0x60]
xor edx, edx
mov r14d, 1
call fcn.140068aa0
mov r9d, 0x200001
jmp 0x14005cbd8
mov rcx, qword [rsp + 0x60]
call fcn.140068a30
mov rdx, qword [rbp]
mov rcx, qword [rsp + 0x58]
call fcn.14000c2e0
jmp 0x14005d097
mov rcx, qword [rsp + 0x58]
call fcn.14000c330
mov rcx, qword [rax + 0x178]
mov rbx, rax
test rcx, rcx
jne 0x14005d714
mov rcx, qword [rsp + 0x78]
movdqa xmm6, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xa0], xmm6
call fcn.14000c320
test al, al
jne 0x14005d07a
mov rax, qword [r13]
xor r10d, r10d
mov qword [rsp + 0x88], rbp
mov r12, qword [rsp + 0x68]
mov r8, r10
mov qword [rsp + 0x90], rsi
mov rbx, qword [0x14011dfa0]
mov qword [rsp + 0x98], rdi
sub r12, qword [0x14011e400]
mov rdx, qword [rbx]
xor ebx, ebx
mov rdx, qword [rdx + 0x140]
mov qword [rax + r15 + 0x26090], rdx
mov rax, qword [0x14011e400]
lea r11, [rax + 0x10]
mov rax, rbx
mov rbx, r13
mov qword [rsp + 0x70], r11
mov r13, r12
movsxd r12, eax
mov rsi, qword [rsp + 0x70]
xor r14d, r14d
mov qword [rsp + 0x60], r8
mov r9, r12
mov rbp, qword [0x14011e400]
mov qword [rsp + 0x68], rax
imul r12, r12, 0x7b4
mov dword [rsp + 0x50], r9d
lea rdi, [rsi + r8]
mov rsi, r15
mov r15, r14
add rbp, r8
mov r14, rbx
mov rbx, r13
mov r13, r12
mov r12, rbp
mov rbp, rdi
jmp 0x14005d1ed
mov rax, qword [r14]
add r15, 1
add rbp, 0x44
add r12, 0x44
movdqu xmm2, xmmword [r12 - 0x44]
and edx, 0xbee1b39
movzx r11d, word [rbp - 0x40]
lea rcx, [rax + rsi]
add rax, rbx
movups xmmword [r12 + rax - 0x26108], xmm2
movsxd rax, edi
imul rax, rax, 0x44
add rax, r13
lea rdi, [rcx + rax]
mov word [rdi + 0x18], r11w
mov dword [rdi + 0x14], edx
movzx edx, byte [rbp - 0x3e]
mov byte [rdi + 0x1a], dl
mov rdx, qword [rbp - 0x3c]
mov qword [rdi + 0x1c], rdx
mov edx, dword [rbp - 0x34]
mov dword [rdi + 0x24], edx
mov edx, dword [rbp - 0x30]
mov dword [rdi + 0x28], edx
mov edx, dword [r12 - 0x1c]
mov dword [rcx + rax + 0x2c], edx
movzx edx, word [rbp - 0x28]
mov word [rdi + 0x30], dx
movdqu xmm3, xmmword [r12 - 0x14]
cmp r15, 0x1d
movups xmmword [rcx + rax + 0x34], xmm3
je 0x14005d213
mov edx, dword [rbp]
mov edi, r15d
test edx, 0x20002002
je 0x14005d168
mov ecx, dword [rsp + 0x50]
mov edx, r15d
call fcn.140007bc0
mov edx, dword [rbp]
jmp 0x14005d168
mov rax, qword [rsp + 0x68]
mov r13, rbx
mov r15, rsi
mov rbx, r14
mov r8, qword [rsp + 0x60]
add rax, 1
add r8, 0x7b4
cmp rax, 0x4f
jne 0x14005d118
mov rax, qword [0x14011e4e0]
mov r13, r14
mov rbx, qword [0x14011e4e0]
mov r11, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x88]
mov eax, dword [rax + 0xa8]
movsx r9d, word [rbx + 2]
mov rsi, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x98]
mov dword [rcx + 0x260c4], eax
mov rax, qword [0x14011dfe0]
mov rax, qword [rax]
imul r9d, dword [rax + 0x40]
test r9d, r9d
jle 0x14005dbbf
mov eax, 0x4e0000
xor r8d, r8d
movabs r10, 0xa3d70a3d70a3d70b
imul rcx, rax, 0x55
add r8d, 1
mov rax, rcx
imul r10
lea rax, [rdx + rcx]
sar rcx, 0x3f
movsx edx, r8w
sar rax, 6
sub rax, rcx
cmp edx, r9d
jl 0x14005d2a4
add rax, 0x24000
mov rbx, qword [0x14011e4e0]
mov qword [rsp + 0x50], r11
mov qword [rbx + 0x98], rax
call fcn.14005c900
call fcn.14002c400
mov rax, qword [0x14011e4e0]
mov rdx, qword [r13]
mov r11, qword [rsp + 0x50]
movsx rax, word [rax + 2]
imul rax, rax, 0x260c8
lea r14, [rdx + rax - 0x260c8]
cmp byte [r14], 0
je 0x14005d8a8
mov rdx, qword [r14 + 0x260a8]
xor ecx, ecx
xor ebx, ebx
xor r9d, r9d
mov rax, qword [0x14011e500]
add r14, 0x7b8
mov r15d, dword [r14 + 0x2590c]
mov qword [rax], rdx
mov rax, qword [0x14011e4e0]
mov dword [rsp + 0x60], r15d
mov eax, dword [rax + 0xa8]
mov r8d, eax
mov dword [rsp + 0x50], eax
sub r8d, r15d
lea rax, [r14 - 0x7b4]
mov rdx, r11
sub rdx, rbx
nop word [rax + rax]
movzx r15d, word [rax + 0x14]
lea r12, [rbx + rax]
add rax, 0x44
movdqu xmm4, xmmword [r12 + rcx]
lea r10, [rbx + rdx]
add rdx, 0x44
movups xmmword [r10 + rcx - 0x10], xmm4
mov word [rdx - 0x40], r15w
mov r15d, dword [rax - 0x34]
and r15d, 0xbee1b39
mov dword [rdx - 0x44], r15d
movzx r15d, byte [rax - 0x2e]
mov byte [rdx - 0x3e], r15b
mov r15, qword [rax - 0x2c]
mov qword [rdx - 0x3c], r15
mov r15d, dword [rax - 0x24]
mov dword [rdx - 0x34], r15d
mov r15d, dword [rax - 0x20]
mov dword [rdx - 0x30], r15d
mov r15d, dword [r12 + rcx + 0x28]
mov dword [r10 + rcx + 0x18], r15d
movzx r15d, word [rax - 0x18]
mov word [rdx - 0x28], r15w
movdqu xmm5, xmmword [r12 + rcx + 0x30]
cmp r14, rax
movups xmmword [r10 + rcx + 0x20], xmm5
jne 0x14005d370
add r9, 1
sub rbx, 0x7b4
add rcx, 0x7b4
add r14, 0x7b4
cmp r9, 0x4f
jne 0x14005d35d
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x50], r8d
mov r15d, dword [rsp + 0x60]
mov dword [rsp + 0x68], eax
call fcn.14003b8a0
mov rax, qword [0x14011e4e0]
mov rcx, qword [r13]
movsx rdx, word [rax + 2]
imul rdx, rdx, 0x260c8
lea rdx, [rcx + rdx - 0x260c8]
mov ecx, dword [rdx + 0x260bc]
lea r9, [rdx + 0x260a0]
mov dword [rax + 0xba], ecx
mov ecx, dword [rdx + 0x260b8]
mov dword [rax + 0xb6], ecx
lea rcx, [rdx + 0x26098]
mov rax, qword [0x14011dfa0]
mov qword [rbp], rcx
mov rcx, qword [0x14011def0]
mov qword [rcx], r9
mov r9, qword [rdx + 0x26090]
mov rcx, qword [rax]
mov qword [rcx + 0x140], r9
mov qword [rdx + 0x26090], 0
call fcn.14003d560
mov r8d, dword [rsp + 0x50]
mov edx, 0x64
mov rax, qword [0x14011e4e0]
movd xmm6, dword [rdi + 0xf8]
mov dword [rdi + 0xf8], 0
cmp r8d, edx
cmova r8d, edx
mov r14d, dword [rax + 0xa8]
mov eax, dword [rsp + 0x68]
lea ebx, [r8 - 1]
cmp eax, r15d
je 0x14005d505
cmp ebx, r14d
mov rcx, qword [0x14011e4e0]
mov eax, r14d
cmovae eax, ebx
sub eax, ebx
mov dword [rcx + 0xa8], eax
call fcn.1400647a0
mov eax, ebx
sub ebx, 1
test eax, eax
jne 0x14005d4df
mov rax, qword [0x14011e4e0]
movd dword [rdi + 0xf8], xmm6
mov dword [rax + 0xa8], r14d
movzx eax, word [rax + 0xa0]
test ax, ax
jg 0x14005d538
mov rbx, qword [0x14011e4e0]
add eax, 0x64
mov word [rbx + 0xa0], ax
mov rax, qword [0x14011e4e0]
mov rcx, qword [r13]
movsx rdx, word [rax + 2]
mov rax, rdx
imul rdx, rdx, 0x260c8
lea rdx, [rcx + rdx - 0x260c8]
cmp byte [rdx], 0
jne 0x14005d57e
mov rbx, qword [0x14011dfe0]
mov byte [rdx], 1
mov rdx, qword [rbx]
cmp eax, dword [rdx + 0x3c]
je 0x14005dba1
cmp eax, dword [rdx + 0x38]
je 0x14005db82
cmp word [rsp + 0x80], 0
je 0x14005d9d6
cmp word [rsp + 0x80], 1
je 0x14005db4f
cmp word [rsp + 0x80], 0xffff
jne 0x14005d5ba
mov rax, qword [0x14011e4e0]
mov eax, dword [rax + 0xba]
mov dword [rdi + 0xf8], eax
mov rcx, qword [0x14011e340]
movd xmm1, dword [rdi + 0xf8]
lea r9, [rcx + 0x10]
movd xmm0, dword [rcx]
paddw xmm0, xmm1
pextrw edx, xmm0, 0
pextrw eax, xmm0, 1
movsx rdx, dx
movsx rax, ax
imul rdx, rdx, 0x7b4
imul rax, rax, 0x44
add rax, rdx
add rax, qword [0x14011e400]
mov edx, dword [rax]
mov r8d, dword [rax + 4]
shl rdx, 8
shl r8, 8
mov edx, dword [rsi + rdx + 0x2c]
or edx, dword [rsi + r8 + 0x2c]
mov r8d, dword [rax + 0xc]
shl r8, 8
or edx, dword [rsi + r8 + 0x2c]
mov r8d, dword [rax + 8]
shl r8, 8
or edx, dword [rsi + r8 + 0x2c]
and edx, 0x829c1
jne 0x14005d729
test dword [rax + 0x10], 0x3000128
jne 0x14005d729
movd dword [rsp + 0xbc], xmm0
mov edx, dword [rsp + 0xbc]
mov rbx, qword [0x14011e400]
mov eax, edx
mov dword [rdi + 0xf8], edx
movsx rdx, dx
imul r8, rdx, 0x7b4
sar eax, 0x10
cdqe
imul rcx, rax, 0x44
add rcx, r8
or dword [rbx + rcx + 0x10], 4
mov ecx, dword [rsp + 0x84]
test ecx, ecx
je 0x14005ce72
mov rbx, qword [0x14011e4e0]
movsx r8d, word [rbx + 0xb6]
lea r15d, [r8 - 1]
add r8d, 1
movsx ecx, r15w
cmp r8d, ecx
jl 0x14005ce72
mov r14d, ecx
mov rax, qword [0x14011e4e0]
movsx eax, word [rax + 0xb8]
lea ebx, [rax - 1]
add eax, 1
cmp r15w, 0x4e
movsx edx, bx
setbe r12b
cmp edx, eax
jle 0x14005d6ff
jmp 0x14005ce40
mov rax, qword [0x14011e4e0]
add ebx, 1
movsx edx, bx
movsx eax, word [rax + 0xb8]
add eax, 1
cmp edx, eax
jg 0x14005ce40
cmp bx, 0x1c
ja 0x14005d6e0
test r12b, r12b
je 0x14005d6e0
mov ecx, r14d
call fcn.140060290
jmp 0x14005d6e0
call fcn.140068a30
mov qword [rbx + 0x178], 0
jmp 0x14005d097
add rcx, 4
cmp rcx, r9
jne 0x14005d5cd
pextrw r9d, xmm1, 1
pextrw r8d, xmm1, 0
lea rcx, [rsp + 0xbc]
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x40], 0x3000128
movsx r9d, r9w
movsx r8d, r8w
lea rdx, [rsp + 0xbe]
mov dword [rsp + 0x38], 0x829c1
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x82181
mov dword [rsp + 0x20], 1
movd dword [rsp + 0xbc], xmm0
call fcn.140069540
jmp 0x14005d64f
call fcn.1400689c0
mov rsi, rax
call fcn.1400689c0
xor edx, edx
mov rcx, rsi
mov rbx, rax
call fcn.140068aa0
xor edx, edx
mov rcx, rbx
call fcn.140068aa0
movsx r8d, word [rdi + 0xfa]
mov rcx, rsi
mov r9d, 0x829c1
movsx edx, word [rdi + 0xf8]
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], 0
call fcn.140008ea0
mov rax, qword [0x14011e4e0]
mov rcx, rbx
mov r9d, 0x829c1
mov rdx, qword [r13]
movsx rax, word [rax + 2]
imul rax, rax, 0x260c8
lea rax, [rdx + rax - 0x260c8]
movsx edx, word [rax + 0x260c0]
movsx r8d, word [rax + 0x260c2]
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], 0
call fcn.140008ea0
mov rdx, qword [rbp]
mov rcx, qword [rsp + 0x58]
call fcn.14000c2e0
jmp 0x14005d874
mov rcx, qword [rsp + 0x58]
call fcn.14000c330
mov r8, rbx
mov rdx, rsi
mov rcx, rax
call fcn.14003d240
mov rcx, qword [rsp + 0x78]
movdqa xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xa0], xmm0
call fcn.14000c320
test al, al
jne 0x14005d85c
mov rcx, rsi
call fcn.140068a30
mov rcx, rbx
call fcn.140068a30
jmp 0x14005ceeb
call fcn.1400689c0
xor edx, edx
mov qword [r14 + 0x260a8], rax
mov rax, qword [0x14011e4e0]
movsx rax, word [rax + 2]
imul rax, rax, 0x260c8
add rax, qword [r13]
mov rcx, qword [rax - 0x20]
mov rax, qword [0x14011e500]
mov qword [rax], rcx
call fcn.140068aa0
call fcn.140068680
test rax, rax
mov rbx, rax
je 0x14005d8e0
mov rax, qword [0x14011e4e0]
movsx rax, word [rax + 2]
imul rax, rax, 0x260c8
add rax, qword [r13]
mov rcx, qword [rax - 0x18]
call fcn.140068720
mov rax, qword [0x14011e4e0]
mov rdx, qword [r13]
movsx rax, word [rax + 2]
imul rax, rax, 0x260c8
lea rax, [rdx + rax - 0x260c8]
lea rdx, [rax + 0x26098]
mov qword [rbp], rdx
mov rdx, qword [0x14011def0]
lea rcx, [rax + 0x260a0]
mov qword [rdx], rcx
mov rcx, qword [0x14011dfa0]
mov rdx, qword [rcx]
mov rcx, qword [rax + 0x26090]
mov qword [rdx + 0x140], rcx
mov qword [rax + 0x26090], 0
call fcn.1400401f0
call fcn.14003dad0
call fcn.14003b8a0
xor edx, edx
mov ecx, 0x64
call fcn.140043d40
mov rax, qword [0x14011e4e0]
movsx edx, word [rax + 2]
mov rax, qword [0x14011dfe0]
mov rax, qword [rax]
cmp edx, dword [rax + 0x3c]
je 0x14005dbe0
mov rcx, rbx
mov ebx, 0x31
call fcn.140068720
mov rax, qword [0x14011e4e0]
movd xmm6, dword [rdi + 0xf8]
mov dword [rdi + 0xf8], 0
mov r14d, dword [rax + 0xa8]
jmp 0x14005d4df
mov edx, dword [rdi + 0xf8]
xor r9d, r9d
mov dword [rsp + 0x38], 0
mov r8d, 1
lea rcx, [rsp + 0xbc]
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x3000128
mov dword [rsp + 0x20], 0x809c1
call fcn.140012be0
movsx rax, word [rsp + 0xbe]
movsx rdx, word [rsp + 0xbc]
imul rax, rax, 0x44
imul rdx, rdx, 0x7b4
add rax, rdx
add rax, qword [0x14011e400]
mov rdx, rax
mov eax, dword [rax]
mov ecx, dword [rdx + 4]
shl rax, 8
shl rcx, 8
mov eax, dword [rsi + rax + 0x2c]
or eax, dword [rsi + rcx + 0x2c]
mov ecx, dword [rdx + 0xc]
mov edx, dword [rdx + 8]
shl rcx, 8
shl rdx, 8
or eax, dword [rsi + rcx + 0x2c]
or eax, dword [rsi + rdx + 0x2c]
test ah, 0x20
je 0x14005d64f
mov edx, dword [rdi + 0xf8]
xor r9d, r9d
mov r8d, 1
mov dword [rsp + 0x38], 0
mov rcx, qword [rsp + 0x58]
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x3000128
mov dword [rsp + 0x20], 0x829c1
call fcn.140012be0
movsx edx, word [rsp + 0xbe]
mov dword [rsp + 0x20], 0x809c1
movsx ecx, word [rsp + 0xbc]
movsx r9d, word [rsp + 0xc2]
movsx r8d, word [rsp + 0xc0]
call fcn.140009280
cmp ax, 0x7530
jne 0x14005d64f
mov eax, dword [rsp + 0xc0]
mov dword [rsp + 0xbc], eax
jmp 0x14005d64f
mov rdi, qword [0x14011e3b0]
mov rax, qword [r13]
mov edx, dword [rdi + 0xf8]
mov dword [rax + r15 + 0x260c0], edx
mov rax, qword [0x14011e4e0]
cmp word [rax + 2], bx
jne 0x14005ca83
lea rax, [rsp + 0xc0]
mov rsi, qword [0x14011e5b0]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0xa0]
mov rbp, qword [0x14011e320]
mov qword [rsp + 0x78], rax
jmp 0x14005d06a
mov rax, qword [0x14011e4e0]
mov eax, dword [rax + 0xb6]
mov dword [rdi + 0xf8], eax
jmp 0x14005d5ba
test eax, 0x1001
jne 0x14005cec7
mov rax, qword [0x14011e4e0]
mov byte [rax + 0x16], 1
jmp 0x14005cec7
mov rax, qword [0x14011e1a0]
xor r8d, r8d
mov rax, qword [rax]
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
call fcn.14004ea90
jmp 0x14005d57e
mov rax, qword [0x14011e1a0]
xor r8d, r8d
mov rax, qword [rax]
mov rdx, qword [rax + 8]
mov rcx, qword [rax]
call fcn.14004ea90
jmp 0x14005d57e
mov eax, 0x504000
jmp 0x14005d2d0
add r8d, r10d
add r9d, r11d
movsx eax, r8w
movsx ebx, r9w
mov dword [rsp + 0x50], eax
jmp 0x14005cb6b
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0x400
call fcn.14001ea40
test ax, ax
jne 0x14005d9a4
mov rax, qword [0x14011e4e0]
movsx rax, word [rax + 2]
imul rax, rax, 0x260c8
add rax, qword [r13]
cmp byte [rax - 0x260c8], 0
jne 0x14005d9a4
mov rax, qword [0x14011dfa0]
mov rax, qword [rax]
mov r14, qword [rax + 0x140]
test r14, r14
jne 0x14005dc4c
jmp 0x14005dc54
mov r14, qword [r14 + 0x140]
test r14, r14
je 0x14005dc54
test word [r14], 0x400
je 0x14005dc40
mov rdx, qword [rbp]
mov rcx, qword [rsp + 0x58]
call fcn.14000c2e0
mov rcx, qword [rsp + 0x78]
movdqa xmm1, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xa0], xmm1
call fcn.14000c320
test al, al
je 0x14005dd06
mov rcx, qword [rsp + 0x58]
call fcn.14000c330
mov rax, qword [rax + 0x230]
test rax, rax
je 0x14005dc62
movzx eax, word [rax]
test ah, 4
je 0x14005dc62
jmp 0x14005d9a4
or ecx, 0x10
mov dword [rax + 0x210], ecx
jmp 0x14005cc17
or ecx, 0x20
mov dword [rax + 0x210], ecx
jmp 0x14005cc17
mov rbx, qword [0x14011e4e0]
cmp qword [rbx + 0x78], rax
jne 0x14005cc17
jmp 0x14005cde4
cmp r8d, 0x63
mov edx, 1
jle 0x14005ce02
movsxd rdx, r8d
sar r8d, 0x1f
imul rdx, rdx, 0x51eb851f
sar rdx, 0x25
sub edx, r8d
add edx, 1
jmp 0x14005ce02
test r14, r14
jne 0x14005d9a4
xor edx, edx
mov ecx, 0x400
call fcn.140023550
mov edx, 0xffffffff
mov rcx, rax
call fcn.140026d30
jmp 0x14005d9a4