Function at 0x140177360
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, 0x198
cmp dword [rcx + 0x6c], 0
mov rbx, rcx
mov dword [rsp + 0x74], edx
jle 0x1401773b6
mov edx, dword [rcx + 0x288]
mov eax, dword [rcx + 0x28c]
not edx
rol eax, 1
mov dword [rcx + 0x288], edx
xor eax, edx
cmp dword [rcx + 0x294], 1
mov dword [rcx + 0x28c], eax
jle 0x1401773ae
xor r8d, r8d
mov dword [rcx + 0x74], r8d
mov rcx, rbx
call fcn.140175f70
movsxd rax, dword [rbx + 0x6c]
add rax, qword [rbx + 0x20]
cmp dword [rbx + 0x294], 1
mov qword [rbx + 0x50], rax
jne 0x14017740f
xor ecx, ecx
mov edx, 0x42
mov qword [rbx + 0x280], rcx
mov rcx, rbx
call fcn.1401bfb90
mov edx, 0x5a
mov rcx, rbx
call fcn.1401bfb90
mov edx, 0x68
mov rcx, rbx
call fcn.1401bfb90
mov al, byte [rbx + 0x298]
mov rcx, rbx
lea edx, [rax + 0x30]
movzx edx, dl
call fcn.1401bfb90
cmp dword [rbx + 0x6c], 0
jle 0x140178ccf
mov edx, 0x31
mov rcx, rbx
call fcn.1401bfb90
mov edx, 0x41
mov rcx, rbx
call fcn.1401bfb90
mov edx, 0x59
mov rcx, rbx
call fcn.1401bfb90
mov edx, 0x26
mov rcx, rbx
call fcn.1401bfb90
mov edx, 0x53
mov rcx, rbx
call fcn.1401bfb90
mov edx, 0x59
mov rcx, rbx
call fcn.1401bfb90
mov edx, dword [rbx + 0x288]
mov rcx, rbx
call fcn.1401bfba0
xor r8d, r8d
mov edx, 1
mov rcx, rbx
call fcn.1401bfc00
mov r8d, dword [rbx + 0x30]
mov edx, 0x18
mov rcx, rbx
call fcn.1401bfc00
mov rax, qword [rbx + 0x38]
xor edx, edx
mov r13, qword [rbx + 0x40]
mov dword [rbx + 0x7c], edx
mov rsi, qword [rbx + 0x48]
mov qword [rsp + 0x38], rax
xor eax, eax
cmp byte [rbx + rax + 0x80], 0
je 0x1401774c7
mov edx, dword [rbx + 0x7c]
mov byte [rbx + rax + 0x180], dl
inc edx
mov dword [rbx + 0x7c], edx
inc rax
cmp rax, 0x100
jne 0x1401774ae
mov edx, dword [rbx + 0x7c]
lea r8, [rbx + 0x2a0]
mov rdi, r8
lea r11d, [rdx + 2]
cmp edx, 0xfffffffe
lea r15d, [rdx + 1]
setge bpl
xor eax, eax
mov dword [rsp + 0x48], r11d
lea rcx, [r11*4]
test bpl, bpl
cmovne rax, rcx
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x58]
xor eax, eax
rep stosb byte [rdi], al
xor eax, eax
cmp edx, eax
jle 0x140177524
mov byte [rsp + rax + 0x90], al
inc rax
jmp 0x140177514
mov edi, dword [rbx + 0x6c]
xor r8d, r8d
xor eax, eax
xor edx, edx
lea r14, [rsp + 0x90]
cmp edi, r8d
jle 0x14017760a
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + r8*4]
dec ecx
jns 0x14017754e
add ecx, edi
movsxd rcx, ecx
movzx ecx, byte [r13 + rcx]
mov r9b, byte [rbx + rcx + 0x180]
mov cl, byte [rsp + 0x90]
cmp r9b, cl
jne 0x140177572
inc edx
jmp 0x140177602
test edx, edx
jle 0x1401775b2
dec edx
cdqe
test dl, 1
je 0x14017758d
mov word [rsi + rax*2], 1
inc dword [rbx + 0x2a4]
jmp 0x140177599
mov word [rsi + rax*2], 0
inc dword [rbx + 0x2a0]
cmp edx, 1
lea r10, [rax + 1]
jg 0x1401775a8
inc eax
xor edx, edx
jmp 0x1401775b2
sub edx, 2
mov rax, r10
sar edx, 1
jmp 0x14017757a
mov r10b, byte [rsp + 0x91]
mov byte [rsp + 0x91], cl
lea rcx, [rsp + 0x91]
cmp r9b, r10b
je 0x1401775dd
mov r12b, byte [rcx + 1]
inc rcx
mov byte [rcx], r10b
mov r10d, r12d
jmp 0x1401775c9
sub rcx, r14
mov byte [rsp + 0x90], r9b
movsxd r9, eax
inc eax
lea r10d, [rcx + 1]
inc ecx
movsxd rcx, ecx
mov word [rsi + r9*2], r10w
inc dword [rbx + rcx*4 + 0x2a0]
inc r8
jmp 0x140177536
test edx, edx
jle 0x140177648
dec edx
cdqe
test dl, 1
je 0x140177625
mov word [rsi + rax*2], 1
inc dword [rbx + 0x2a4]
jmp 0x140177631
mov word [rsi + rax*2], 0
inc dword [rbx + 0x2a0]
cmp edx, 1
lea rcx, [rax + 1]
jg 0x14017763e
inc eax
jmp 0x140177648
sub edx, 2
mov rax, rcx
sar edx, 1
jmp 0x140177612
lea r8d, [rax + 1]
movsxd rdx, eax
movsxd rax, r15d
mov qword [rsp + 0x38], rbx
mov word [rsi + rdx*2], r15w
lea r9, [rbx + 0x9958]
xor r10d, r10d
inc dword [rbx + rax*4 + 0x2a0]
lea rax, [rbx + 0x934c]
mov dword [rbx + 0x29c], r8d
mov qword [rsp + 0x60], rax
mov rdx, rax
mov al, 0xf
test bpl, bpl
mov rcx, r10
mov rdi, rdx
cmovne rcx, r11
add rdx, 0x102
cmp rdx, r9
rep stosb byte [rdi], al
jne 0x140177685
test r8d, r8d
jg 0x1401776af
mov ecx, 0xbb9
call fcn.14003eeec
mov ecx, dword [rbx + 0x29c]
mov ebp, 2
cmp ecx, 0xc7
jle 0x1401776eb
cmp ecx, 0x257
mov ebp, 3
jle 0x1401776eb
cmp ecx, 0x4af
mov ebp, 4
jle 0x1401776eb
xor ebp, ebp
cmp ecx, 0x95f
setg bpl
add ebp, 5
movsxd rax, ebp
mov r12d, ebp
xor r10d, r10d
imul r14, rax, 0x102
mov edi, 2
lea r11, [rbx + r14]
mov eax, ecx
xor r8d, r8d
cdq
idiv r12d
lea edx, [r10 - 1]
movsxd rdx, edx
lea r9, [rdx + 1]
cmp r15d, edx
jle 0x14017772f
cmp eax, r8d
jle 0x14017772f
add r8d, dword [rbx + r9*4 + 0x2a0]
mov rdx, r9
jmp 0x140177714
cmp edx, r10d
mov r9d, edx
setg dl
cmp r12d, ebp
setne al
test dl, al
je 0x140177762
cmp r12d, 1
je 0x140177762
mov eax, ebp
sub eax, r12d
cdq
idiv edi
dec edx
jne 0x140177762
movsxd rax, r9d
dec r9d
sub r8d, dword [rbx + rax*4 + 0x2a0]
xor eax, eax
mov edx, dword [rsp + 0x48]
mov r13d, eax
cmp eax, edx
jge 0x14017778a
cmp r10d, eax
jg 0x14017777b
xor edx, edx
cmp r9d, r13d
jge 0x14017777d
mov dl, 0xf
mov byte [r11 + rax + 0x924a], dl
inc rax
jmp 0x140177764
lea r10d, [r9 + 1]
sub ecx, r8d
sub r11, 0x102
dec r12d
jne 0x140177704
mov eax, ebp
mov dword [rsp + 0x4c], 4
add rax, rax
mov qword [rsp + 0x78], rax
lea rax, [rbx + r14 + 0x934c]
mov qword [rsp + 0x68], rax
lea rax, [rbx + 0xb188]
xor r8d, r8d
mov qword [rsp + 0x50], rax
mov rdx, rax
mov rcx, qword [rsp + 0x58]
inc r8d
mov rdi, rdx
xor eax, eax
add rdx, 0x408
cmp r8d, ebp
rep stosb byte [rdi], al
jne 0x1401777d2
cmp ebp, 6
jne 0x1401777fd
lea rdx, [rbx + 0xc9b8]
xor eax, eax
jmp 0x140177823
mov r15d, dword [rbx + 0x29c]
xor r9d, r9d
lea r10, [rsp + 0x84]
lea eax, [r15 - 1]
mov dword [rsp + 0x70], eax
xor eax, eax
mov qword [rsp + 0x40], rax
jmp 0x14017841c
cmp dword [rsp + 0x48], eax
jle 0x1401777fd
movzx ecx, byte [rbx + rax + 0x944e]
add rdx, 0x10
movzx r8d, byte [rbx + rax + 0x934c]
shl ecx, 0x10
or ecx, r8d
mov dword [rdx - 0x10], ecx
movzx ecx, byte [rbx + rax + 0x9652]
movzx r8d, byte [rbx + rax + 0x9550]
shl ecx, 0x10
or ecx, r8d
mov dword [rdx - 0xc], ecx
movzx ecx, byte [rbx + rax + 0x9856]
movzx r8d, byte [rbx + rax + 0x9754]
inc rax
shl ecx, 0x10
or ecx, r8d
mov dword [rdx - 8], ecx
jmp 0x140177823
mov rcx, qword [rsp + 0x78]
lea r8d, [r9 + 0x31]
mov rdi, r10
cmp r15d, r8d
cmovle r8d, dword [rsp + 0x70]
xor eax, eax
cmp ebp, 6
rep stosb byte [rdi], al
movsxd rax, r9d
jne 0x140178445
mov edx, r8d
sub edx, r9d
cmp edx, 0x31
jne 0x140178445
movzx r13d, word [rsi + rax*2 + 2]
lea rcx, [rax + rax]
movzx edx, word [rsi + rax*2 + 4]
movzx edi, word [rsi + rcx]
mov r11, r13
shl r13, 4
mov rax, rdx
shl r11, 4
add r13, rbx
shl rax, 4
shl rdx, 4
mov eax, dword [rax + rbx + 0xc9b8]
add rdx, rbx
add eax, dword [rbx + r11 + 0xc9b8]
mov r11, rdi
shl rdi, 4
add rdi, rbx
shl r11, 4
add eax, dword [rbx + r11 + 0xc9b8]
mov r11d, dword [rdx + 0xc9bc]
mov edx, dword [rdx + 0xc9c0]
add r11d, dword [r13 + 0xc9bc]
add edx, dword [r13 + 0xc9c0]
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 6]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 8]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0xa]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0xc]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0xe]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x10]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x12]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x14]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x16]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x18]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x1a]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x1c]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x1e]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x20]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x22]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x24]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x26]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x28]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x2a]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x2c]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x2e]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x30]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add edx, dword [rdi + 0xc9c0]
add r11d, dword [rdi + 0xc9bc]
movzx edi, word [rsi + rcx + 0x32]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x34]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x36]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x38]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x3a]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x3c]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x3e]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x40]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x42]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x44]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x46]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x48]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x4a]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x4c]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x4e]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x50]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x52]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x54]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x56]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x58]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x5a]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x5c]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x5e]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
movzx edi, word [rsi + rcx + 0x60]
movzx ecx, word [rsi + rcx + 0x62]
mov r13, rdi
shl r13, 4
mov rdi, r13
add eax, dword [rbx + r13 + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
mov rdi, rcx
shl rcx, 4
shl rdi, 4
add eax, dword [rbx + rcx + 0xc9b8]
add rdi, rbx
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
mov dword [rsp + 0x84], eax
mov dword [rsp + 0x88], r11d
mov dword [rsp + 0x8c], edx
xor edx, edx
or rax, 0xffffffffffffffff
mov ecx, 0x3b9ac9ff
movzx r11d, word [r10 + rdx*2]
cmp r11d, ecx
jge 0x14017808a
movsxd rax, edx
mov ecx, r11d
inc rdx
cmp ebp, edx
jg 0x14017807a
mov rdi, qword [rsp + 0x40]
cmp ebp, 6
movsxd rdx, r9d
mov byte [rbx + rdi + 0x6a8], al
jne 0x140178459
mov ecx, r8d
sub ecx, r9d
cmp ecx, 0x31
jne 0x140178459
imul rax, rax, 0x102
add rdx, rdx
movzx ecx, word [rsi + rdx]
lea rcx, [rcx + rax + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 2]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 4]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 6]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 8]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0xa]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0xc]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0xe]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x10]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x12]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x14]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x16]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x18]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x1a]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x1c]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x1e]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x20]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x22]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x24]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x26]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x28]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x2a]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x2c]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x2e]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x30]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x32]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x34]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x36]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x38]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x3a]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x3c]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x3e]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x40]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x42]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x44]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x46]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x48]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x4a]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x4c]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x4e]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x50]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x52]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x54]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x56]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x58]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x5a]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x5c]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x5e]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
movzx ecx, word [rsi + rdx + 0x60]
movzx edx, word [rsi + rdx + 0x62]
lea rcx, [rax + rcx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
lea rax, [rax + rdx + 0x2c60]
inc dword [rbx + rax*4 + 8]
inc qword [rsp + 0x40]
lea r9d, [r8 + 1]
cmp r15d, r9d
jg 0x140177880
jmp 0x14017847a
movzx r11d, byte [rcx + 0x934c]
add rcx, 0x102
add word [r10 + rdx*2], r11w
inc rdx
cmp ebp, edx
jg 0x140178427
inc rax
cmp r8d, eax
jl 0x14017806f
movzx ecx, word [rsi + rax*2]
xor edx, edx
add rcx, rbx
jmp 0x140178427
imul rax, rax, 0x102
cmp r8d, edx
jl 0x140178413
movzx ecx, word [rsi + rdx*2]
inc rdx
lea rcx, [rcx + rax + 0x2c60]
inc dword [rbx + rcx*4 + 8]
jmp 0x140178460
mov rdi, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x48]
mov rcx, rdi
mov r9d, 0x11
add rdi, 0x102
mov rdx, qword [rsp + 0x50]
call fcn.14017aee0
add qword [rsp + 0x50], 0x408
cmp qword [rsp + 0x68], rdi
jne 0x14017847f
dec dword [rsp + 0x4c]
jne 0x1401777c0
xor eax, eax
mov byte [rsp + rax + 0x90], al
inc rax
cmp ebp, eax
jg 0x1401784ba
mov r13d, dword [rsp + 0x40]
xor eax, eax
mov cl, byte [rsp + 0x90]
cmp r13d, eax
jle 0x140178511
mov r8b, byte [rbx + rax + 0x6a8]
xor edx, edx
lea r9, [rdx + 1]
cmp r8b, cl
je 0x140178505
mov r10b, byte [rsp + rdx + 0x91]
mov byte [rsp + rdx + 0x91], cl
mov rdx, r9
mov ecx, r10d
jmp 0x1401784e5
mov byte [rbx + rax + 0x4cfa], dl
inc rax
jmp 0x1401784d6
lea rax, [rbx + r14]
mov rdi, rbx
lea r15, [rbx + 0x9958]
mov qword [rsp + 0x50], rax
xor r9d, r9d
xor eax, eax
mov r14d, 0x20
cmp dword [rsp + 0x48], eax
jle 0x140178550
movzx edx, byte [rdi + rax + 0x934c]
cmp r9d, edx
cmovl r9d, edx
cmp r14d, edx
cmovg r14d, edx
inc rax
jmp 0x14017852f
cmp r9d, 0x11
jle 0x14017856a
mov ecx, 0xbbc
mov dword [rsp + 0x58], r9d
call fcn.14003eeec
mov r9d, dword [rsp + 0x58]
test r14d, r14d
jg 0x140178583
mov ecx, 0xbbd
mov dword [rsp + 0x58], r9d
call fcn.14003eeec
mov r9d, dword [rsp + 0x58]
mov eax, dword [rsp + 0x48]
lea rdx, [rdi + 0x934c]
mov rcx, r15
mov r8d, r14d
add r15, 0x408
add rdi, 0x102
mov dword [rsp + 0x20], eax
call fcn.14017adf0
cmp qword [rsp + 0x50], rdi
jne 0x140178524
lea r11, [rsp + 0x90]
mov ecx, 4
xor eax, eax
mov rdi, r11
mov rdx, r11
rep stosd dword [rdi], eax
mov rcx, rbx
xor eax, eax
cmp byte [rcx + rax + 0x80], 0
je 0x1401785df
mov byte [rdx], 1
inc rax
cmp rax, 0x10
jne 0x1401785d2
add dword [rsp + 0x4c], 0x10
add rcx, 0x10
inc rdx
cmp dword [rsp + 0x4c], 0x100
jne 0x1401785d0
xor edi, edi
cmp byte [r11 + rdi], 0
mov r8d, 1
jne 0x140178610
xor r8d, r8d
mov edx, 1
mov rcx, rbx
inc rdi
call fcn.1401bfc00
cmp rdi, 0x10
jne 0x140178600
xor r14d, r14d
cmp byte [r11 + r14], 0
jne 0x140178660
inc r14
cmp r14, 0x10
jne 0x140178629
mov r8d, ebp
mov edx, 3
mov rcx, rbx
call fcn.1401bfc00
mov r8d, dword [rsp + 0x40]
mov rcx, rbx
xor r11d, r11d
mov edx, 0xf
call fcn.1401bfc00
jmp 0x1401786ab
mov r15, r14
xor edi, edi
shl r15, 4
add r15, rbx
cmp byte [r15 + rdi + 0x80], 0
mov r8d, 1
jne 0x140178680
xor r8d, r8d
mov edx, 1
mov rcx, rbx
inc rdi
call fcn.1401bfc00
cmp rdi, 0x10
jne 0x14017866c
jmp 0x140178630
xor r8d, r8d
mov edx, 1
mov rcx, rbx
call fcn.1401bfc00
inc r11
cmp r13d, r11d
jle 0x1401786d6
xor edi, edi
movzx eax, byte [rbx + r11 + 0x4cfa]
cmp edi, eax
jge 0x140178698
mov r8d, 1
mov edx, 1
mov rcx, rbx
call fcn.1401bfc00
inc edi
jmp 0x1401786b2
mov rax, qword [rsp + 0x38]
mov edx, 5
mov rcx, rbx
xor r15d, r15d
movzx r11d, byte [rax + 0x934c]
mov r8d, r11d
call fcn.1401bfc00
mov rdi, qword [rsp + 0x38]
mov eax, dword [rsp + 0x48]
cmp r15d, eax
jge 0x140178764
movzx eax, byte [rdi + 0x934c]
cmp r11d, eax
jge 0x140178728
mov r8d, 2
mov edx, 2
mov rcx, rbx
call fcn.1401bfc00
inc r11d
jmp 0x140178704
movzx eax, byte [rdi + 0x934c]
cmp r11d, eax
jle 0x14017874c
mov r8d, 3
mov edx, 2
mov rcx, rbx
call fcn.1401bfc00
dec r11d
jmp 0x140178728
xor r8d, r8d
mov edx, 1
mov rcx, rbx
call fcn.1401bfc00
inc r15d
inc rdi
jmp 0x1401786fb
add qword [rsp + 0x38], 0x102
mov rdi, qword [rsp + 0x50]
cmp qword [rsp + 0x38], rdi
jne 0x1401786d6
xor r15d, r15d
mov eax, dword [rbx + 0x29c]
cmp eax, r12d
jle 0x140178cc0
lea edi, [r12 + 0x31]
cmp eax, edi
jg 0x14017879b
lea edi, [rax - 1]
movzx eax, byte [rbx + r15 + 0x6a8]
cmp eax, ebp
jl 0x1401787b2
mov ecx, 0xbbe
call fcn.14003eeec
cmp ebp, 6
movsxd r11, r12d
jne 0x140178c75
mov eax, edi
sub eax, r12d
cmp eax, 0x31
jne 0x140178c75
movzx eax, byte [rbx + r15 + 0x6a8]
add r11, r11
mov rcx, rbx
imul rdx, rax, 0x102
imul rax, rax, 0x408
lea r14, [rbx + rdx + 0x934c]
lea r12, [rbx + rax + 0x9958]
movzx eax, word [rsi + r11]
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 2]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 4]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 6]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 8]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0xa]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0xc]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0xe]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x10]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x12]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x14]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x16]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x18]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x1a]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x1c]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x1e]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x20]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x22]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x24]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x26]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x28]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x2a]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x2c]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x2e]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x30]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x32]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x34]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x36]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x38]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x3a]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x3c]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x3e]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x40]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x42]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x44]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x46]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x48]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x4a]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x4c]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x4e]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x50]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x52]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x54]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x56]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x58]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x5a]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x5c]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x5e]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x60]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
movzx eax, word [rsi + r11 + 0x62]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1401bfc00
jmp 0x140178cb4
cmp edi, r11d
jl 0x140178cb4
movzx eax, byte [rbx + r15 + 0x6a8]
movzx edx, word [rsi + r11*2]
inc r11
imul rax, rax, 0x102
lea rcx, [rdx + rax + 0x2654]
add rax, rbx
mov r8d, dword [rbx + rcx*4 + 8]
mov rcx, rbx
movzx edx, byte [rdx + rax + 0x934c]
call fcn.1401bfc00
jmp 0x140178c75
lea r12d, [rdi + 1]
inc r15
jmp 0x140178780
cmp r13d, r15d
je 0x140178ccf
mov ecx, 0xbbf
call fcn.14003eeec
cmp byte [rsp + 0x74], 0
je 0x140178d64
mov edx, 0x17
mov rcx, rbx
call fcn.1401bfb90
mov edx, 0x72
mov rcx, rbx
call fcn.1401bfb90
mov edx, 0x45
mov rcx, rbx
call fcn.1401bfb90
mov edx, 0x38
mov rcx, rbx
call fcn.1401bfb90
mov edx, 0x50
mov rcx, rbx
call fcn.1401bfb90
mov edx, 0x90
mov rcx, rbx
call fcn.1401bfb90
mov edx, dword [rbx + 0x28c]
mov rcx, rbx
call fcn.1401bfba0
cmp dword [rbx + 0x284], 0
jle 0x140178d64
movsxd rax, dword [rbx + 0x74]
movzx ecx, byte [rbx + 0x283]
mov rdx, qword [rbx + 0x50]
mov byte [rdx + rax], cl
inc dword [rbx + 0x74]
shl dword [rbx + 0x280], 8
sub dword [rbx + 0x284], 8
jmp 0x140178d36
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret