Function at 0x140121600
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 dword [rsp + 0x74], edx
mov rbx, rcx
jle 0x140121656
mov edx, dword [rcx + 0x288]
mov eax, dword [rcx + 0x28c]
not edx
rol eax, 1
xor eax, edx
cmp dword [rcx + 0x294], 1
mov dword [rcx + 0x288], edx
mov dword [rcx + 0x28c], eax
jle 0x14012164e
xor r8d, r8d
mov dword [rcx + 0x74], r8d
mov rcx, rbx
call fcn.140120210
movsxd rax, dword [rbx + 0x6c]
add rax, qword [rbx + 0x20]
cmp dword [rbx + 0x294], 1
mov qword [rbx + 0x50], rax
jne 0x1401216af
xor ecx, ecx
mov edx, 0x42
mov qword [rbx + 0x280], rcx
mov rcx, rbx
call fcn.14017efd0
mov edx, 0x5a
mov rcx, rbx
call fcn.14017efd0
mov edx, 0x68
mov rcx, rbx
call fcn.14017efd0
mov al, byte [rbx + 0x298]
mov rcx, rbx
lea edx, [rax + 0x30]
movzx edx, dl
call fcn.14017efd0
cmp dword [rbx + 0x6c], 0
jle 0x140122f70
mov edx, 0x31
mov rcx, rbx
call fcn.14017efd0
mov edx, 0x41
mov rcx, rbx
call fcn.14017efd0
mov edx, 0x59
mov rcx, rbx
call fcn.14017efd0
mov edx, 0x26
mov rcx, rbx
call fcn.14017efd0
mov edx, 0x53
mov rcx, rbx
call fcn.14017efd0
mov edx, 0x59
mov rcx, rbx
call fcn.14017efd0
mov edx, dword [rbx + 0x288]
mov rcx, rbx
call fcn.14017efe0
xor r8d, r8d
mov edx, 1
mov rcx, rbx
call fcn.14017f040
mov r8d, dword [rbx + 0x30]
mov edx, 0x18
mov rcx, rbx
call fcn.14017f040
xor edx, edx
mov rax, qword [rbx + 0x38]
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 0x140121767
mov edx, dword [rbx + 0x7c]
mov byte [rbx + rax + 0x180], dl
inc edx
mov dword [rbx + 0x7c], edx
inc rax
cmp rax, 0x100
jne 0x14012174e
mov edx, dword [rbx + 0x7c]
lea r8, [rbx + 0x2a0]
mov rdi, r8
cmp edx, 0xfffffffe
lea r11d, [rdx + 2]
lea r15d, [rdx + 1]
setge bpl
lea rcx, [r11*4]
xor eax, eax
mov dword [rsp + 0x48], r11d
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 0x1401217c4
mov byte [rsp + rax + 0x90], al
inc rax
jmp 0x1401217b4
mov edi, dword [rbx + 0x6c]
xor r8d, r8d
xor eax, eax
xor edx, edx
lea r14, [rsp + 0x90]
cmp edi, r8d
jle 0x1401218aa
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + r8*4]
dec ecx
jns 0x1401217ee
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 0x140121812
inc edx
jmp 0x1401218a2
test edx, edx
jle 0x140121852
dec edx
cdqe
test dl, 1
je 0x14012182d
mov word [rsi + rax*2], 1
inc dword [rbx + 0x2a4]
jmp 0x140121839
mov word [rsi + rax*2], 0
inc dword [rbx + 0x2a0]
lea r10, [rax + 1]
cmp edx, 1
jg 0x140121848
inc eax
xor edx, edx
jmp 0x140121852
sub edx, 2
mov rax, r10
sar edx, 1
jmp 0x14012181a
mov r10b, byte [rsp + 0x91]
mov byte [rsp + 0x91], cl
lea rcx, [rsp + 0x91]
cmp r9b, r10b
je 0x14012187d
mov r12b, byte [rcx + 1]
inc rcx
mov byte [rcx], r10b
mov r10d, r12d
jmp 0x140121869
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 0x1401217d6
test edx, edx
jle 0x1401218e8
dec edx
cdqe
test dl, 1
je 0x1401218c5
mov word [rsi + rax*2], 1
inc dword [rbx + 0x2a4]
jmp 0x1401218d1
mov word [rsi + rax*2], 0
inc dword [rbx + 0x2a0]
lea rcx, [rax + 1]
cmp edx, 1
jg 0x1401218de
inc eax
jmp 0x1401218e8
sub edx, 2
mov rax, rcx
sar edx, 1
jmp 0x1401218b2
movsxd rdx, eax
lea r8d, [rax + 1]
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 rdx, rax
mov qword [rsp + 0x60], rax
mov al, 0xf
test bpl, bpl
mov rcx, r10
mov rdi, rdx
cmovne rcx, r11
add rdx, 0x102
rep stosb byte [rdi], al
cmp rdx, r9
jne 0x140121925
test r8d, r8d
jg 0x14012194f
mov ecx, 0xbb9
call fcn.140032de8
mov ecx, dword [rbx + 0x29c]
mov ebp, 2
cmp ecx, 0xc7
jle 0x14012198b
mov ebp, 3
cmp ecx, 0x257
jle 0x14012198b
mov ebp, 4
cmp ecx, 0x4af
jle 0x14012198b
xor ebp, ebp
cmp ecx, 0x95f
setg bpl
add ebp, 5
movsxd rax, ebp
mov r12d, ebp
xor r10d, r10d
mov edi, 2
imul r14, rax, 0x102
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 0x1401219cf
cmp eax, r8d
jle 0x1401219cf
add r8d, dword [rbx + r9*4 + 0x2a0]
mov rdx, r9
jmp 0x1401219b4
cmp edx, r10d
mov r9d, edx
setg dl
cmp r12d, ebp
setne al
test dl, al
je 0x140121a02
cmp r12d, 1
je 0x140121a02
mov eax, ebp
sub eax, r12d
cdq
idiv edi
dec edx
jne 0x140121a02
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 0x140121a2a
cmp r10d, eax
jg 0x140121a1b
xor edx, edx
cmp r9d, r13d
jge 0x140121a1d
mov dl, 0xf
mov byte [r11 + rax + 0x924a], dl
inc rax
jmp 0x140121a04
lea r10d, [r9 + 1]
sub ecx, r8d
sub r11, 0x102
dec r12d
jne 0x1401219a4
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]
mov rdi, rdx
xor eax, eax
inc r8d
add rdx, 0x408
rep stosb byte [rdi], al
cmp r8d, ebp
jne 0x140121a72
cmp ebp, 6
jne 0x140121a9d
lea rdx, [rbx + 0xc9b8]
xor eax, eax
jmp 0x140121ac3
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 0x1401226bc
cmp dword [rsp + 0x48], eax
jle 0x140121a9d
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 0x140121ac3
lea r8d, [r9 + 0x31]
mov rcx, qword [rsp + 0x78]
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 0x1401226e5
mov edx, r8d
sub edx, r9d
cmp edx, 0x31
jne 0x1401226e5
movzx r13d, word [rsi + rax*2 + 2]
movzx edx, word [rsi + rax*2 + 4]
lea rcx, [rax + rax]
movzx edi, word [rsi + rcx]
mov r11, r13
mov rax, rdx
shl r13, 4
shl r11, 4
shl rax, 4
add r13, rbx
mov eax, dword [rax + rbx + 0xc9b8]
shl rdx, 4
add eax, dword [rbx + r11 + 0xc9b8]
mov r11, rdi
shl rdi, 4
shl r11, 4
add rdx, rbx
add rdi, rbx
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
mov dword [rsp + 0x84], eax
add r11d, dword [rdi + 0xc9bc]
add edx, dword [rdi + 0xc9c0]
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 0x14012232a
movsxd rax, edx
mov ecx, r11d
inc rdx
cmp ebp, edx
jg 0x14012231a
mov rdi, qword [rsp + 0x40]
cmp ebp, 6
movsxd rdx, r9d
mov byte [rbx + rdi + 0x6a8], al
jne 0x1401226f9
mov ecx, r8d
sub ecx, r9d
cmp ecx, 0x31
jne 0x1401226f9
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]
lea rax, [rax + rdx + 0x2c60]
inc dword [rbx + rcx*4 + 8]
inc dword [rbx + rax*4 + 8]
inc qword [rsp + 0x40]
lea r9d, [r8 + 1]
cmp r15d, r9d
jg 0x140121b20
jmp 0x14012271a
movzx r11d, byte [rcx + 0x934c]
add word [r10 + rdx*2], r11w
inc rdx
add rcx, 0x102
cmp ebp, edx
jg 0x1401226c7
inc rax
cmp r8d, eax
jl 0x14012230f
movzx ecx, word [rsi + rax*2]
xor edx, edx
add rcx, rbx
jmp 0x1401226c7
imul rax, rax, 0x102
cmp r8d, edx
jl 0x1401226b3
movzx ecx, word [rsi + rdx*2]
inc rdx
lea rcx, [rcx + rax + 0x2c60]
inc dword [rbx + rcx*4 + 8]
jmp 0x140122700
mov rdi, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov rcx, rdi
mov r9d, 0x11
add rdi, 0x102
call fcn.140125180
add qword [rsp + 0x50], 0x408
cmp qword [rsp + 0x68], rdi
jne 0x14012271f
dec dword [rsp + 0x4c]
jne 0x140121a60
xor eax, eax
mov byte [rsp + rax + 0x90], al
inc rax
cmp ebp, eax
jg 0x14012275a
mov r13d, dword [rsp + 0x40]
mov cl, byte [rsp + 0x90]
xor eax, eax
cmp r13d, eax
jle 0x1401227b1
mov r8b, byte [rbx + rax + 0x6a8]
xor edx, edx
lea r9, [rdx + 1]
cmp r8b, cl
je 0x1401227a5
mov r10b, byte [rsp + rdx + 0x91]
mov byte [rsp + rdx + 0x91], cl
mov rdx, r9
mov ecx, r10d
jmp 0x140122785
mov byte [rbx + rax + 0x4cfa], dl
inc rax
jmp 0x140122776
lea rax, [rbx + r14]
lea r15, [rbx + 0x9958]
mov rdi, rbx
mov qword [rsp + 0x50], rax
xor r9d, r9d
xor eax, eax
mov r14d, 0x20
cmp dword [rsp + 0x48], eax
jle 0x1401227f0
movzx edx, byte [rdi + rax + 0x934c]
cmp r9d, edx
cmovl r9d, edx
cmp r14d, edx
cmovg r14d, edx
inc rax
jmp 0x1401227cf
cmp r9d, 0x11
jle 0x14012280a
mov ecx, 0xbbc
mov dword [rsp + 0x58], r9d
call fcn.140032de8
mov r9d, dword [rsp + 0x58]
test r14d, r14d
jg 0x140122823
mov ecx, 0xbbd
mov dword [rsp + 0x58], r9d
call fcn.140032de8
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.140125090
cmp qword [rsp + 0x50], rdi
jne 0x1401227c4
lea rdi, [rsp + 0x90]
xorps xmm0, xmm0
mov rcx, rbx
movaps xmmword [rsp + 0x90], xmm0
mov rdx, rdi
xor eax, eax
cmp byte [rcx + rax + 0x80], 0
je 0x14012287e
mov byte [rdx], 1
inc rax
cmp rax, 0x10
jne 0x140122871
add dword [rsp + 0x4c], 0x10
add rcx, 0x10
inc rdx
cmp dword [rsp + 0x4c], 0x100
jne 0x14012286f
xor r11d, r11d
cmp byte [rdi + r11], 0
mov r8d, 1
jne 0x1401228b0
xor r8d, r8d
mov edx, 1
mov rcx, rbx
inc r11
call fcn.14017f040
cmp r11, 0x10
jne 0x1401228a0
xor r14d, r14d
cmp byte [rdi + r14], 0
jne 0x140122900
inc r14
cmp r14, 0x10
jne 0x1401228c9
mov r8d, ebp
mov edx, 3
mov rcx, rbx
xor r11d, r11d
call fcn.14017f040
mov r8d, dword [rsp + 0x40]
mov edx, 0xf
mov rcx, rbx
call fcn.14017f040
jmp 0x14012294c
mov r15, r14
xor r11d, r11d
shl r15, 4
add r15, rbx
cmp byte [r15 + r11 + 0x80], 0
mov r8d, 1
jne 0x140122921
xor r8d, r8d
mov edx, 1
mov rcx, rbx
inc r11
call fcn.14017f040
cmp r11, 0x10
jne 0x14012290d
jmp 0x1401228d0
xor r8d, r8d
mov edx, 1
mov rcx, rbx
inc r11
call fcn.14017f040
cmp r13d, r11d
jle 0x140122977
xor edi, edi
movzx eax, byte [rbx + r11 + 0x4cfa]
cmp edi, eax
jge 0x140122939
mov r8d, 1
mov edx, 1
mov rcx, rbx
inc edi
call fcn.14017f040
jmp 0x140122953
mov rax, qword [rsp + 0x38]
mov edx, 5
mov rcx, rbx
xor r15d, r15d
movzx r11d, byte [rax + 0x934c]
mov r8d, r11d
call fcn.14017f040
mov rdi, qword [rsp + 0x38]
mov eax, dword [rsp + 0x48]
cmp r15d, eax
jge 0x140122a05
movzx eax, byte [rdi + 0x934c]
cmp r11d, eax
jge 0x1401229c9
mov r8d, 2
mov edx, 2
mov rcx, rbx
inc r11d
call fcn.14017f040
jmp 0x1401229a5
movzx eax, byte [rdi + 0x934c]
cmp r11d, eax
jle 0x1401229ed
mov r8d, 3
mov edx, 2
mov rcx, rbx
dec r11d
call fcn.14017f040
jmp 0x1401229c9
xor r8d, r8d
mov edx, 1
mov rcx, rbx
inc r15d
call fcn.14017f040
inc rdi
jmp 0x14012299c
add qword [rsp + 0x38], 0x102
mov rdi, qword [rsp + 0x50]
cmp qword [rsp + 0x38], rdi
jne 0x140122977
xor r15d, r15d
mov eax, dword [rbx + 0x29c]
cmp eax, r12d
jle 0x140122f61
lea edi, [r12 + 0x31]
cmp eax, edi
jg 0x140122a3c
lea edi, [rax - 1]
movzx eax, byte [rbx + r15 + 0x6a8]
cmp eax, ebp
jl 0x140122a53
mov ecx, 0xbbe
call fcn.140032de8
cmp ebp, 6
movsxd r11, r12d
jne 0x140122f16
mov eax, edi
sub eax, r12d
cmp eax, 0x31
jne 0x140122f16
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.14017f040
movzx eax, word [rsi + r11 + 2]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 4]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 6]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 8]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0xa]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0xc]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0xe]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x10]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x12]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x14]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x16]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x18]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x1a]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x1c]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x1e]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x20]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x22]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x24]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x26]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x28]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x2a]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x2c]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x2e]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x30]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x32]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x34]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x36]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x38]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x3a]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x3c]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x3e]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x40]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x42]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x44]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x46]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x48]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x4a]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x4c]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x4e]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x50]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x52]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x54]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x56]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x58]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x5a]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x5c]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x5e]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x60]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
movzx eax, word [rsi + r11 + 0x62]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.14017f040
jmp 0x140122f55
cmp edi, r11d
jl 0x140122f55
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]
movzx edx, byte [rdx + rax + 0x934c]
mov rcx, rbx
call fcn.14017f040
jmp 0x140122f16
lea r12d, [rdi + 1]
inc r15
jmp 0x140122a21
cmp r13d, r15d
je 0x140122f70
mov ecx, 0xbbf
call fcn.140032de8
cmp byte [rsp + 0x74], 0
je 0x140123005
mov edx, 0x17
mov rcx, rbx
call fcn.14017efd0
mov edx, 0x72
mov rcx, rbx
call fcn.14017efd0
mov edx, 0x45
mov rcx, rbx
call fcn.14017efd0
mov edx, 0x38
mov rcx, rbx
call fcn.14017efd0
mov edx, 0x50
mov rcx, rbx
call fcn.14017efd0
mov edx, 0x90
mov rcx, rbx
call fcn.14017efd0
mov edx, dword [rbx + 0x28c]
mov rcx, rbx
call fcn.14017efe0
cmp dword [rbx + 0x284], 0
jle 0x140123005
movsxd rax, dword [rbx + 0x74]
movzx ecx, byte [rbx + 0x283]
mov rdx, qword [rbx + 0x50]
mov byte [rdx + rax], cl
inc dword [rbx + 0x74]
sub dword [rbx + 0x284], 8
shl dword [rbx + 0x280], 8
jmp 0x140122fd7
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret