Function at 0x140312260
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 0x1403122b6
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 0x1403122ae
xor r8d, r8d
mov dword [rcx + 0x74], r8d
mov rcx, rbx
call fcn.140310e70
movsxd rax, dword [rbx + 0x6c]
add rax, qword [rbx + 0x20]
cmp dword [rbx + 0x294], 1
mov qword [rbx + 0x50], rax
jne 0x14031230f
xor ecx, ecx
mov edx, 0x42
mov qword [rbx + 0x280], rcx
mov rcx, rbx
call fcn.1403c0c10
mov edx, 0x5a
mov rcx, rbx
call fcn.1403c0c10
mov edx, 0x68
mov rcx, rbx
call fcn.1403c0c10
mov al, byte [rbx + 0x298]
mov rcx, rbx
lea edx, [rax + 0x30]
movzx edx, dl
call fcn.1403c0c10
cmp dword [rbx + 0x6c], 0
jle 0x140313bcd
mov edx, 0x31
mov rcx, rbx
call fcn.1403c0c10
mov edx, 0x41
mov rcx, rbx
call fcn.1403c0c10
mov edx, 0x59
mov rcx, rbx
call fcn.1403c0c10
mov edx, 0x26
mov rcx, rbx
call fcn.1403c0c10
mov edx, 0x53
mov rcx, rbx
call fcn.1403c0c10
mov edx, 0x59
mov rcx, rbx
call fcn.1403c0c10
mov edx, dword [rbx + 0x288]
mov rcx, rbx
call fcn.1403c0c20
xor r8d, r8d
mov edx, 1
mov rcx, rbx
call fcn.1403c0c80
mov r8d, dword [rbx + 0x30]
mov edx, 0x18
mov rcx, rbx
call fcn.1403c0c80
xor edx, edx
mov r11, qword [rbx + 0x38]
mov rbp, qword [rbx + 0x40]
mov dword [rbx + 0x7c], edx
mov rsi, qword [rbx + 0x48]
xor eax, eax
cmp byte [rbx + rax + 0x80], 0
je 0x1403123c2
mov edx, dword [rbx + 0x7c]
mov byte [rbx + rax + 0x180], dl
inc edx
mov dword [rbx + 0x7c], edx
inc rax
cmp rax, 0x100
jne 0x1403123a9
mov r8d, dword [rbx + 0x7c]
xor eax, eax
lea r10d, [r8 + 2]
cmp r8d, 0xfffffffe
lea r9d, [r8 + 1]
lea rdx, [r10*4]
mov dword [rsp + 0x34], r10d
cmovge rax, rdx
lea rdx, [rbx + 0x2a0]
mov rdi, rdx
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x58]
xor eax, eax
rep stosb byte [rdi], al
xor eax, eax
cmp r8d, eax
jle 0x14031241b
mov byte [rsp + rax + 0x90], al
inc rax
jmp 0x14031240a
mov r12d, dword [rbx + 0x6c]
xor ecx, ecx
xor eax, eax
xor edx, edx
lea r13, [rsp + 0x90]
cmp r12d, ecx
jle 0x1403124fe
mov edi, dword [r11 + rcx*4]
dec edi
jns 0x140312441
add edi, r12d
movsxd rdi, edi
mov r14b, byte [rsp + 0x90]
movzx edi, byte [rbp + rdi]
mov dil, byte [rbx + rdi + 0x180]
cmp dil, r14b
jne 0x140312465
inc edx
jmp 0x1403124f6
test edx, edx
je 0x1403124a3
dec edx
cdqe
test dl, 1
je 0x140312480
mov word [rsi + rax*2], 1
inc dword [rbx + 0x2a4]
jmp 0x14031248c
mov word [rsi + rax*2], 0
inc dword [rbx + 0x2a0]
lea r15, [rax + 1]
cmp edx, 1
jg 0x140312499
inc eax
jmp 0x1403124a3
sub edx, 2
mov rax, r15
sar edx, 1
jmp 0x14031246d
mov r15b, byte [rsp + 0x91]
mov byte [rsp + 0x91], r14b
lea rdx, [rsp + 0x91]
cmp dil, r15b
je 0x1403124cf
mov r14b, byte [rdx + 1]
inc rdx
mov byte [rdx], r15b
mov r15d, r14d
jmp 0x1403124bb
sub rdx, r13
mov byte [rsp + 0x90], dil
movsxd rdi, eax
inc eax
lea r14d, [rdx + 1]
inc edx
movsxd rdx, edx
mov word [rsi + rdi*2], r14w
inc dword [rbx + rdx*4 + 0x2a0]
xor edx, edx
inc rcx
jmp 0x14031242d
test edx, edx
je 0x14031253c
dec edx
cdqe
test dl, 1
je 0x140312519
mov word [rsi + rax*2], 1
inc dword [rbx + 0x2a4]
jmp 0x140312525
mov word [rsi + rax*2], 0
inc dword [rbx + 0x2a0]
lea rcx, [rax + 1]
cmp edx, 1
jg 0x140312532
inc eax
jmp 0x14031253c
sub edx, 2
mov rax, rcx
sar edx, 1
jmp 0x140312506
movsxd rdx, eax
lea r11d, [rax + 1]
movsxd rax, r9d
mov qword [rsp + 0x40], rbx
mov word [rsi + rdx*2], r9w
lea rbp, [rbx + 0x9958]
xor r12d, r12d
inc dword [rbx + rax*4 + 0x2a0]
lea rax, [rbx + 0x934c]
mov dword [rbx + 0x29c], r11d
mov rdx, rax
mov qword [rsp + 0x60], rax
mov al, 0xf
cmp r8d, 0xfffffffe
mov rcx, r12
mov rdi, rdx
cmovge rcx, r10
add rdx, 0x102
rep stosb byte [rdi], al
cmp rdx, rbp
jne 0x140312579
mov ebp, 2
cmp r11d, 0xc7
jle 0x1403125cf
mov ebp, 3
cmp r11d, 0x257
jle 0x1403125cf
mov ebp, 4
cmp r11d, 0x4af
jle 0x1403125cf
xor ebp, ebp
cmp r11d, 0x95f
setg bpl
add ebp, 5
movsxd rax, ebp
mov r12d, ebp
xor r10d, r10d
mov r13d, 2
imul rax, rax, 0x102
mov qword [rsp + 0x48], rax
lea rdi, [rbx + rax]
mov eax, r11d
xor ecx, ecx
cdq
idiv r12d
lea edx, [r10 - 1]
movsxd rdx, edx
lea r8, [rdx + 1]
cmp eax, ecx
jle 0x140312618
cmp r9d, edx
jle 0x140312618
add ecx, dword [rbx + r8*4 + 0x2a0]
mov rdx, r8
jmp 0x1403125fe
cmp edx, r10d
mov r8d, edx
setg dl
cmp ebp, r12d
setne al
test dl, al
je 0x14031264b
cmp r12d, 1
je 0x14031264b
mov eax, ebp
sub eax, r12d
cdq
idiv r13d
dec edx
jne 0x14031264b
movsxd rax, r8d
dec r8d
sub ecx, dword [rbx + rax*4 + 0x2a0]
xor eax, eax
mov edx, dword [rsp + 0x34]
mov r14d, eax
cmp eax, edx
jge 0x140312672
cmp r10d, eax
jg 0x140312664
xor edx, edx
cmp r8d, r14d
jge 0x140312666
mov dl, 0xf
mov byte [rdi + rax + 0x924a], dl
inc rax
jmp 0x14031264d
lea r10d, [r8 + 1]
sub r11d, ecx
sub rdi, 0x102
dec r12d
jne 0x1403125ee
mov eax, ebp
mov r14d, 4
add rax, rax
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x48]
lea rax, [rbx + rax + 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 0x1403126bd
cmp ebp, 6
jne 0x1403126e8
lea rdx, [rbx + 0xc9b8]
xor eax, eax
jmp 0x14031270e
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 + 0x38], rax
jmp 0x140313307
cmp dword [rsp + 0x34], eax
jle 0x1403126e8
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 0x14031270e
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 0x140313330
mov edx, r8d
sub edx, r9d
cmp edx, 0x31
jne 0x140313330
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 0x140312f75
movsxd rax, edx
mov ecx, r11d
inc rdx
cmp ebp, edx
jg 0x140312f65
mov rcx, qword [rsp + 0x38]
cmp ebp, 6
movsxd rdx, r9d
mov byte [rbx + rcx + 0x6a8], al
jne 0x140313344
mov ecx, r8d
sub ecx, r9d
cmp ecx, 0x31
jne 0x140313344
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 + 0x38]
lea r9d, [r8 + 1]
cmp r15d, r9d
jg 0x14031276b
jmp 0x140313365
movzx r11d, byte [rcx + 0x934c]
add word [r10 + rdx*2], r11w
inc rdx
add rcx, 0x102
cmp ebp, edx
jg 0x140313312
inc rax
cmp r8d, eax
jl 0x140312f5a
movzx ecx, word [rsi + rax*2]
xor edx, edx
add rcx, rbx
jmp 0x140313312
imul rax, rax, 0x102
cmp r8d, edx
jl 0x1403132fe
movzx ecx, word [rsi + rdx*2]
inc rdx
lea rcx, [rcx + rax + 0x2c60]
inc dword [rbx + rcx*4 + 8]
jmp 0x14031334b
mov rdi, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x34]
mov rdx, qword [rsp + 0x50]
mov rcx, rdi
mov r9d, 0x11
add rdi, 0x102
call fcn.140315de0
add qword [rsp + 0x50], 0x408
cmp qword [rsp + 0x68], rdi
jne 0x14031336a
dec r14d
jne 0x1403126ab
xor eax, eax
mov byte [rsp + rax + 0x90], al
inc rax
cmp ebp, eax
jg 0x1403133a4
mov r13d, dword [rsp + 0x38]
mov cl, byte [rsp + 0x90]
xor eax, eax
cmp r13d, eax
jle 0x1403133fb
mov r8b, byte [rbx + rax + 0x6a8]
xor edx, edx
lea r9, [rdx + 1]
cmp r8b, cl
je 0x1403133ef
mov r10b, byte [rsp + rdx + 0x91]
mov byte [rsp + rdx + 0x91], cl
mov rdx, r9
mov ecx, r10d
jmp 0x1403133cf
mov byte [rbx + rax + 0x4cfa], dl
inc rax
jmp 0x1403133c0
mov rax, qword [rsp + 0x48]
lea r15, [rbx + 0x9958]
mov rdi, rbx
add rax, rbx
mov qword [rsp + 0x48], rax
xor r9d, r9d
xor eax, eax
mov r8d, 0x20
cmp dword [rsp + 0x34], eax
jle 0x14031343e
movzx edx, byte [rdi + rax + 0x934c]
cmp r9d, edx
cmovl r9d, edx
cmp r8d, edx
cmovg r8d, edx
inc rax
jmp 0x14031341d
cmp r9d, 0x11
jle 0x140313462
mov ecx, 0xbbc
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x50], r9d
call fcn.1400af3c8
mov r8d, dword [rsp + 0x58]
mov r9d, dword [rsp + 0x50]
test r8d, r8d
jne 0x140313485
mov ecx, 0xbbd
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x50], r9d
call fcn.1400af3c8
mov r8d, dword [rsp + 0x58]
mov r9d, dword [rsp + 0x50]
mov eax, dword [rsp + 0x34]
lea rdx, [rdi + 0x934c]
mov rcx, r15
add rdi, 0x102
add r15, 0x408
mov dword [rsp + 0x20], eax
call fcn.140315cf0
cmp qword [rsp + 0x48], rdi
jne 0x140313412
lea rdi, [rsp + 0x90]
xorps xmm0, xmm0
mov rcx, rbx
movups xmmword [rsp + 0x90], xmm0
mov rdx, rdi
xor eax, eax
cmp byte [rcx + rax + 0x80], 0
je 0x1403134dd
mov byte [rdx], 1
inc rax
cmp rax, 0x10
jne 0x1403134d0
add r14d, 0x10
add rcx, 0x10
inc rdx
cmp r14d, 0x100
jne 0x1403134ce
xor r11d, r11d
cmp byte [rdi + r11], 0
mov r8d, 1
jne 0x14031350d
xor r8d, r8d
mov edx, 1
mov rcx, rbx
inc r11
call fcn.1403c0c80
cmp r11, 0x10
jne 0x1403134fd
xor r14d, r14d
cmp byte [rdi + r14], 0
jne 0x14031355d
inc r14
cmp r14, 0x10
jne 0x140313526
mov r8d, ebp
mov edx, 3
mov rcx, rbx
xor r11d, r11d
call fcn.1403c0c80
mov r8d, dword [rsp + 0x38]
mov edx, 0xf
mov rcx, rbx
call fcn.1403c0c80
jmp 0x1403135a9
mov r15, r14
xor r11d, r11d
shl r15, 4
add r15, rbx
cmp byte [r15 + r11 + 0x80], 0
mov r8d, 1
jne 0x14031357e
xor r8d, r8d
mov edx, 1
mov rcx, rbx
inc r11
call fcn.1403c0c80
cmp r11, 0x10
jne 0x14031356a
jmp 0x14031352d
xor r8d, r8d
mov edx, 1
mov rcx, rbx
inc r11
call fcn.1403c0c80
cmp r13d, r11d
jle 0x1403135d4
xor edi, edi
movzx eax, byte [rbx + r11 + 0x4cfa]
cmp edi, eax
jge 0x140313596
mov r8d, 1
mov edx, 1
mov rcx, rbx
inc edi
call fcn.1403c0c80
jmp 0x1403135b0
mov rax, qword [rsp + 0x40]
mov edx, 5
mov rcx, rbx
xor r15d, r15d
movzx r11d, byte [rax + 0x934c]
mov r8d, r11d
call fcn.1403c0c80
mov rdi, qword [rsp + 0x40]
mov eax, dword [rsp + 0x34]
cmp r15d, eax
jge 0x140313662
movzx eax, byte [rdi + 0x934c]
cmp r11d, eax
jge 0x140313626
mov r8d, 2
mov edx, 2
mov rcx, rbx
inc r11d
call fcn.1403c0c80
jmp 0x140313602
movzx eax, byte [rdi + 0x934c]
cmp r11d, eax
jle 0x14031364a
mov r8d, 3
mov edx, 2
mov rcx, rbx
dec r11d
call fcn.1403c0c80
jmp 0x140313626
xor r8d, r8d
mov edx, 1
mov rcx, rbx
inc r15d
call fcn.1403c0c80
inc rdi
jmp 0x1403135f9
add qword [rsp + 0x40], 0x102
mov rcx, qword [rsp + 0x40]
cmp qword [rsp + 0x48], rcx
jne 0x1403135d4
xor r15d, r15d
mov eax, dword [rbx + 0x29c]
cmp eax, r12d
jle 0x140313bbe
lea edi, [r12 + 0x31]
cmp eax, edi
jg 0x140313699
lea edi, [rax - 1]
movzx eax, byte [rbx + r15 + 0x6a8]
cmp eax, ebp
jl 0x1403136b0
mov ecx, 0xbbe
call fcn.1400af3c8
cmp ebp, 6
movsxd r11, r12d
jne 0x140313b73
mov eax, edi
sub eax, r12d
cmp eax, 0x31
jne 0x140313b73
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.1403c0c80
movzx eax, word [rsi + r11 + 2]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 4]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 6]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 8]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0xa]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0xc]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0xe]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x10]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x12]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x14]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x16]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x18]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x1a]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x1c]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x1e]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x20]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x22]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x24]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x26]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x28]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x2a]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x2c]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x2e]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x30]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x32]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x34]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x36]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x38]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x3a]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x3c]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x3e]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x40]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x42]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x44]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x46]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x48]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x4a]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x4c]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x4e]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x50]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x52]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x54]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x56]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x58]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x5a]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x5c]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x5e]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x60]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
movzx eax, word [rsi + r11 + 0x62]
mov rcx, rbx
movzx edx, byte [r14 + rax]
mov r8d, dword [r12 + rax*4]
call fcn.1403c0c80
jmp 0x140313bb2
cmp edi, r11d
jl 0x140313bb2
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.1403c0c80
jmp 0x140313b73
lea r12d, [rdi + 1]
inc r15
jmp 0x14031367e
cmp r13d, r15d
je 0x140313bcd
mov ecx, 0xbbf
call fcn.1400af3c8
cmp byte [rsp + 0x74], 0
je 0x140313c62
mov edx, 0x17
mov rcx, rbx
call fcn.1403c0c10
mov edx, 0x72
mov rcx, rbx
call fcn.1403c0c10
mov edx, 0x45
mov rcx, rbx
call fcn.1403c0c10
mov edx, 0x38
mov rcx, rbx
call fcn.1403c0c10
mov edx, 0x50
mov rcx, rbx
call fcn.1403c0c10
mov edx, 0x90
mov rcx, rbx
call fcn.1403c0c10
mov edx, dword [rbx + 0x28c]
mov rcx, rbx
call fcn.1403c0c20
cmp dword [rbx + 0x284], 0
jle 0x140313c62
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 0x140313c34
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret