Function at 0x1400b0f04
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x838
mov rax, qword [0x1400c8590]
xor rax, rsp
mov qword [rbp - 0x50], rax
lea r11, [0x140000000]
mov ebx, 1
mov rdi, r9
mov rsi, r8
mov qword [rsp + 0x798], rdx
mov r13, rcx
mov qword [rsp + 0x790], rcx
mov r14d, 0xfffffff
lea r15d, [rbx + 0x3e]
cmp r9, r11
jb 0x1400b1708
movsxd rdx, dword [0x14000003c]
mov ecx, dword [rdx + r11 + 0x50]
add rcx, r11
cmp r9, rcx
jae 0x1400b170e
mov ecx, dword [0x14010bb20]
mov r8d, r9d
xor r9d, r9d
sub r8d, r11d
sub ecx, ebx
js 0x1400b0fc9
mov r11, qword [0x14017dbc8]
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [r11 + rdx*8 + 4]
and eax, r14d
cmp r8d, eax
jae 0x1400b0fb3
lea ecx, [rdx - 1]
jmp 0x1400b0fbd
jbe 0x1400b1495
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1400b0f8b
lea r11, [0x140000000]
xor edx, edx
test rdx, rdx
je 0x1400b1708
mov eax, dword [rdx + 4]
mov r12d, dword [rdx]
mov r10d, dword [0x14010ba80]
and r12, r14
and eax, 0xf
lea r15, [rdx + 8]
add r15, rax
sub r10, r12
xor r8d, r8d
inc r10
mov qword [rsp + 0x78], r12
mov r14d, 0x269ec3
mov r9, r10
mov qword [rsp + 0x80], r15
je 0x1400b1041
mov rax, qword [0x14017dbb0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r9, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
test r9, r9
jne 0x1400b1016
mov qword [0x14017dbb0], rax
xor edx, edx
mov rax, r8
xor bl, bl
div r10
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r15
add rsi, rdx
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
test r12, r12
je 0x1400b1522
movups xmm0, xmmword [r15 + r12]
and dword [rsp + 0x2e8], 0
and dword [rsp + 0x2ec], 0
and dword [rsp + 0x2f0], 0
and dword [rsp + 0x2f4], 0
mov r13, rsi
movdqu xmmword [rsp + 0x68], xmm0
mov rcx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x68]
mov edi, 0x40
mov rax, rcx
mov rdx, r8
mov dword [rsp + 0x2d4], r8d
shr rax, 0x20
shr rdx, 0x20
mov dword [rsp + 0x2dc], ecx
mov dword [rsp + 0x2e0], eax
mov dword [rsp + 0x308], eax
mov eax, dword [0x14010bb68]
mov dword [rsp + 0x2d0], eax
mov eax, dword [0x14010bb6c]
mov dword [rsp + 0x2d8], edx
mov dword [rsp + 0x2e4], eax
mov eax, dword [0x14010bb70]
mov dword [rsp + 0x2fc], r8d
mov dword [rsp + 0x2f8], eax
mov eax, dword [0x14010bb74]
mov dword [rsp + 0x300], edx
mov dword [rsp + 0x30c], eax
lea rax, [rsp + 0x510]
mov dword [rsp + 0x304], ecx
sub r13, rax
mov rax, r15
sub rax, rsi
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0x2d0]
lea rcx, [rsp + 0xd0]
mov r8, rdi
mov qword [rsp + 0x58], r13
call sub.MSVCR100.dll_memcpy
mov eax, dword [rsp + 0xe4]
mov ecx, dword [rsp + 0x10c]
mov edx, dword [rsp + 0x108]
mov r8d, dword [rsp + 0x104]
mov r9d, dword [rsp + 0x100]
mov r10d, dword [rsp + 0xfc]
mov r11d, dword [rsp + 0xf8]
mov esi, dword [rsp + 0xf4]
mov r14d, dword [rsp + 0xf0]
mov r15d, dword [rsp + 0xec]
mov r12d, dword [rsp + 0xe8]
mov r13d, dword [rsp + 0xe0]
mov ebx, dword [rsp + 0xdc]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xd8]
mov edi, dword [rsp + 0x30]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0xd4]
mov qword [rsp + 0x60], 3
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x2c], eax
add eax, r9d
rol eax, 7
xor r13d, eax
mov eax, dword [rsp + 0x2c]
add eax, r13d
rol eax, 9
xor r14d, eax
lea eax, [r14 + r13]
rol eax, 0xd
xor r9d, eax
mov dword [rsp + 0x30], r9d
lea eax, [r14 + r9]
mov r9d, dword [rsp + 0x2c]
ror eax, 0xe
xor r9d, eax
mov eax, dword [rsp + 0x28]
add eax, edi
mov dword [rsp + 0x2c], r9d
rol eax, 7
xor esi, eax
lea eax, [rsi + rdi]
rol eax, 9
xor r8d, eax
lea eax, [r8 + rsi]
rol eax, 0xd
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
add eax, r8d
ror eax, 0xe
xor edi, eax
lea eax, [r12 + r11]
rol eax, 7
xor edx, eax
lea eax, [r11 + rdx]
rol eax, 9
xor dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
add eax, edx
rol eax, 0xd
xor r12d, eax
mov eax, dword [rsp + 0x24]
add eax, r12d
ror eax, 0xe
xor r11d, eax
lea eax, [r10 + rcx]
rol eax, 7
xor ebx, eax
lea eax, [rcx + rbx]
rol eax, 9
xor r15d, eax
lea eax, [rbx + r15]
rol eax, 0xd
xor r10d, eax
lea eax, [r10 + r15]
ror eax, 0xe
xor ecx, eax
lea eax, [rbx + r9]
mov r9d, dword [rsp + 0x28]
rol eax, 7
xor r9d, eax
mov eax, r9d
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0xd4], eax
add eax, dword [rsp + 0x2c]
rol eax, 9
xor dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0xd8], eax
add eax, r9d
mov r9d, dword [rsp + 0x2c]
rol eax, 0xd
xor ebx, eax
mov eax, dword [rsp + 0x24]
add eax, ebx
ror eax, 0xe
xor r9d, eax
lea eax, [rdi + r13]
rol eax, 7
mov dword [rsp + 0x2c], r9d
mov dword [rsp + 0xd0], r9d
xor r12d, eax
mov r9d, dword [rsp + 0x30]
lea eax, [r12 + rdi]
rol eax, 9
xor r15d, eax
lea eax, [r15 + r12]
rol eax, 0xd
xor r13d, eax
lea eax, [r15 + r13]
ror eax, 0xe
xor edi, eax
lea eax, [rsi + r11]
rol eax, 7
xor r10d, eax
lea eax, [r10 + r11]
rol eax, 9
xor r14d, eax
lea eax, [r10 + r14]
rol eax, 0xd
xor esi, eax
lea eax, [rsi + r14]
ror eax, 0xe
xor r11d, eax
lea eax, [rcx + rdx]
rol eax, 7
xor r9d, eax
mov dword [rsp + 0x100], r9d
lea eax, [rcx + r9]
rol eax, 9
xor r8d, eax
lea eax, [r9 + r8]
rol eax, 0xd
xor edx, eax
lea eax, [rdx + r8]
ror eax, 0xe
xor ecx, eax
dec qword [rsp + 0x60]
mov eax, dword [rsp + 0x2c]
jne 0x1400b11f0
mov dword [rsp + 0x10c], ecx
mov dword [rsp + 0xf0], r14d
mov r14, qword [rsp + 0x40]
mov dword [rsp + 0xec], r15d
mov r15, qword [rsp + 0x80]
mov dword [rsp + 0xe8], r12d
mov r12, qword [rsp + 0x78]
mov dword [rsp + 0xe4], edi
mov dword [rsp + 0xe0], r13d
mov r13, qword [rsp + 0x58]
mov dword [rsp + 0xdc], ebx
mov bl, byte [rsp + 0x20]
mov edi, 0x40
xor ecx, ecx
mov dword [rsp + 0x108], edx
mov dword [rsp + 0x104], r8d
mov dword [rsp + 0xfc], r10d
mov dword [rsp + 0xf8], r11d
mov dword [rsp + 0xf4], esi
mov eax, dword [rsp + rcx + 0x2d0]
add rcx, 4
add dword [rsp + rcx + 0xcc], eax
cmp rcx, rdi
jl 0x1400b140c
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x510]
mov r8, rdi
call sub.MSVCR100.dll_memcpy
inc dword [rsp + 0x2f0]
cmp r14, rdi
jbe 0x1400b14b5
mov rsi, qword [rsp + 0x68]
lea rdx, [rsp + 0x510]
mov r8, rdi
lea rax, [rsi + r13]
mov cl, byte [rax + rdx]
xor cl, byte [rdx]
mov byte [r13 + rdx], cl
inc rdx
xor bl, cl
dec r8
jne 0x1400b1457
mov rsi, qword [rsp + 0x38]
add qword [rsp + 0x48], rdi
sub r14, rdi
add r13, rdi
add rsi, rdi
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], r14
jmp 0x1400b113e
mov edx, dword [r11 + rdx*8 + 4]
mov eax, dword [r11 + r10*8]
lea r11, [0x140000000]
and edx, r14d
and eax, r15d
add edx, eax
add rdx, r11
jmp 0x1400b0fcb
mov rsi, qword [rsp + 0x50]
xor r9d, r9d
test r14, r14
mov r14d, 0x269ec3
je 0x1400b1513
mov rsi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
lea rax, [rsp + 0x510]
lea rcx, [rsp + 0x510]
sub rsi, rax
lea rax, [rsp + 0x510]
sub r8, rax
mov al, byte [rcx + rsi]
inc r9d
xor al, byte [rcx]
mov byte [rcx + r8], al
xor bl, al
mov eax, r9d
inc rcx
cmp rax, rdx
jb 0x1400b14f5
mov rsi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x790]
lea r11, [0x140000000]
cmp bl, byte [r15 + r12 + 0x10]
je 0x1400b15e8
call fcn.14009eca8
lea r10, [r13 + 0x18]
lea rsi, [fcn.1400bd550]
mov rbx, rax
mov rax, 0xfffffffffffff000
and r10, 0xfffffffffffffff8
and rbx, rax
lea r11, [r10 + 0xfff]
mov qword [r13 + 0x10], rsi
and r11, rax
mov rax, qword [0x14017dbb0]
xor r9d, r9d
mov r8d, 0xffff
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1400b156c
mov qword [0x14017dbb0], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0x798]
shr rdx, 0xf
mov qword [rax + 0x98], rbx
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rsp + 0x68], r8
jmp 0x1400b15de
mov rax, qword [rsp + 0x68]
mov qword [r10], rax
add r10, 8
cmp r10, r11
jb 0x1400b15d2
jmp 0x1400b1700
mov rax, qword [0x14010bb18]
mov rdi, r15
mov r13, r11
sub rdi, rsi
sub r13, rax
jne 0x1400b1606
test rdi, rdi
je 0x1400b16fa
mov r14, qword [0x14017dbb8]
mov rbx, rsi
sub rbx, r15
sub r15d, r11d
lea eax, [r15 + r12]
mov dword [rsp + 0x30], eax
test r14, r14
je 0x1400b16fa
mov r12d, dword [r14]
xor r8d, r8d
mov ecx, 0x7ffffff
lea r9d, [r12 - 1]
test r9d, r9d
js 0x1400b1666
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r14 + rdx*4 + 4]
and r10d, ecx
cmp r15d, r10d
jae 0x1400b165b
lea r9d, [rdx - 1]
jmp 0x1400b1661
jbe 0x1400b16c1
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1400b163c
movsxd r11, r8d
cmp r11, r12
jae 0x1400b16fa
mov r12d, dword [rsp + 0x30]
lea r15, [r14 + 4]
lea rsi, [0x140000000]
lea r15, [r15 + r11*4]
mov r9d, dword [r15]
mov eax, r9d
and eax, ecx
cmp eax, r12d
jae 0x1400b16f5
mov r8d, dword [r15]
and r9, rcx
xor r10d, r10d
mov edx, r8d
sar r8d, 0x1d
add r9, rsi
sar edx, 0x1b
and r8d, 7
and edx, 3
dec edx
je 0x1400b16cb
dec edx
je 0x1400b16c6
dec edx
jne 0x1400b16d1
mov r10, r13
jmp 0x1400b16d1
mov r11, rdx
jmp 0x1400b1669
mov r10, rdi
jmp 0x1400b16d1
mov r10, r13
sub r10, rdi
sub r8d, 2
je 0x1400b16e2
dec r8d
jne 0x1400b16e6
add qword [r9 + rbx], r10
jmp 0x1400b16e6
add dword [r9 + rbx], r10d
mov eax, dword [r14]
inc r11
add r15, 4
cmp r11, rax
jb 0x1400b1686
mov rsi, qword [rsp + 0x50]
mov eax, dword [0x14010ba80]
mov rax, rsi
jmp 0x1400b5c61
mov edx, dword [0x14000003c]
cmp rdi, r11
jb 0x1400b5b93
movsxd rax, edx
mov ecx, dword [rax + r11 + 0x50]
add rcx, r11
cmp rdi, rcx
jae 0x1400b1ec0
mov ecx, dword [0x14010bb4c]
mov r8d, edi
xor r9d, r9d
sub r8d, r11d
sub ecx, ebx
js 0x1400b177c
mov r11, qword [0x14017dbe0]
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [r11 + rdx*8 + 4]
and eax, r14d
cmp r8d, eax
jae 0x1400b1766
lea ecx, [rdx - 1]
jmp 0x1400b1770
jbe 0x1400b1c51
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1400b173e
lea r11, [0x140000000]
xor edx, edx
test rdx, rdx
je 0x1400b1eba
mov eax, dword [rdx]
mov r12d, dword [rdx + 4]
mov r10d, dword [0x14010ba80]
and r12, r14
and eax, 0xf
lea r15, [rdx + 8]
add r15, rax
sub r10, r12
xor r8d, r8d
inc r10
mov qword [rsp + 0x78], r12
mov r14d, 0x269ec3
mov r9, r10
mov qword [rsp + 0x68], r15
je 0x1400b17f1
mov rax, qword [0x14017dbb0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r9, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
test r9, r9
jne 0x1400b17c6
mov qword [0x14017dbb0], rax
xor edx, edx
mov rax, r8
xor bl, bl
div r10
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x38], r15
add rsi, rdx
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x40], rsi
test r12, r12
je 0x1400b1cde
movups xmm0, xmmword [r15 + r12]
and dword [rsp + 0x328], 0
and dword [rsp + 0x32c], 0
and dword [rsp + 0x330], 0
and dword [rsp + 0x334], 0
mov r13, rsi
movdqu xmmword [rsp + 0x80], xmm0
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x80]
mov edi, 0x40
mov rax, rcx
mov rdx, r8
mov dword [rsp + 0x314], r8d
shr rax, 0x20
shr rdx, 0x20
mov dword [rsp + 0x31c], ecx
mov dword [rsp + 0x320], eax
mov dword [rsp + 0x348], eax
mov eax, dword [0x14010bb68]
mov dword [rsp + 0x310], eax
mov eax, dword [0x14010bb6c]
mov dword [rsp + 0x318], edx
mov dword [rsp + 0x324], eax
mov eax, dword [0x14010bb70]
mov dword [rsp + 0x33c], r8d
mov dword [rsp + 0x338], eax
mov eax, dword [0x14010bb74]
mov dword [rsp + 0x340], edx
mov dword [rsp + 0x34c], eax
lea rax, [rsp + 0x590]
mov dword [rsp + 0x344], ecx
sub r13, rax
mov rax, r15
sub rax, rsi
mov qword [rsp + 0x80], rax
lea rdx, [rsp + 0x310]
lea rcx, [rsp + 0x90]
mov r8, rdi
mov qword [rsp + 0x60], r13
call sub.MSVCR100.dll_memcpy
mov eax, dword [rsp + 0xa4]
mov ecx, dword [rsp + 0xcc]
mov edx, dword [rsp + 0xc8]
mov r8d, dword [rsp + 0xc4]
mov r9d, dword [rsp + 0xc0]
mov r10d, dword [rsp + 0xbc]
mov r11d, dword [rsp + 0xb8]
mov esi, dword [rsp + 0xb4]
mov r14d, dword [rsp + 0xb0]
mov r15d, dword [rsp + 0xac]
mov r12d, dword [rsp + 0xa8]
mov r13d, dword [rsp + 0xa0]
mov ebx, dword [rsp + 0x9c]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x98]
mov edi, dword [rsp + 0x30]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x94]
mov qword [rsp + 0x58], 2
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x2c], eax
add eax, r9d
rol eax, 7
xor r13d, eax
mov eax, dword [rsp + 0x2c]
add eax, r13d
rol eax, 9
xor r14d, eax
lea eax, [r14 + r13]
rol eax, 0xd
xor r9d, eax
mov dword [rsp + 0x30], r9d
lea eax, [r14 + r9]
mov r9d, dword [rsp + 0x2c]
ror eax, 0xe
xor r9d, eax
mov eax, dword [rsp + 0x24]
add eax, edi
mov dword [rsp + 0x2c], r9d
rol eax, 7
xor esi, eax
lea eax, [rsi + rdi]
rol eax, 9
xor r8d, eax
lea eax, [r8 + rsi]
rol eax, 0xd
xor dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
add eax, r8d
ror eax, 0xe
xor edi, eax
lea eax, [r12 + r11]
rol eax, 7
xor edx, eax
lea eax, [r11 + rdx]
rol eax, 9
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
add eax, edx
rol eax, 0xd
xor r12d, eax
mov eax, dword [rsp + 0x28]
add eax, r12d
ror eax, 0xe
xor r11d, eax
lea eax, [r10 + rcx]
rol eax, 7
xor ebx, eax
lea eax, [rcx + rbx]
rol eax, 9
xor r15d, eax
lea eax, [rbx + r15]
rol eax, 0xd
xor r10d, eax
lea eax, [r10 + r15]
ror eax, 0xe
xor ecx, eax
lea eax, [rbx + r9]
mov r9d, dword [rsp + 0x24]
rol eax, 7
xor r9d, eax
mov eax, r9d
mov dword [rsp + 0x24], r9d
mov dword [rsp + 0x94], eax
add eax, dword [rsp + 0x2c]
rol eax, 9
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x98], eax
add eax, r9d
mov r9d, dword [rsp + 0x2c]
rol eax, 0xd
xor ebx, eax
mov eax, dword [rsp + 0x28]
add eax, ebx
ror eax, 0xe
xor r9d, eax
lea eax, [rdi + r13]
rol eax, 7
mov dword [rsp + 0x2c], r9d
mov dword [rsp + 0x90], r9d
xor r12d, eax
mov r9d, dword [rsp + 0x30]
lea eax, [r12 + rdi]
rol eax, 9
xor r15d, eax
lea eax, [r15 + r12]
rol eax, 0xd
xor r13d, eax
lea eax, [r15 + r13]
ror eax, 0xe
xor edi, eax
lea eax, [rsi + r11]
rol eax, 7
xor r10d, eax
lea eax, [r10 + r11]
rol eax, 9
xor r14d, eax
lea eax, [r10 + r14]
rol eax, 0xd
xor esi, eax
lea eax, [rsi + r14]
ror eax, 0xe
xor r11d, eax
lea eax, [rcx + rdx]
rol eax, 7
xor r9d, eax
mov dword [rsp + 0xc0], r9d
lea eax, [rcx + r9]
rol eax, 9
xor r8d, eax
lea eax, [r9 + r8]
rol eax, 0xd
xor edx, eax
lea eax, [rdx + r8]
ror eax, 0xe
xor ecx, eax
dec qword [rsp + 0x58]
mov eax, dword [rsp + 0x2c]
jne 0x1400b19ac
mov dword [rsp + 0xcc], ecx
mov dword [rsp + 0xb0], r14d
mov r14, qword [rsp + 0x48]
mov dword [rsp + 0xac], r15d
mov r15, qword [rsp + 0x68]
mov dword [rsp + 0xa8], r12d
mov r12, qword [rsp + 0x78]
mov dword [rsp + 0xa4], edi
mov dword [rsp + 0xa0], r13d
mov r13, qword [rsp + 0x60]
mov dword [rsp + 0x9c], ebx
mov bl, byte [rsp + 0x20]
mov edi, 0x40
xor ecx, ecx
mov dword [rsp + 0xc8], edx
mov dword [rsp + 0xc4], r8d
mov dword [rsp + 0xbc], r10d
mov dword [rsp + 0xb8], r11d
mov dword [rsp + 0xb4], esi
mov eax, dword [rsp + rcx + 0x310]
add rcx, 4
add dword [rsp + rcx + 0x8c], eax
cmp rcx, rdi
jl 0x1400b1bc5
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x590]
mov r8, rdi
call sub.MSVCR100.dll_memcpy
inc dword [rsp + 0x330]
cmp r14, rdi
jbe 0x1400b1c71
mov rsi, qword [rsp + 0x80]
lea rdx, [rsp + 0x590]
mov r8, rdi
lea rax, [rdx + rsi]
mov cl, byte [rax + r13]
xor cl, byte [rdx]
mov byte [rdx + r13], cl
inc rdx
xor bl, cl
dec r8
jne 0x1400b1c13
mov rsi, qword [rsp + 0x38]
add qword [rsp + 0x40], rdi
sub r14, rdi
add r13, rdi
add rsi, rdi
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x48], r14
jmp 0x1400b18fa
mov edx, dword [r11 + rdx*8 + 4]
mov eax, dword [r11 + r10*8]
lea r11, [0x140000000]
and edx, r14d
and eax, r15d
add edx, eax
add rdx, r11
jmp 0x1400b177e
mov rsi, qword [rsp + 0x50]
xor r9d, r9d
test r14, r14
mov r14d, 0x269ec3
je 0x1400b1ccf
mov rsi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
lea rax, [rsp + 0x590]
lea rcx, [rsp + 0x590]
sub rsi, rax
lea rax, [rsp + 0x590]
sub r8, rax
mov al, byte [rcx + rsi]
inc r9d
xor al, byte [rcx]
mov byte [rcx + r8], al
xor bl, al
mov eax, r9d
inc rcx
cmp rax, rdx
jb 0x1400b1cb1
mov rsi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x790]
lea r11, [0x140000000]
cmp bl, byte [r15 + r12 + 0x10]
je 0x1400b1da4
call fcn.14009eca8
lea r10, [r13 + 0x18]
lea rsi, [fcn.1400bd550]
mov rbx, rax
mov rax, 0xfffffffffffff000
and r10, 0xfffffffffffffff8
and rbx, rax
lea r11, [r10 + 0xfff]
mov qword [r13 + 0x10], rsi
and r11, rax
mov rax, qword [0x14017dbb0]
xor r9d, r9d
mov r8d, 0xffff
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1400b1d28
mov qword [0x14017dbb0], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0x798]
shr rdx, 0xf
mov qword [rax + 0x98], rbx
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rsp + 0x68], r8
jmp 0x1400b1d9a
mov rax, qword [rsp + 0x68]
mov qword [r10], rax
add r10, 8
cmp r10, r11
jb 0x1400b1d8e
jmp 0x1400b1700
mov rax, qword [0x14010bb18]
mov rdi, r15
mov r13, r11
sub rdi, rsi
sub r13, rax
jne 0x1400b1dc2
test rdi, rdi
je 0x1400b16fa
mov r14, qword [0x14017dbb8]
mov rbx, rsi
sub rbx, r15
sub r15d, r11d
lea eax, [r15 + r12]
mov dword [rsp + 0x30], eax
test r14, r14
je 0x1400b16fa
mov r12d, dword [r14]
xor r8d, r8d
mov ecx, 0x7ffffff
lea r9d, [r12 - 1]
test r9d, r9d
js 0x1400b1e22
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r14 + rdx*4 + 4]
and r10d, ecx
cmp r15d, r10d
jae 0x1400b1e17
lea r9d, [rdx - 1]
jmp 0x1400b1e1d
jbe 0x1400b1e81
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1400b1df8
movsxd r11, r8d
cmp r11, r12
jae 0x1400b16fa
mov r12d, dword [rsp + 0x30]
lea r15, [r14 + 4]
lea rsi, [0x140000000]
lea r15, [r15 + r11*4]
mov r9d, dword [r15]
mov eax, r9d
and eax, ecx
cmp eax, r12d
jae 0x1400b16f5
mov r8d, dword [r15]
and r9, rcx
xor r10d, r10d
mov edx, r8d
sar r8d, 0x1d
add r9, rsi
sar edx, 0x1b
and r8d, 7
and edx, 3
dec edx
je 0x1400b1e8b
dec edx
je 0x1400b1e86
dec edx
jne 0x1400b1e91
mov r10, r13
jmp 0x1400b1e91
mov r11, rdx
jmp 0x1400b1e25
mov r10, rdi
jmp 0x1400b1e91
mov r10, r13
sub r10, rdi
sub r8d, 2
je 0x1400b1ea2
dec r8d
jne 0x1400b1ea6
add qword [r9 + rbx], r10
jmp 0x1400b1ea6
add dword [r9 + rbx], r10d
mov eax, dword [r14]
inc r11
add r15, 4
cmp r11, rax
jb 0x1400b1e42
jmp 0x1400b16f5
mov edx, dword [0x14000003c]
cmp rdi, r11
jb 0x1400b5b93
movsxd rax, edx
mov ecx, dword [rax + r11 + 0x50]
add rcx, r11
cmp rdi, rcx
jae 0x1400b2673
mov ecx, dword [0x14010bb54]
mov r8d, edi
xor r9d, r9d
sub r8d, r11d
sub ecx, ebx
js 0x1400b1f2e
mov r11, qword [0x14017db88]
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [r11 + rdx*8 + 4]
and eax, r14d
cmp r8d, eax
jae 0x1400b1f18
lea ecx, [rdx - 1]
jmp 0x1400b1f22
jbe 0x1400b2404
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1400b1ef0
lea r11, [0x140000000]
xor edx, edx
test rdx, rdx
je 0x1400b266d
mov eax, dword [rdx + 4]
mov r12d, dword [rdx]
mov r10d, dword [0x14010ba80]
shr r12, 4
and eax, 0xf
lea r15, [rdx + 8]
add r15, rax
sub r10, r12
xor r8d, r8d
inc r10
mov qword [rsp + 0x78], r12
mov r14d, 0x269ec3
mov r9, r10
mov qword [rsp + 0x68], r15
je 0x1400b1fa4
mov rax, qword [0x14017dbb0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r9, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
test r9, r9
jne 0x1400b1f79
mov qword [0x14017dbb0], rax
xor edx, edx
mov rax, r8
xor bl, bl
div r10
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x38], r15
add rsi, rdx
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x40], rsi
test r12, r12
je 0x1400b2491
movups xmm0, xmmword [r15 + r12]
and dword [rsp + 0x428], 0
and dword [rsp + 0x42c], 0
and dword [rsp + 0x430], 0
and dword [rsp + 0x434], 0
mov r13, rsi
movdqu xmmword [rsp + 0x80], xmm0
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x80]
mov edi, 0x40
mov rax, rcx
mov rdx, r8
mov dword [rsp + 0x414], r8d
shr rax, 0x20
shr rdx, 0x20
mov dword [rsp + 0x41c], ecx
mov dword [rsp + 0x420], eax
mov dword [rsp + 0x448], eax
mov eax, dword [0x14010bb68]
mov dword [rsp + 0x410], eax
mov eax, dword [0x14010bb6c]
mov dword [rsp + 0x418], edx
mov dword [rsp + 0x424], eax
mov eax, dword [0x14010bb70]
mov dword [rsp + 0x43c], r8d
mov dword [rsp + 0x438], eax
mov eax, dword [0x14010bb74]
mov dword [rsp + 0x440], edx
mov dword [rsp + 0x44c], eax
lea rax, [rsp + 0x650]
mov dword [rsp + 0x444], ecx
sub r13, rax
mov rax, r15
sub rax, rsi
mov qword [rsp + 0x80], rax
lea rdx, [rsp + 0x410]
lea rcx, [rsp + 0x190]
mov r8, rdi
mov qword [rsp + 0x60], r13
call sub.MSVCR100.dll_memcpy
mov eax, dword [rsp + 0x1a4]
mov ecx, dword [rsp + 0x1cc]
mov edx, dword [rsp + 0x1c8]
mov r8d, dword [rsp + 0x1c4]
mov r9d, dword [rsp + 0x1c0]
mov r10d, dword [rsp + 0x1bc]
mov r11d, dword [rsp + 0x1b8]
mov esi, dword [rsp + 0x1b4]
mov r14d, dword [rsp + 0x1b0]
mov r15d, dword [rsp + 0x1ac]
mov r12d, dword [rsp + 0x1a8]
mov r13d, dword [rsp + 0x1a0]
mov ebx, dword [rsp + 0x19c]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x198]
mov edi, dword [rsp + 0x30]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x194]
mov qword [rsp + 0x58], 3
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x190]
mov dword [rsp + 0x2c], eax
add eax, r9d
rol eax, 7
xor r13d, eax
mov eax, dword [rsp + 0x2c]
add eax, r13d
rol eax, 9
xor r14d, eax
lea eax, [r14 + r13]
rol eax, 0xd
xor r9d, eax
mov dword [rsp + 0x30], r9d
lea eax, [r14 + r9]
mov r9d, dword [rsp + 0x2c]
ror eax, 0xe
xor r9d, eax
mov eax, dword [rsp + 0x24]
add eax, edi
mov dword [rsp + 0x2c], r9d
rol eax, 7
xor esi, eax
lea eax, [rsi + rdi]
rol eax, 9
xor r8d, eax
lea eax, [r8 + rsi]
rol eax, 0xd
xor dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
add eax, r8d
ror eax, 0xe
xor edi, eax
lea eax, [r12 + r11]
rol eax, 7
xor edx, eax
lea eax, [r11 + rdx]
rol eax, 9
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
add eax, edx
rol eax, 0xd
xor r12d, eax
mov eax, dword [rsp + 0x28]
add eax, r12d
ror eax, 0xe
xor r11d, eax
lea eax, [r10 + rcx]
rol eax, 7
xor ebx, eax
lea eax, [rcx + rbx]
rol eax, 9
xor r15d, eax
lea eax, [rbx + r15]
rol eax, 0xd
xor r10d, eax
lea eax, [r10 + r15]
ror eax, 0xe
xor ecx, eax
lea eax, [rbx + r9]
mov r9d, dword [rsp + 0x24]
rol eax, 7
xor r9d, eax
mov eax, r9d
mov dword [rsp + 0x24], r9d
mov dword [rsp + 0x194], eax
add eax, dword [rsp + 0x2c]
rol eax, 9
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x198], eax
add eax, r9d
mov r9d, dword [rsp + 0x2c]
rol eax, 0xd
xor ebx, eax
mov eax, dword [rsp + 0x28]
add eax, ebx
ror eax, 0xe
xor r9d, eax
lea eax, [rdi + r13]
rol eax, 7
mov dword [rsp + 0x2c], r9d
mov dword [rsp + 0x190], r9d
xor r12d, eax
mov r9d, dword [rsp + 0x30]
lea eax, [r12 + rdi]
rol eax, 9
xor r15d, eax
lea eax, [r15 + r12]
rol eax, 0xd
xor r13d, eax
lea eax, [r15 + r13]
ror eax, 0xe
xor edi, eax
lea eax, [rsi + r11]
rol eax, 7
xor r10d, eax
lea eax, [r10 + r11]
rol eax, 9
xor r14d, eax
lea eax, [r10 + r14]
rol eax, 0xd
xor esi, eax
lea eax, [rsi + r14]
ror eax, 0xe
xor r11d, eax
lea eax, [rcx + rdx]
rol eax, 7
xor r9d, eax
mov dword [rsp + 0x1c0], r9d
lea eax, [rcx + r9]
rol eax, 9
xor r8d, eax
lea eax, [r9 + r8]
rol eax, 0xd
xor edx, eax
lea eax, [rdx + r8]
ror eax, 0xe
xor ecx, eax
dec qword [rsp + 0x58]
mov eax, dword [rsp + 0x2c]
jne 0x1400b215f
mov dword [rsp + 0x1cc], ecx
mov dword [rsp + 0x1b0], r14d
mov r14, qword [rsp + 0x48]
mov dword [rsp + 0x1ac], r15d
mov r15, qword [rsp + 0x68]
mov dword [rsp + 0x1a8], r12d
mov r12, qword [rsp + 0x78]
mov dword [rsp + 0x1a4], edi
mov dword [rsp + 0x1a0], r13d
mov r13, qword [rsp + 0x60]
mov dword [rsp + 0x19c], ebx
mov bl, byte [rsp + 0x20]
mov edi, 0x40
xor ecx, ecx
mov dword [rsp + 0x1c8], edx
mov dword [rsp + 0x1c4], r8d
mov dword [rsp + 0x1bc], r10d
mov dword [rsp + 0x1b8], r11d
mov dword [rsp + 0x1b4], esi
mov eax, dword [rsp + rcx + 0x410]
add rcx, 4
add dword [rsp + rcx + 0x18c], eax
cmp rcx, rdi
jl 0x1400b2378
lea rdx, [rsp + 0x190]
lea rcx, [rsp + 0x650]
mov r8, rdi
call sub.MSVCR100.dll_memcpy
inc dword [rsp + 0x430]
cmp r14, rdi
jbe 0x1400b2424
mov rsi, qword [rsp + 0x80]
lea rdx, [rsp + 0x650]
mov r8, rdi
lea rax, [rsi + r13]
mov cl, byte [rax + rdx]
xor cl, byte [rdx]
mov byte [r13 + rdx], cl
inc rdx
xor bl, cl
dec r8
jne 0x1400b23c6
mov rsi, qword [rsp + 0x38]
add qword [rsp + 0x40], rdi
sub r14, rdi
add r13, rdi
add rsi, rdi
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x48], r14
jmp 0x1400b20ad
mov edx, dword [r11 + rdx*8 + 4]
mov eax, dword [r11 + r10*8]
lea r11, [0x140000000]
and edx, r14d
and eax, r15d
add edx, eax
add rdx, r11
jmp 0x1400b1f30
mov rsi, qword [rsp + 0x50]
xor r9d, r9d
test r14, r14
mov r14d, 0x269ec3
je 0x1400b2482
mov rsi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
lea rax, [rsp + 0x650]
lea rcx, [rsp + 0x650]
sub rsi, rax
lea rax, [rsp + 0x650]
sub r8, rax
mov al, byte [rcx + rsi]
inc r9d
xor al, byte [rcx]
mov byte [rcx + r8], al
xor bl, al
mov eax, r9d
inc rcx
cmp rax, rdx
jb 0x1400b2464
mov rsi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x790]
lea r11, [0x140000000]
cmp bl, byte [r15 + r12 + 0x10]
je 0x1400b2557
call fcn.14009eca8
lea r10, [r13 + 0x18]
lea rsi, [fcn.1400bd550]
mov rbx, rax
mov rax, 0xfffffffffffff000
and r10, 0xfffffffffffffff8
and rbx, rax
lea r11, [r10 + 0xfff]
mov qword [r13 + 0x10], rsi
and r11, rax
mov rax, qword [0x14017dbb0]
xor r9d, r9d
mov r8d, 0xffff
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1400b24db
mov qword [0x14017dbb0], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0x798]
shr rdx, 0xf
mov qword [rax + 0x98], rbx
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rsp + 0x68], r8
jmp 0x1400b254d
mov rax, qword [rsp + 0x68]
mov qword [r10], rax
add r10, 8
cmp r10, r11
jb 0x1400b2541
jmp 0x1400b1700
mov rax, qword [0x14010bb18]
mov rdi, r15
mov r13, r11
sub rdi, rsi
sub r13, rax
jne 0x1400b2575
test rdi, rdi
je 0x1400b16fa
mov r14, qword [0x14017dbb8]
mov rbx, rsi
sub rbx, r15
sub r15d, r11d
lea eax, [r15 + r12]
mov dword [rsp + 0x30], eax
test r14, r14
je 0x1400b16fa
mov r12d, dword [r14]
xor r8d, r8d
mov ecx, 0x7ffffff
lea r9d, [r12 - 1]
test r9d, r9d
js 0x1400b25d5
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r14 + rdx*4 + 4]
and r10d, ecx
cmp r15d, r10d
jae 0x1400b25ca
lea r9d, [rdx - 1]
jmp 0x1400b25d0
jbe 0x1400b2634
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1400b25ab
movsxd r11, r8d
cmp r11, r12
jae 0x1400b16fa
mov r12d, dword [rsp + 0x30]
lea r15, [r14 + 4]
lea rsi, [0x140000000]
lea r15, [r15 + r11*4]
mov r9d, dword [r15]
mov eax, r9d
and eax, ecx
cmp eax, r12d
jae 0x1400b16f5
mov r8d, dword [r15]
and r9, rcx
xor r10d, r10d
mov edx, r8d
sar r8d, 0x1d
add r9, rsi
sar edx, 0x1b
and r8d, 7
and edx, 3
dec edx
je 0x1400b263e
dec edx
je 0x1400b2639
dec edx
jne 0x1400b2644
mov r10, r13
jmp 0x1400b2644
mov r11, rdx
jmp 0x1400b25d8
mov r10, rdi
jmp 0x1400b2644
mov r10, r13
sub r10, rdi
sub r8d, 2
je 0x1400b2655
dec r8d
jne 0x1400b2659
add qword [r9 + rbx], r10
jmp 0x1400b2659
add dword [r9 + rbx], r10d
mov eax, dword [r14]
inc r11
add r15, 4
cmp r11, rax
jb 0x1400b25f5
jmp 0x1400b16f5
mov edx, dword [0x14000003c]
cmp rdi, r11
jb 0x1400b5b93
movsxd rax, edx
mov ecx, dword [rax + r11 + 0x50]
add rcx, r11
cmp rdi, rcx
jae 0x1400b2e0e
mov ecx, dword [0x14010ba78]
mov r8d, edi
xor r9d, r9d
sub r8d, r11d
sub ecx, ebx
js 0x1400b26e2
mov r11, qword [0x14017dbc0]
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [r11 + rdx*8]
shr eax, 1
and eax, r14d
cmp r8d, eax
jae 0x1400b26cc
lea ecx, [rdx - 1]
jmp 0x1400b26d6
jbe 0x1400b2bb1
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1400b26a3
lea r11, [0x140000000]
xor edx, edx
test rdx, rdx
je 0x1400b2e08
mov eax, dword [rdx]
mov r13d, dword [rdx + 4]
mov r10d, dword [0x14010ba80]
and r13, r14
shr rax, 1
lea r12, [rdx + 8]
and eax, 0xf
sub r10, r13
xor r8d, r8d
add r12, rax
inc r10
mov qword [rsp + 0x78], r13
mov r9, r10
mov qword [rsp + 0x68], r12
mov r14d, 0x269ec3
je 0x1400b275a
mov rax, qword [0x14017dbb0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r9, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
test r9, r9
jne 0x1400b272f
mov qword [0x14017dbb0], rax
xor edx, edx
mov rax, r8
xor bl, bl
div r10
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x60], r12
add rsi, rdx
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x40], rsi
test r13, r13
je 0x1400b2c25
movups xmm0, xmmword [r13 + r12]
and dword [rsp + 0x3a8], 0
and dword [rsp + 0x3ac], 0
and dword [rsp + 0x3b0], 0
and dword [rsp + 0x3b4], 0
mov edi, 0x40
movdqu xmmword [rsp + 0x80], xmm0
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x80]
mov rax, rcx
mov rdx, r8
mov dword [rsp + 0x394], r8d
shr rax, 0x20
shr rdx, 0x20
mov dword [rsp + 0x39c], ecx
mov dword [rsp + 0x3a0], eax
mov dword [rsp + 0x3c8], eax
mov eax, dword [0x14010bb68]
mov dword [rsp + 0x390], eax
mov eax, dword [0x14010bb6c]
mov dword [rsp + 0x398], edx
mov dword [rsp + 0x3a4], eax
mov eax, dword [0x14010bb70]
mov dword [rsp + 0x3bc], r8d
mov dword [rsp + 0x3b8], eax
mov eax, dword [0x14010bb74]
mov dword [rsp + 0x3c0], edx
mov dword [rsp + 0x3cc], eax
lea rax, [rsp + 0x690]
mov dword [rsp + 0x3c4], ecx
sub rax, r12
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x390]
lea rcx, [rsp + 0x110]
mov r8, rdi
call sub.MSVCR100.dll_memcpy
mov eax, dword [rsp + 0x124]
mov ecx, dword [rsp + 0x14c]
mov edx, dword [rsp + 0x148]
mov r8d, dword [rsp + 0x144]
mov r9d, dword [rsp + 0x140]
mov r10d, dword [rsp + 0x13c]
mov r11d, dword [rsp + 0x138]
mov r14d, dword [rsp + 0x134]
mov r13d, dword [rsp + 0x130]
mov esi, dword [rsp + 0x12c]
mov edi, dword [rsp + 0x128]
mov r15d, dword [rsp + 0x120]
mov ebx, dword [rsp + 0x11c]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x118]
mov r12d, dword [rsp + 0x30]
mov qword [rsp + 0x58], 3
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x114]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x110]
mov dword [rsp + 0x2c], eax
add eax, r9d
rol eax, 7
xor r15d, eax
mov eax, dword [rsp + 0x2c]
add eax, r15d
rol eax, 9
xor r13d, eax
lea eax, [r15 + r13]
rol eax, 0xd
xor r9d, eax
mov dword [rsp + 0x30], r9d
lea eax, [r9 + r13]
mov r9d, dword [rsp + 0x2c]
ror eax, 0xe
xor r9d, eax
mov eax, dword [rsp + 0x24]
add eax, r12d
mov dword [rsp + 0x2c], r9d
rol eax, 7
xor r14d, eax
lea eax, [r12 + r14]
rol eax, 9
xor r8d, eax
lea eax, [r8 + r14]
rol eax, 0xd
xor dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
add eax, r8d
ror eax, 0xe
xor r12d, eax
lea eax, [rdi + r11]
rol eax, 7
xor edx, eax
lea eax, [r11 + rdx]
rol eax, 9
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
add eax, edx
rol eax, 0xd
xor edi, eax
mov eax, dword [rsp + 0x28]
add eax, edi
ror eax, 0xe
xor r11d, eax
lea eax, [r10 + rcx]
rol eax, 7
xor ebx, eax
lea eax, [rcx + rbx]
rol eax, 9
xor esi, eax
lea eax, [rsi + rbx]
rol eax, 0xd
xor r10d, eax
lea eax, [rsi + r10]
ror eax, 0xe
xor ecx, eax
lea eax, [rbx + r9]
mov r9d, dword [rsp + 0x24]
rol eax, 7
xor r9d, eax
mov eax, r9d
mov dword [rsp + 0x24], r9d
mov dword [rsp + 0x114], eax
add eax, dword [rsp + 0x2c]
rol eax, 9
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x118], eax
add eax, r9d
mov r9d, dword [rsp + 0x2c]
rol eax, 0xd
xor ebx, eax
mov eax, dword [rsp + 0x28]
add eax, ebx
ror eax, 0xe
xor r9d, eax
lea eax, [r15 + r12]
rol eax, 7
mov dword [rsp + 0x2c], r9d
mov dword [rsp + 0x110], r9d
xor edi, eax
mov r9d, dword [rsp + 0x30]
lea eax, [r12 + rdi]
rol eax, 9
xor esi, eax
lea eax, [rsi + rdi]
rol eax, 0xd
xor r15d, eax
lea eax, [r15 + rsi]
ror eax, 0xe
xor r12d, eax
lea eax, [r11 + r14]
rol eax, 7
xor r10d, eax
lea eax, [r10 + r11]
rol eax, 9
xor r13d, eax
lea eax, [r10 + r13]
rol eax, 0xd
xor r14d, eax
lea eax, [r14 + r13]
ror eax, 0xe
xor r11d, eax
lea eax, [rcx + rdx]
rol eax, 7
xor r9d, eax
mov dword [rsp + 0x140], r9d
lea eax, [rcx + r9]
rol eax, 9
xor r8d, eax
lea eax, [r9 + r8]
rol eax, 0xd
xor edx, eax
lea eax, [rdx + r8]
ror eax, 0xe
xor ecx, eax
dec qword [rsp + 0x58]
mov eax, dword [rsp + 0x2c]
jne 0x1400b2905
mov dword [rsp + 0x14c], ecx
mov dword [rsp + 0x134], r14d
mov r14, qword [rsp + 0x40]
mov dword [rsp + 0x130], r13d
mov r13, qword [rsp + 0x48]
mov dword [rsp + 0x12c], esi
mov rsi, qword [rsp + 0x50]
mov dword [rsp + 0x128], edi
mov dword [rsp + 0x124], r12d
mov r12d, dword [rsp + 0x3b0]
mov dword [rsp + 0x120], r15d
mov r15, qword [rsp + 0x60]
mov dword [rsp + 0x11c], ebx
mov bl, byte [rsp + 0x20]
mov edi, 0x40
xor ecx, ecx
mov dword [rsp + 0x148], edx
mov dword [rsp + 0x144], r8d
mov dword [rsp + 0x13c], r10d
mov dword [rsp + 0x138], r11d
mov eax, dword [rsp + rcx + 0x390]
add rcx, 4
add dword [rsp + rcx + 0x10c], eax
cmp rcx, rdi
jl 0x1400b2b25
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x690]
mov r8, rdi
call sub.MSVCR100.dll_memcpy
inc r12d
mov dword [rsp + 0x3b0], r12d
cmp r13, rdi
jbe 0x1400b2bd3
mov rdx, qword [rsp + 0x38]
mov r8, r14
mov rcx, r15
sub r8, r15
mov r9, rdi
mov al, byte [rdx + rcx]
xor al, byte [rcx]
mov byte [rcx + r8], al
inc rcx
xor bl, al
dec r9
jne 0x1400b2b75
sub r13, rdi
add r14, rdi
add r15, rdi
sub rdx, rdi
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x38], rdx
jmp 0x1400b2858
mov edx, dword [r11 + rdx*8]
mov eax, dword [r11 + r10*8 + 4]
lea r11, [0x140000000]
shr edx, 1
and eax, r15d
and edx, r14d
add edx, eax
add rdx, r11
jmp 0x1400b26e4
mov r12, qword [rsp + 0x68]
xor r8d, r8d
test r13, r13
mov r13, qword [rsp + 0x78]
mov r14d, 0x269ec3
je 0x1400b2c1e
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
lea r9, [rsp + 0x690]
sub r9, r15
sub rcx, r15
mov al, byte [r15 + r9]
inc r8d
xor al, byte [r15]
mov byte [r15 + rcx], al
xor bl, al
mov eax, r8d
inc r15
cmp rax, rdx
jb 0x1400b2c03
lea r11, [0x140000000]
cmp bl, byte [r13 + r12 + 0x10]
je 0x1400b2cf3
call fcn.14009eca8
mov rcx, qword [rsp + 0x790]
lea rsi, [fcn.1400bd550]
mov rbx, rax
mov rax, 0xfffffffffffff000
lea r10, [rcx + 0x18]
and r10, 0xfffffffffffffff8
and rbx, rax
mov qword [rcx + 0x10], rsi
lea r11, [r10 + 0xfff]
mov r8d, 0xffff
and r11, rax
mov rax, qword [0x14017dbb0]
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1400b2c77
mov qword [0x14017dbb0], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0x798]
shr rdx, 0xf
mov qword [rax + 0x98], rbx
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rsp + 0x68], r8
jmp 0x1400b2ce9
mov rax, qword [rsp + 0x68]
mov qword [r10], rax
add r10, 8
cmp r10, r11
jb 0x1400b2cdd
jmp 0x1400b1700
mov rax, qword [0x14010bb18]
mov rdi, r12
mov rcx, r11
sub rdi, rsi
sub rcx, rax
mov qword [rsp + 0x68], rcx
jne 0x1400b2d16
test rdi, rdi
je 0x1400b16fa
mov r14, qword [0x14017dbb8]
mov rbx, rsi
sub rbx, r12
sub r12d, r11d
add r13d, r12d
test r14, r14
je 0x1400b16fa
mov r15d, dword [r14]
xor r8d, r8d
mov ecx, 0x7ffffff
lea r9d, [r15 - 1]
test r9d, r9d
js 0x1400b2d70
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r14 + rdx*4 + 4]
and r10d, ecx
cmp r12d, r10d
jae 0x1400b2d65
lea r9d, [rdx - 1]
jmp 0x1400b2d6b
jbe 0x1400b2dcf
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1400b2d46
movsxd r11, r8d
cmp r11, r15
jae 0x1400b16fa
mov r12, qword [rsp + 0x68]
lea r15, [r14 + 4]
lea rsi, [0x140000000]
lea r15, [r15 + r11*4]
mov r9d, dword [r15]
mov eax, r9d
and eax, ecx
cmp eax, r13d
jae 0x1400b16f5
mov r8d, dword [r15]
and r9, rcx
xor r10d, r10d
mov edx, r8d
sar r8d, 0x1d
add r9, rsi
sar edx, 0x1b
and r8d, 7
and edx, 3
dec edx
je 0x1400b2dd9
dec edx
je 0x1400b2dd4
dec edx
jne 0x1400b2ddf
mov r10, r12
jmp 0x1400b2ddf
mov r11, rdx
jmp 0x1400b2d73
mov r10, rdi
jmp 0x1400b2ddf
mov r10, r12
sub r10, rdi
sub r8d, 2
je 0x1400b2df0
dec r8d
jne 0x1400b2df4
add qword [r9 + rbx], r10
jmp 0x1400b2df4
add dword [r9 + rbx], r10d
mov eax, dword [r14]
inc r11
add r15, 4
cmp r11, rax
jb 0x1400b2d90
jmp 0x1400b16f5
mov edx, dword [0x14000003c]
cmp rdi, r11
jb 0x1400b5b93
movsxd rax, edx
mov ecx, dword [rax + r11 + 0x50]
add rcx, r11
cmp rdi, rcx
jae 0x1400b35a6
mov ecx, dword [0x14010bb10]
mov r8d, edi
xor r9d, r9d
sub r8d, r11d
sub ecx, ebx
js 0x1400b2e7d
mov r11, qword [0x14017dbd8]
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [r11 + rdx*8]
shr eax, 1
and eax, r14d
cmp r8d, eax
jae 0x1400b2e67
lea ecx, [rdx - 1]
jmp 0x1400b2e71
jbe 0x1400b3349
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1400b2e3e
lea r11, [0x140000000]
xor edx, edx
test rdx, rdx
je 0x1400b35a0
mov eax, dword [rdx]
mov r13d, dword [rdx + 4]
mov r10d, dword [0x14010ba80]
and r13, r14
and eax, 0xf
lea r12, [rdx + 8]
add r12, rax
sub r10, r13
xor r8d, r8d
inc r10
mov qword [rsp + 0x78], r13
mov r14d, 0x269ec3
mov r9, r10
mov qword [rsp + 0x68], r12
je 0x1400b2ef2
mov rax, qword [0x14017dbb0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r9, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
test r9, r9
jne 0x1400b2ec7
mov qword [0x14017dbb0], rax
xor edx, edx
mov rax, r8
xor bl, bl
div r10
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x60], r12
add rsi, rdx
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x40], rsi
test r13, r13
je 0x1400b33bd
movups xmm0, xmmword [r13 + r12]
and dword [rsp + 0x4a8], 0
and dword [rsp + 0x4ac], 0
and dword [rsp + 0x4b0], 0
and dword [rsp + 0x4b4], 0
mov edi, 0x40
movdqu xmmword [rsp + 0x80], xmm0
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x80]
mov rax, rcx
mov rdx, r8
mov dword [rsp + 0x494], r8d
shr rax, 0x20
shr rdx, 0x20
mov dword [rsp + 0x49c], ecx
mov dword [rsp + 0x4a0], eax
mov dword [rsp + 0x4c8], eax
mov eax, dword [0x14010bb68]
mov dword [rsp + 0x490], eax
mov eax, dword [0x14010bb6c]
mov dword [rsp + 0x498], edx
mov dword [rsp + 0x4a4], eax
mov eax, dword [0x14010bb70]
mov dword [rsp + 0x4bc], r8d
mov dword [rsp + 0x4b8], eax
mov eax, dword [0x14010bb74]
mov dword [rsp + 0x4c0], edx
mov dword [rsp + 0x4cc], eax
lea rax, [rsp + 0x710]
mov dword [rsp + 0x4c4], ecx
sub rax, r12
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x490]
lea rcx, [rsp + 0x210]
mov r8, rdi
call sub.MSVCR100.dll_memcpy
mov eax, dword [rsp + 0x224]
mov ecx, dword [rsp + 0x24c]
mov edx, dword [rsp + 0x248]
mov r8d, dword [rsp + 0x244]
mov r9d, dword [rsp + 0x240]
mov r10d, dword [rsp + 0x23c]
mov r11d, dword [rsp + 0x238]
mov r14d, dword [rsp + 0x234]
mov r13d, dword [rsp + 0x230]
mov esi, dword [rsp + 0x22c]
mov edi, dword [rsp + 0x228]
mov r15d, dword [rsp + 0x220]
mov ebx, dword [rsp + 0x21c]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x218]
mov r12d, dword [rsp + 0x30]
mov qword [rsp + 0x58], 3
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x214]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x210]
mov dword [rsp + 0x2c], eax
add eax, r9d
rol eax, 7
xor r15d, eax
mov eax, dword [rsp + 0x2c]
add eax, r15d
rol eax, 9
xor r13d, eax
lea eax, [r15 + r13]
rol eax, 0xd
xor r9d, eax
mov dword [rsp + 0x30], r9d
lea eax, [r9 + r13]
mov r9d, dword [rsp + 0x2c]
ror eax, 0xe
xor r9d, eax
mov eax, dword [rsp + 0x24]
add eax, r12d
mov dword [rsp + 0x2c], r9d
rol eax, 7
xor r14d, eax
lea eax, [r12 + r14]
rol eax, 9
xor r8d, eax
lea eax, [r8 + r14]
rol eax, 0xd
xor dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
add eax, r8d
ror eax, 0xe
xor r12d, eax
lea eax, [rdi + r11]
rol eax, 7
xor edx, eax
lea eax, [r11 + rdx]
rol eax, 9
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
add eax, edx
rol eax, 0xd
xor edi, eax
mov eax, dword [rsp + 0x28]
add eax, edi
ror eax, 0xe
xor r11d, eax
lea eax, [r10 + rcx]
rol eax, 7
xor ebx, eax
lea eax, [rcx + rbx]
rol eax, 9
xor esi, eax
lea eax, [rsi + rbx]
rol eax, 0xd
xor r10d, eax
lea eax, [rsi + r10]
ror eax, 0xe
xor ecx, eax
lea eax, [rbx + r9]
mov r9d, dword [rsp + 0x24]
rol eax, 7
xor r9d, eax
mov eax, r9d
mov dword [rsp + 0x24], r9d
mov dword [rsp + 0x214], eax
add eax, dword [rsp + 0x2c]
rol eax, 9
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x218], eax
add eax, r9d
mov r9d, dword [rsp + 0x2c]
rol eax, 0xd
xor ebx, eax
mov eax, dword [rsp + 0x28]
add eax, ebx
ror eax, 0xe
xor r9d, eax
lea eax, [r15 + r12]
rol eax, 7
mov dword [rsp + 0x2c], r9d
mov dword [rsp + 0x210], r9d
xor edi, eax
mov r9d, dword [rsp + 0x30]
lea eax, [r12 + rdi]
rol eax, 9
xor esi, eax
lea eax, [rsi + rdi]
rol eax, 0xd
xor r15d, eax
lea eax, [r15 + rsi]
ror eax, 0xe
xor r12d, eax
lea eax, [r11 + r14]
rol eax, 7
xor r10d, eax
lea eax, [r10 + r11]
rol eax, 9
xor r13d, eax
lea eax, [r10 + r13]
rol eax, 0xd
xor r14d, eax
lea eax, [r14 + r13]
ror eax, 0xe
xor r11d, eax
lea eax, [rcx + rdx]
rol eax, 7
xor r9d, eax
mov dword [rsp + 0x240], r9d
lea eax, [rcx + r9]
rol eax, 9
xor r8d, eax
lea eax, [r9 + r8]
rol eax, 0xd
xor edx, eax
lea eax, [rdx + r8]
ror eax, 0xe
xor ecx, eax
dec qword [rsp + 0x58]
mov eax, dword [rsp + 0x2c]
jne 0x1400b309d
mov dword [rsp + 0x24c], ecx
mov dword [rsp + 0x234], r14d
mov r14, qword [rsp + 0x40]
mov dword [rsp + 0x230], r13d
mov r13, qword [rsp + 0x48]
mov dword [rsp + 0x22c], esi
mov rsi, qword [rsp + 0x50]
mov dword [rsp + 0x228], edi
mov dword [rsp + 0x224], r12d
mov r12d, dword [rsp + 0x4b0]
mov dword [rsp + 0x220], r15d
mov r15, qword [rsp + 0x60]
mov dword [rsp + 0x21c], ebx
mov bl, byte [rsp + 0x20]
mov edi, 0x40
xor ecx, ecx
mov dword [rsp + 0x248], edx
mov dword [rsp + 0x244], r8d
mov dword [rsp + 0x23c], r10d
mov dword [rsp + 0x238], r11d
mov eax, dword [rsp + rcx + 0x490]
add rcx, 4
add dword [rsp + rcx + 0x20c], eax
cmp rcx, rdi
jl 0x1400b32bd
lea rdx, [rsp + 0x210]
lea rcx, [rsp + 0x710]
mov r8, rdi
call sub.MSVCR100.dll_memcpy
inc r12d
mov dword [rsp + 0x4b0], r12d
cmp r13, rdi
jbe 0x1400b336b
mov rdx, qword [rsp + 0x38]
mov r8, r14
mov rcx, r15
sub r8, r15
mov r9, rdi
mov al, byte [rdx + rcx]
xor al, byte [rcx]
mov byte [rcx + r8], al
inc rcx
xor bl, al
dec r9
jne 0x1400b330d
sub r13, rdi
add r14, rdi
add r15, rdi
sub rdx, rdi
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x38], rdx
jmp 0x1400b2ff0
mov edx, dword [r11 + rdx*8 + 4]
mov eax, dword [r11 + r10*8]
lea r11, [0x140000000]
shr eax, 1
and edx, r15d
and eax, r14d
add edx, eax
add rdx, r11
jmp 0x1400b2e7f
mov r12, qword [rsp + 0x68]
xor r8d, r8d
test r13, r13
mov r13, qword [rsp + 0x78]
mov r14d, 0x269ec3
je 0x1400b33b6
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
lea r9, [rsp + 0x710]
sub r9, r15
sub rcx, r15
mov al, byte [r15 + r9]
inc r8d
xor al, byte [r15]
mov byte [r15 + rcx], al
xor bl, al
mov eax, r8d
inc r15
cmp rax, rdx
jb 0x1400b339b
lea r11, [0x140000000]
cmp bl, byte [r13 + r12 + 0x10]
je 0x1400b348b
call fcn.14009eca8
mov rcx, qword [rsp + 0x790]
lea rsi, [fcn.1400bd550]
mov rbx, rax
mov rax, 0xfffffffffffff000
lea r10, [rcx + 0x18]
and r10, 0xfffffffffffffff8
and rbx, rax
mov qword [rcx + 0x10], rsi
lea r11, [r10 + 0xfff]
mov r8d, 0xffff
and r11, rax
mov rax, qword [0x14017dbb0]
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1400b340f
mov qword [0x14017dbb0], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0x798]
shr rdx, 0xf
mov qword [rax + 0x98], rbx
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rsp + 0x68], r8
jmp 0x1400b3481
mov rax, qword [rsp + 0x68]
mov qword [r10], rax
add r10, 8
cmp r10, r11
jb 0x1400b3475
jmp 0x1400b1700
mov rax, qword [0x14010bb18]
mov rdi, r12
mov rcx, r11
sub rdi, rsi
sub rcx, rax
mov qword [rsp + 0x68], rcx
jne 0x1400b34ae
test rdi, rdi
je 0x1400b16fa
mov r14, qword [0x14017dbb8]
mov rbx, rsi
sub rbx, r12
sub r12d, r11d
add r13d, r12d
test r14, r14
je 0x1400b16fa
mov r15d, dword [r14]
xor r8d, r8d
mov ecx, 0x7ffffff
lea r9d, [r15 - 1]
test r9d, r9d
js 0x1400b3508
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r14 + rdx*4 + 4]
and r10d, ecx
cmp r12d, r10d
jae 0x1400b34fd
lea r9d, [rdx - 1]
jmp 0x1400b3503
jbe 0x1400b3567
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1400b34de
movsxd r11, r8d
cmp r11, r15
jae 0x1400b16fa
mov r12, qword [rsp + 0x68]
lea r15, [r14 + 4]
lea rsi, [0x140000000]
lea r15, [r15 + r11*4]
mov r9d, dword [r15]
mov eax, r9d
and eax, ecx
cmp eax, r13d
jae 0x1400b16f5
mov r8d, dword [r15]
and r9, rcx
xor r10d, r10d
mov edx, r8d
sar r8d, 0x1d
add r9, rsi
sar edx, 0x1b
and r8d, 7
and edx, 3
dec edx
je 0x1400b3571
dec edx
je 0x1400b356c
dec edx
jne 0x1400b3577
mov r10, r12
jmp 0x1400b3577
mov r11, rdx
jmp 0x1400b350b
mov r10, rdi
jmp 0x1400b3577
mov r10, r12
sub r10, rdi
sub r8d, 2
je 0x1400b3588
dec r8d
jne 0x1400b358c
add qword [r9 + rbx], r10
jmp 0x1400b358c
add dword [r9 + rbx], r10d
mov eax, dword [r14]
inc r11
add r15, 4
cmp r11, rax
jb 0x1400b3528
jmp 0x1400b16f5
mov edx, dword [0x14000003c]
cmp rdi, r11
jb 0x1400b5b93
movsxd rax, edx
mov ecx, dword [rax + r11 + 0x50]
add rcx, r11
cmp rdi, rcx
jae 0x1400b3cff
mov ecx, dword [0x14010bb48]
mov r8d, edi
xor r9d, r9d
sub r8d, r11d
sub ecx, ebx
js 0x1400b3614
mov r11, qword [0x14017dc30]
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [r11 + rdx*8 + 4]
and eax, r14d
cmp r8d, eax
jae 0x1400b35fe
lea ecx, [rdx - 1]
jmp 0x1400b3608
jbe 0x1400b3a8d
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1400b35d6
lea r11, [0x140000000]
xor edx, edx
test rdx, rdx
je 0x1400b3cf9
mov eax, dword [rdx]
mov r12d, dword [rdx + 4]
mov r10d, dword [0x14010ba80]
and r12, r14
shr rax, 4
lea r15, [rdx + 8]
and eax, 0xf
sub r10, r12
xor r8d, r8d
add r15, rax
inc r10
mov qword [rsp + 0x78], r12
mov r9, r10
mov qword [rsp + 0x68], r15
mov r14d, 0x269ec3
je 0x1400b368d
mov rax, qword [0x14017dbb0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r9, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
test r9, r9
jne 0x1400b3662
mov qword [0x14017dbb0], rax
xor edx, edx
mov rax, r8
xor bl, bl
div r10
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x38], r15
add rsi, rdx
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x40], rsi
test r12, r12
je 0x1400b3b1d
movups xmm0, xmmword [r15 + r12]
and dword [rsp + 0x2a8], 0
and dword [rsp + 0x2ac], 0
and dword [rsp + 0x2b0], 0
and dword [rsp + 0x2b4], 0
mov r13, rsi
movdqu xmmword [rsp + 0x80], xmm0
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x80]
mov edi, 0x40
mov rax, rcx
mov rdx, r8
mov dword [rsp + 0x294], r8d
shr rax, 0x20
shr rdx, 0x20
mov dword [rsp + 0x29c], ecx
mov dword [rsp + 0x2a0], eax
mov dword [rsp + 0x2c8], eax
mov eax, dword [0x14010bb68]
mov dword [rsp + 0x290], eax
mov eax, dword [0x14010bb6c]
mov dword [rsp + 0x298], edx
mov dword [rsp + 0x2a4], eax
mov eax, dword [0x14010bb70]
mov dword [rsp + 0x2bc], r8d
mov dword [rsp + 0x2b8], eax
mov eax, dword [0x14010bb74]
mov dword [rsp + 0x2c0], edx
mov dword [rsp + 0x2cc], eax
lea rax, [rsp + 0x610]
mov dword [rsp + 0x2c4], ecx
sub r13, rax
mov rax, r15
sub rax, rsi
mov qword [rsp + 0x80], rax
lea rdx, [rsp + 0x290]
lea rcx, [rsp + 0x7e0]
mov r8, rdi
mov qword [rsp + 0x60], r13
call sub.MSVCR100.dll_memcpy
mov eax, dword [rbp - 0x7c]
mov ecx, dword [rbp - 0x54]
mov edx, dword [rbp - 0x58]
mov r8d, dword [rbp - 0x5c]
mov r9d, dword [rbp - 0x60]
mov r10d, dword [rbp - 0x64]
mov r11d, dword [rbp - 0x68]
mov esi, dword [rbp - 0x6c]
mov r14d, dword [rbp - 0x70]
mov r15d, dword [rbp - 0x74]
mov r12d, dword [rbp - 0x78]
mov r13d, dword [rbp - 0x80]
mov ebx, dword [rsp + 0x7ec]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x7e8]
mov edi, dword [rsp + 0x30]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x7e4]
mov qword [rsp + 0x58], 3
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x7e0]
mov dword [rsp + 0x2c], eax
add eax, r9d
rol eax, 7
xor r13d, eax
mov eax, dword [rsp + 0x2c]
add eax, r13d
rol eax, 9
xor r14d, eax
lea eax, [r14 + r13]
rol eax, 0xd
xor r9d, eax
mov dword [rsp + 0x30], r9d
lea eax, [r14 + r9]
mov r9d, dword [rsp + 0x2c]
ror eax, 0xe
xor r9d, eax
mov eax, dword [rsp + 0x24]
add eax, edi
mov dword [rsp + 0x2c], r9d
rol eax, 7
xor esi, eax
lea eax, [rsi + rdi]
rol eax, 9
xor r8d, eax
lea eax, [r8 + rsi]
rol eax, 0xd
xor dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
add eax, r8d
ror eax, 0xe
xor edi, eax
lea eax, [r12 + r11]
rol eax, 7
xor edx, eax
lea eax, [r11 + rdx]
rol eax, 9
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
add eax, edx
rol eax, 0xd
xor r12d, eax
mov eax, dword [rsp + 0x28]
add eax, r12d
ror eax, 0xe
xor r11d, eax
lea eax, [r10 + rcx]
rol eax, 7
xor ebx, eax
lea eax, [rcx + rbx]
rol eax, 9
xor r15d, eax
lea eax, [rbx + r15]
rol eax, 0xd
xor r10d, eax
lea eax, [r10 + r15]
ror eax, 0xe
xor ecx, eax
lea eax, [rbx + r9]
mov r9d, dword [rsp + 0x24]
rol eax, 7
xor r9d, eax
mov eax, r9d
mov dword [rsp + 0x24], r9d
mov dword [rsp + 0x7e4], eax
add eax, dword [rsp + 0x2c]
rol eax, 9
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x7e8], eax
add eax, r9d
mov r9d, dword [rsp + 0x2c]
rol eax, 0xd
xor ebx, eax
mov eax, dword [rsp + 0x28]
add eax, ebx
ror eax, 0xe
xor r9d, eax
lea eax, [rdi + r13]
rol eax, 7
mov dword [rsp + 0x2c], r9d
mov dword [rsp + 0x7e0], r9d
xor r12d, eax
mov r9d, dword [rsp + 0x30]
lea eax, [r12 + rdi]
rol eax, 9
xor r15d, eax
lea eax, [r15 + r12]
rol eax, 0xd
xor r13d, eax
lea eax, [r15 + r13]
ror eax, 0xe
xor edi, eax
lea eax, [rsi + r11]
rol eax, 7
xor r10d, eax
lea eax, [r10 + r11]
rol eax, 9
xor r14d, eax
lea eax, [r10 + r14]
rol eax, 0xd
xor esi, eax
lea eax, [rsi + r14]
ror eax, 0xe
xor r11d, eax
lea eax, [rcx + rdx]
rol eax, 7
xor r9d, eax
mov dword [rbp - 0x60], r9d
lea eax, [rcx + r9]
rol eax, 9
xor r8d, eax
lea eax, [r9 + r8]
rol eax, 0xd
xor edx, eax
lea eax, [rdx + r8]
ror eax, 0xe
xor ecx, eax
dec qword [rsp + 0x58]
mov eax, dword [rsp + 0x2c]
jne 0x1400b3818
mov dword [rbp - 0x54], ecx
mov dword [rbp - 0x70], r14d
mov r14, qword [rsp + 0x48]
mov dword [rbp - 0x74], r15d
mov r15, qword [rsp + 0x68]
mov dword [rbp - 0x78], r12d
mov r12, qword [rsp + 0x78]
mov dword [rbp - 0x7c], edi
mov dword [rbp - 0x80], r13d
mov r13, qword [rsp + 0x60]
mov dword [rsp + 0x7ec], ebx
mov bl, byte [rsp + 0x20]
mov edi, 0x40
xor ecx, ecx
mov dword [rbp - 0x58], edx
mov dword [rbp - 0x5c], r8d
mov dword [rbp - 0x64], r10d
mov dword [rbp - 0x68], r11d
mov dword [rbp - 0x6c], esi
mov eax, dword [rsp + rcx + 0x290]
add rcx, 4
add dword [rsp + rcx + 0x7dc], eax
cmp rcx, rdi
jl 0x1400b3a01
lea rdx, [rsp + 0x7e0]
lea rcx, [rsp + 0x610]
mov r8, rdi
call sub.MSVCR100.dll_memcpy
inc dword [rsp + 0x2b0]
cmp r14, rdi
jbe 0x1400b3ab0
mov rsi, qword [rsp + 0x80]
lea rdx, [rsp + 0x610]
mov r8, rdi
lea rax, [rsi + r13]
mov cl, byte [rax + rdx]
xor cl, byte [rdx]
mov byte [r13 + rdx], cl
inc rdx
xor bl, cl
dec r8
jne 0x1400b3a4f
mov rsi, qword [rsp + 0x38]
add qword [rsp + 0x40], rdi
sub r14, rdi
add r13, rdi
add rsi, rdi
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x48], r14
jmp 0x1400b3796
mov edx, dword [r11 + rdx*8 + 4]
mov eax, dword [r11 + r10*8]
lea r11, [0x140000000]
shr eax, 2
and edx, r14d
and eax, r15d
add edx, eax
add rdx, r11
jmp 0x1400b3616
mov rsi, qword [rsp + 0x50]
xor r9d, r9d
test r14, r14
mov r14d, 0x269ec3
je 0x1400b3b0e
mov rsi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
lea rax, [rsp + 0x610]
lea rcx, [rsp + 0x610]
sub rsi, rax
lea rax, [rsp + 0x610]
sub r8, rax
mov al, byte [rcx + rsi]
inc r9d
xor al, byte [rcx]
mov byte [rcx + r8], al
xor bl, al
mov eax, r9d
inc rcx
cmp rax, rdx
jb 0x1400b3af0
mov rsi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x790]
lea r11, [0x140000000]
cmp bl, byte [r15 + r12 + 0x10]
je 0x1400b3be3
call fcn.14009eca8
lea r10, [r13 + 0x18]
lea rsi, [fcn.1400bd550]
mov rbx, rax
mov rax, 0xfffffffffffff000
and r10, 0xfffffffffffffff8
and rbx, rax
lea r11, [r10 + 0xfff]
mov qword [r13 + 0x10], rsi
and r11, rax
mov rax, qword [0x14017dbb0]
xor r9d, r9d
mov r8d, 0xffff
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1400b3b67
mov qword [0x14017dbb0], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0x798]
shr rdx, 0xf
mov qword [rax + 0x98], rbx
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rsp + 0x68], r8
jmp 0x1400b3bd9
mov rax, qword [rsp + 0x68]
mov qword [r10], rax
add r10, 8
cmp r10, r11
jb 0x1400b3bcd
jmp 0x1400b1700
mov rax, qword [0x14010bb18]
mov rdi, r15
mov r13, r11
sub rdi, rsi
sub r13, rax
jne 0x1400b3c01
test rdi, rdi
je 0x1400b16fa
mov r14, qword [0x14017dbb8]
mov rbx, rsi
sub rbx, r15
sub r15d, r11d
lea eax, [r15 + r12]
mov dword [rsp + 0x30], eax
test r14, r14
je 0x1400b16fa
mov r12d, dword [r14]
xor r8d, r8d
mov ecx, 0x7ffffff
lea r9d, [r12 - 1]
test r9d, r9d
js 0x1400b3c61
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r14 + rdx*4 + 4]
and r10d, ecx
cmp r15d, r10d
jae 0x1400b3c56
lea r9d, [rdx - 1]
jmp 0x1400b3c5c
jbe 0x1400b3cc0
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1400b3c37
movsxd r11, r8d
cmp r11, r12
jae 0x1400b16fa
mov r12d, dword [rsp + 0x30]
lea r15, [r14 + 4]
lea rsi, [0x140000000]
lea r15, [r15 + r11*4]
mov r9d, dword [r15]
mov eax, r9d
and eax, ecx
cmp eax, r12d
jae 0x1400b16f5
mov r8d, dword [r15]
and r9, rcx
xor r10d, r10d
mov edx, r8d
sar r8d, 0x1d
add r9, rsi
sar edx, 0x1b
and r8d, 7
and edx, 3
dec edx
je 0x1400b3cca
dec edx
je 0x1400b3cc5
dec edx
jne 0x1400b3cd0
mov r10, r13
jmp 0x1400b3cd0
mov r11, rdx
jmp 0x1400b3c64
mov r10, rdi
jmp 0x1400b3cd0
mov r10, r13
sub r10, rdi
sub r8d, 2
je 0x1400b3ce1
dec r8d
jne 0x1400b3ce5
add qword [r9 + rbx], r10
jmp 0x1400b3ce5
add dword [r9 + rbx], r10d
mov eax, dword [r14]
inc r11
add r15, 4
cmp r11, rax
jb 0x1400b3c81
jmp 0x1400b16f5
mov edx, dword [0x14000003c]
cmp rdi, r11
jb 0x1400b5b93
movsxd rax, edx
mov ecx, dword [rax + r11 + 0x50]
add rcx, r11
cmp rdi, rcx
jae 0x1400b4497
mov ecx, dword [0x14010bb50]
mov r8d, edi
xor r9d, r9d
sub r8d, r11d
sub ecx, ebx
js 0x1400b3d69
mov r11, qword [0x14017dba8]
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov eax, dword [r11 + rdx*8]
and eax, r14d
cmp r8d, eax
jae 0x1400b3d53
lea ecx, [rdx - 1]
jmp 0x1400b3d5d
jbe 0x1400b423b
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1400b3d2f
lea r11, [0x140000000]
xor r13d, r13d
test r13, r13
je 0x1400b4491
mov eax, dword [r13 + 4]
mov r10d, dword [0x14010ba80]
lea r12, [r13 + 8]
mov r13d, dword [r13]
and eax, 0xf
xor r8d, r8d
shr r13, 1
add r12, rax
and r13, r14
mov qword [rsp + 0x68], r12
mov r14d, 0x269ec3
sub r10, r13
mov qword [rsp + 0x78], r13
inc r10
mov r9, r10
je 0x1400b3de4
mov rax, qword [0x14017dbb0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r9, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
test r9, r9
jne 0x1400b3db9
mov qword [0x14017dbb0], rax
xor edx, edx
mov rax, r8
xor bl, bl
div r10
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x60], r12
add rsi, rdx
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x40], rsi
test r13, r13
je 0x1400b42ae
movups xmm0, xmmword [r13 + r12]
and dword [rsp + 0x368], 0
and dword [rsp + 0x36c], 0
and dword [rsp + 0x370], 0
and dword [rsp + 0x374], 0
mov edi, 0x40
movdqu xmmword [rsp + 0x80], xmm0
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x80]
mov rax, rcx
mov rdx, r8
mov dword [rsp + 0x354], r8d
shr rax, 0x20
shr rdx, 0x20
mov dword [rsp + 0x35c], ecx
mov dword [rsp + 0x360], eax
mov dword [rsp + 0x388], eax
mov eax, dword [0x14010bb68]
mov dword [rsp + 0x350], eax
mov eax, dword [0x14010bb6c]
mov dword [rsp + 0x358], edx
mov dword [rsp + 0x364], eax
mov eax, dword [0x14010bb70]
mov dword [rsp + 0x37c], r8d
mov dword [rsp + 0x378], eax
mov eax, dword [0x14010bb74]
mov dword [rsp + 0x380], edx
mov dword [rsp + 0x38c], eax
lea rax, [rsp + 0x6d0]
mov dword [rsp + 0x384], ecx
sub rax, r12
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x350]
lea rcx, [rsp + 0x7a0]
mov r8, rdi
call sub.MSVCR100.dll_memcpy
mov eax, dword [rsp + 0x7b4]
mov ecx, dword [rsp + 0x7dc]
mov edx, dword [rsp + 0x7d8]
mov r8d, dword [rsp + 0x7d4]
mov r9d, dword [rsp + 0x7d0]
mov r10d, dword [rsp + 0x7cc]
mov r11d, dword [rsp + 0x7c8]
mov r14d, dword [rsp + 0x7c4]
mov r13d, dword [rsp + 0x7c0]
mov esi, dword [rsp + 0x7bc]
mov edi, dword [rsp + 0x7b8]
mov r15d, dword [rsp + 0x7b0]
mov ebx, dword [rsp + 0x7ac]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x7a8]
mov r12d, dword [rsp + 0x30]
mov qword [rsp + 0x58], 2
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x7a4]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x7a0]
mov dword [rsp + 0x2c], eax
add eax, r9d
rol eax, 7
xor r15d, eax
mov eax, dword [rsp + 0x2c]
add eax, r15d
rol eax, 9
xor r13d, eax
lea eax, [r15 + r13]
rol eax, 0xd
xor r9d, eax
mov dword [rsp + 0x30], r9d
lea eax, [r9 + r13]
mov r9d, dword [rsp + 0x2c]
ror eax, 0xe
xor r9d, eax
mov eax, dword [rsp + 0x24]
add eax, r12d
mov dword [rsp + 0x2c], r9d
rol eax, 7
xor r14d, eax
lea eax, [r12 + r14]
rol eax, 9
xor r8d, eax
lea eax, [r8 + r14]
rol eax, 0xd
xor dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
add eax, r8d
ror eax, 0xe
xor r12d, eax
lea eax, [rdi + r11]
rol eax, 7
xor edx, eax
lea eax, [r11 + rdx]
rol eax, 9
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
add eax, edx
rol eax, 0xd
xor edi, eax
mov eax, dword [rsp + 0x28]
add eax, edi
ror eax, 0xe
xor r11d, eax
lea eax, [r10 + rcx]
rol eax, 7
xor ebx, eax
lea eax, [rcx + rbx]
rol eax, 9
xor esi, eax
lea eax, [rsi + rbx]
rol eax, 0xd
xor r10d, eax
lea eax, [rsi + r10]
ror eax, 0xe
xor ecx, eax
lea eax, [rbx + r9]
mov r9d, dword [rsp + 0x24]
rol eax, 7
xor r9d, eax
mov eax, r9d
mov dword [rsp + 0x24], r9d
mov dword [rsp + 0x7a4], eax
add eax, dword [rsp + 0x2c]
rol eax, 9
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x7a8], eax
add eax, r9d
mov r9d, dword [rsp + 0x2c]
rol eax, 0xd
xor ebx, eax
mov eax, dword [rsp + 0x28]
add eax, ebx
ror eax, 0xe
xor r9d, eax
lea eax, [r15 + r12]
rol eax, 7
mov dword [rsp + 0x2c], r9d
mov dword [rsp + 0x7a0], r9d
xor edi, eax
mov r9d, dword [rsp + 0x30]
lea eax, [r12 + rdi]
rol eax, 9
xor esi, eax
lea eax, [rsi + rdi]
rol eax, 0xd
xor r15d, eax
lea eax, [r15 + rsi]
ror eax, 0xe
xor r12d, eax
lea eax, [r11 + r14]
rol eax, 7
xor r10d, eax
lea eax, [r10 + r11]
rol eax, 9
xor r13d, eax
lea eax, [r10 + r13]
rol eax, 0xd
xor r14d, eax
lea eax, [r14 + r13]
ror eax, 0xe
xor r11d, eax
lea eax, [rcx + rdx]
rol eax, 7
xor r9d, eax
mov dword [rsp + 0x7d0], r9d
lea eax, [rcx + r9]
rol eax, 9
xor r8d, eax
lea eax, [r9 + r8]
rol eax, 0xd
xor edx, eax
lea eax, [rdx + r8]
ror eax, 0xe
xor ecx, eax
dec qword [rsp + 0x58]
mov eax, dword [rsp + 0x2c]
jne 0x1400b3f8f
mov dword [rsp + 0x7dc], ecx
mov dword [rsp + 0x7c4], r14d
mov r14, qword [rsp + 0x40]
mov dword [rsp + 0x7c0], r13d
mov r13, qword [rsp + 0x48]
mov dword [rsp + 0x7bc], esi
mov rsi, qword [rsp + 0x50]
mov dword [rsp + 0x7b8], edi
mov dword [rsp + 0x7b4], r12d
mov r12d, dword [rsp + 0x370]
mov dword [rsp + 0x7b0], r15d
mov r15, qword [rsp + 0x60]
mov dword [rsp + 0x7ac], ebx
mov bl, byte [rsp + 0x20]
mov edi, 0x40
xor ecx, ecx
mov dword [rsp + 0x7d8], edx
mov dword [rsp + 0x7d4], r8d
mov dword [rsp + 0x7cc], r10d
mov dword [rsp + 0x7c8], r11d
mov eax, dword [rsp + rcx + 0x350]
add rcx, 4
add dword [rsp + rcx + 0x79c], eax
cmp rcx, rdi
jl 0x1400b41af
lea rdx, [rsp + 0x7a0]
lea rcx, [rsp + 0x6d0]
mov r8, rdi
call sub.MSVCR100.dll_memcpy
inc r12d
mov dword [rsp + 0x370], r12d
cmp r13, rdi
jbe 0x1400b425c
mov rdx, qword [rsp + 0x38]
mov r8, r14
mov rcx, r15
sub r8, r15
mov r9, rdi
mov al, byte [rdx + rcx]
xor al, byte [rcx]
mov byte [rcx + r8], al
inc rcx
xor bl, al
dec r9
jne 0x1400b41ff
sub r13, rdi
add r14, rdi
add r15, rdi
sub rdx, rdi
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x38], rdx
jmp 0x1400b3ee2
mov r13d, dword [r11 + rdx*8 + 4]
mov eax, dword [r11 + rdx*8]
lea r11, [0x140000000]
and r13d, r15d
and eax, r14d
add r13d, eax
add r13, r11
jmp 0x1400b3d6c
mov r12, qword [rsp + 0x68]
xor r8d, r8d
test r13, r13
mov r13, qword [rsp + 0x78]
mov r14d, 0x269ec3
je 0x1400b42a7
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
lea r9, [rsp + 0x6d0]
sub r9, r15
sub rcx, r15
mov al, byte [r15 + r9]
inc r8d
xor al, byte [r15]
mov byte [r15 + rcx], al
xor bl, al
mov eax, r8d
inc r15
cmp rax, rdx
jb 0x1400b428c
lea r11, [0x140000000]
cmp bl, byte [r13 + r12 + 0x10]
je 0x1400b437c
call fcn.14009eca8
mov rcx, qword [rsp + 0x790]
lea rsi, [fcn.1400bd550]
mov rbx, rax
mov rax, 0xfffffffffffff000
lea r10, [rcx + 0x18]
and r10, 0xfffffffffffffff8
and rbx, rax
mov qword [rcx + 0x10], rsi
lea r11, [r10 + 0xfff]
mov r8d, 0xffff
and r11, rax
mov rax, qword [0x14017dbb0]
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1400b4300
mov qword [0x14017dbb0], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0x798]
shr rdx, 0xf
mov qword [rax + 0x98], rbx
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rsp + 0x68], r8
jmp 0x1400b4372
mov rax, qword [rsp + 0x68]
mov qword [r10], rax
add r10, 8
cmp r10, r11
jb 0x1400b4366
jmp 0x1400b1700
mov rax, qword [0x14010bb18]
mov rdi, r12
mov rcx, r11
sub rdi, rsi
sub rcx, rax
mov qword [rsp + 0x68], rcx
jne 0x1400b439f
test rdi, rdi
je 0x1400b16fa
mov r14, qword [0x14017dbb8]
mov rbx, rsi
sub rbx, r12
sub r12d, r11d
add r13d, r12d
test r14, r14
je 0x1400b16fa
mov r15d, dword [r14]
xor r8d, r8d
mov ecx, 0x7ffffff
lea r9d, [r15 - 1]
test r9d, r9d
js 0x1400b43f9
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r14 + rdx*4 + 4]
and r10d, ecx
cmp r12d, r10d
jae 0x1400b43ee
lea r9d, [rdx - 1]
jmp 0x1400b43f4
jbe 0x1400b4458
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1400b43cf
movsxd r11, r8d
cmp r11, r15
jae 0x1400b16fa
mov r12, qword [rsp + 0x68]
lea r15, [r14 + 4]
lea rsi, [0x140000000]
lea r15, [r15 + r11*4]
mov r9d, dword [r15]
mov eax, r9d
and eax, ecx
cmp eax, r13d
jae 0x1400b16f5
mov r8d, dword [r15]
and r9, rcx
xor r10d, r10d
mov edx, r8d
sar r8d, 0x1d
add r9, rsi
sar edx, 0x1b
and r8d, 7
and edx, 3
dec edx
je 0x1400b4462
dec edx
je 0x1400b445d
dec edx
jne 0x1400b4468
mov r10, r12
jmp 0x1400b4468
mov r11, rdx
jmp 0x1400b43fc
mov r10, rdi
jmp 0x1400b4468
mov r10, r12
sub r10, rdi
sub r8d, 2
je 0x1400b4479
dec r8d
jne 0x1400b447d
add qword [r9 + rbx], r10
jmp 0x1400b447d
add dword [r9 + rbx], r10d
mov eax, dword [r14]
inc r11
add r15, 4
cmp r11, rax
jb 0x1400b4419
jmp 0x1400b16f5
mov edx, dword [0x14000003c]
cmp rdi, r11
jb 0x1400b5b93
movsxd rax, edx
mov ecx, dword [rax + r11 + 0x50]
add rcx, r11
cmp rdi, rcx
jae 0x1400b4c4c
mov ecx, dword [0x14010bb64]
mov r8d, edi
xor r9d, r9d
sub r8d, r11d
sub ecx, ebx
js 0x1400b4504
mov r11, qword [0x14017dbd0]
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [r11 + rdx*8]
and eax, r14d
cmp r8d, eax
jae 0x1400b44ee
lea ecx, [rdx - 1]
jmp 0x1400b44f8
jbe 0x1400b49dd
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1400b44c7
lea r11, [0x140000000]
xor edx, edx
test rdx, rdx
je 0x1400b4c46
mov eax, dword [rdx]
mov r12d, dword [rdx + 4]
mov r10d, dword [0x14010ba80]
and r12, r14
shr rax, 3
lea r15, [rdx + 8]
and eax, 0xf
sub r10, r12
xor r8d, r8d
add r15, rax
inc r10
mov qword [rsp + 0x78], r12
mov r9, r10
mov qword [rsp + 0x68], r15
mov r14d, 0x269ec3
je 0x1400b457d
mov rax, qword [0x14017dbb0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r9, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
test r9, r9
jne 0x1400b4552
mov qword [0x14017dbb0], rax
xor edx, edx
mov rax, r8
xor bl, bl
div r10
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x38], r15
add rsi, rdx
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x40], rsi
test r12, r12
je 0x1400b4a62
movups xmm0, xmmword [r15 + r12]
and dword [rsp + 0x3e8], 0
and dword [rsp + 0x3ec], 0
and dword [rsp + 0x3f0], 0
and dword [rsp + 0x3f4], 0
mov r13, rsi
movdqu xmmword [rsp + 0x80], xmm0
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x80]
mov edi, 0x40
mov rax, rcx
mov rdx, r8
mov dword [rsp + 0x3d4], r8d
shr rax, 0x20
shr rdx, 0x20
mov dword [rsp + 0x3dc], ecx
mov dword [rsp + 0x3e0], eax
mov dword [rsp + 0x408], eax
mov eax, dword [0x14010bb68]
mov dword [rsp + 0x3d0], eax
mov eax, dword [0x14010bb6c]
mov dword [rsp + 0x3d8], edx
mov dword [rsp + 0x3e4], eax
mov eax, dword [0x14010bb70]
mov dword [rsp + 0x3fc], r8d
mov dword [rsp + 0x3f8], eax
mov eax, dword [0x14010bb74]
mov dword [rsp + 0x400], edx
mov dword [rsp + 0x40c], eax
lea rax, [rsp + 0x5d0]
mov dword [rsp + 0x404], ecx
sub r13, rax
mov rax, r15
sub rax, rsi
mov qword [rsp + 0x80], rax
lea rdx, [rsp + 0x3d0]
lea rcx, [rsp + 0x150]
mov r8, rdi
mov qword [rsp + 0x60], r13
call sub.MSVCR100.dll_memcpy
mov eax, dword [rsp + 0x164]
mov ecx, dword [rsp + 0x18c]
mov edx, dword [rsp + 0x188]
mov r8d, dword [rsp + 0x184]
mov r9d, dword [rsp + 0x180]
mov r10d, dword [rsp + 0x17c]
mov r11d, dword [rsp + 0x178]
mov esi, dword [rsp + 0x174]
mov r14d, dword [rsp + 0x170]
mov r15d, dword [rsp + 0x16c]
mov r12d, dword [rsp + 0x168]
mov r13d, dword [rsp + 0x160]
mov ebx, dword [rsp + 0x15c]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x158]
mov edi, dword [rsp + 0x30]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x154]
mov qword [rsp + 0x58], 2
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x150]
mov dword [rsp + 0x2c], eax
add eax, r9d
rol eax, 7
xor r13d, eax
mov eax, dword [rsp + 0x2c]
add eax, r13d
rol eax, 9
xor r14d, eax
lea eax, [r14 + r13]
rol eax, 0xd
xor r9d, eax
mov dword [rsp + 0x30], r9d
lea eax, [r14 + r9]
mov r9d, dword [rsp + 0x2c]
ror eax, 0xe
xor r9d, eax
mov eax, dword [rsp + 0x24]
add eax, edi
mov dword [rsp + 0x2c], r9d
rol eax, 7
xor esi, eax
lea eax, [rsi + rdi]
rol eax, 9
xor r8d, eax
lea eax, [r8 + rsi]
rol eax, 0xd
xor dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
add eax, r8d
ror eax, 0xe
xor edi, eax
lea eax, [r12 + r11]
rol eax, 7
xor edx, eax
lea eax, [r11 + rdx]
rol eax, 9
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
add eax, edx
rol eax, 0xd
xor r12d, eax
mov eax, dword [rsp + 0x28]
add eax, r12d
ror eax, 0xe
xor r11d, eax
lea eax, [r10 + rcx]
rol eax, 7
xor ebx, eax
lea eax, [rcx + rbx]
rol eax, 9
xor r15d, eax
lea eax, [rbx + r15]
rol eax, 0xd
xor r10d, eax
lea eax, [r10 + r15]
ror eax, 0xe
xor ecx, eax
lea eax, [rbx + r9]
mov r9d, dword [rsp + 0x24]
rol eax, 7
xor r9d, eax
mov eax, r9d
mov dword [rsp + 0x24], r9d
mov dword [rsp + 0x154], eax
add eax, dword [rsp + 0x2c]
rol eax, 9
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x158], eax
add eax, r9d
mov r9d, dword [rsp + 0x2c]
rol eax, 0xd
xor ebx, eax
mov eax, dword [rsp + 0x28]
add eax, ebx
ror eax, 0xe
xor r9d, eax
lea eax, [rdi + r13]
rol eax, 7
mov dword [rsp + 0x2c], r9d
mov dword [rsp + 0x150], r9d
xor r12d, eax
mov r9d, dword [rsp + 0x30]
lea eax, [r12 + rdi]
rol eax, 9
xor r15d, eax
lea eax, [r15 + r12]
rol eax, 0xd
xor r13d, eax
lea eax, [r15 + r13]
ror eax, 0xe
xor edi, eax
lea eax, [rsi + r11]
rol eax, 7
xor r10d, eax
lea eax, [r10 + r11]
rol eax, 9
xor r14d, eax
lea eax, [r10 + r14]
rol eax, 0xd
xor esi, eax
lea eax, [rsi + r14]
ror eax, 0xe
xor r11d, eax
lea eax, [rcx + rdx]
rol eax, 7
xor r9d, eax
mov dword [rsp + 0x180], r9d
lea eax, [rcx + r9]
rol eax, 9
xor r8d, eax
lea eax, [r9 + r8]
rol eax, 0xd
xor edx, eax
lea eax, [rdx + r8]
ror eax, 0xe
xor ecx, eax
dec qword [rsp + 0x58]
mov eax, dword [rsp + 0x2c]
jne 0x1400b4738
mov dword [rsp + 0x18c], ecx
mov dword [rsp + 0x170], r14d
mov r14, qword [rsp + 0x48]
mov dword [rsp + 0x16c], r15d
mov r15, qword [rsp + 0x68]
mov dword [rsp + 0x168], r12d
mov r12, qword [rsp + 0x78]
mov dword [rsp + 0x164], edi
mov dword [rsp + 0x160], r13d
mov r13, qword [rsp + 0x60]
mov dword [rsp + 0x15c], ebx
mov bl, byte [rsp + 0x20]
mov edi, 0x40
xor ecx, ecx
mov dword [rsp + 0x188], edx
mov dword [rsp + 0x184], r8d
mov dword [rsp + 0x17c], r10d
mov dword [rsp + 0x178], r11d
mov dword [rsp + 0x174], esi
mov eax, dword [rsp + rcx + 0x3d0]
add rcx, 4
add dword [rsp + rcx + 0x14c], eax
cmp rcx, rdi
jl 0x1400b4951
lea rdx, [rsp + 0x150]
lea rcx, [rsp + 0x5d0]
mov r8, rdi
call sub.MSVCR100.dll_memcpy
inc dword [rsp + 0x3f0]
cmp r14, rdi
jbe 0x1400b49fd
mov rsi, qword [rsp + 0x80]
lea rdx, [rsp + 0x5d0]
mov r8, rdi
lea rax, [rsi + r13]
mov cl, byte [rax + rdx]
xor cl, byte [rdx]
mov byte [r13 + rdx], cl
inc rdx
xor bl, cl
dec r8
jne 0x1400b499f
mov rsi, qword [rsp + 0x38]
add qword [rsp + 0x40], rdi
sub r14, rdi
add r13, rdi
add rsi, rdi
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x48], r14
jmp 0x1400b4686
mov edx, dword [r11 + rdx*8 + 4]
mov eax, dword [r11 + r10*8]
lea r11, [0x140000000]
and edx, r15d
and eax, r14d
add edx, eax
add rdx, r11
jmp 0x1400b4506
mov rsi, qword [rsp + 0x50]
xor r9d, r9d
test r14, r14
mov r14d, 0x269ec3
je 0x1400b4a5b
mov rsi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
lea rax, [rsp + 0x5d0]
lea rcx, [rsp + 0x5d0]
sub rsi, rax
lea rax, [rsp + 0x5d0]
sub r8, rax
mov al, byte [rcx + rsi]
inc r9d
xor al, byte [rcx]
mov byte [rcx + r8], al
xor bl, al
mov eax, r9d
inc rcx
cmp rax, rdx
jb 0x1400b4a3d
mov rsi, qword [rsp + 0x50]
lea r11, [0x140000000]
cmp bl, byte [r15 + r12 + 0x10]
je 0x1400b4b30
call fcn.14009eca8
mov rcx, qword [rsp + 0x790]
lea rsi, [fcn.1400bd550]
mov rbx, rax
mov rax, 0xfffffffffffff000
lea r10, [rcx + 0x18]
and r10, 0xfffffffffffffff8
and rbx, rax
mov qword [rcx + 0x10], rsi
lea r11, [r10 + 0xfff]
mov r8d, 0xffff
and r11, rax
mov rax, qword [0x14017dbb0]
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1400b4ab4
mov qword [0x14017dbb0], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0x798]
shr rdx, 0xf
mov qword [rax + 0x98], rbx
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rsp + 0x68], r8
jmp 0x1400b4b26
mov rax, qword [rsp + 0x68]
mov qword [r10], rax
add r10, 8
cmp r10, r11
jb 0x1400b4b1a
jmp 0x1400b1700
mov rax, qword [0x14010bb18]
mov rdi, r15
mov r13, r11
sub rdi, rsi
sub r13, rax
jne 0x1400b4b4e
test rdi, rdi
je 0x1400b16fa
mov r14, qword [0x14017dbb8]
mov rbx, rsi
sub rbx, r15
sub r15d, r11d
lea eax, [r15 + r12]
mov dword [rsp + 0x30], eax
test r14, r14
je 0x1400b16fa
mov r12d, dword [r14]
xor r8d, r8d
mov ecx, 0x7ffffff
lea r9d, [r12 - 1]
test r9d, r9d
js 0x1400b4bae
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r14 + rdx*4 + 4]
and r10d, ecx
cmp r15d, r10d
jae 0x1400b4ba3
lea r9d, [rdx - 1]
jmp 0x1400b4ba9
jbe 0x1400b4c0d
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1400b4b84
movsxd r11, r8d
cmp r11, r12
jae 0x1400b16fa
mov r12d, dword [rsp + 0x30]
lea r15, [r14 + 4]
lea rsi, [0x140000000]
lea r15, [r15 + r11*4]
mov r9d, dword [r15]
mov eax, r9d
and eax, ecx
cmp eax, r12d
jae 0x1400b16f5
mov r8d, dword [r15]
and r9, rcx
xor r10d, r10d
mov edx, r8d
sar r8d, 0x1d
add r9, rsi
sar edx, 0x1b
and r8d, 7
and edx, 3
dec edx
je 0x1400b4c17
dec edx
je 0x1400b4c12
dec edx
jne 0x1400b4c1d
mov r10, r13
jmp 0x1400b4c1d
mov r11, rdx
jmp 0x1400b4bb1
mov r10, rdi
jmp 0x1400b4c1d
mov r10, r13
sub r10, rdi
sub r8d, 2
je 0x1400b4c2e
dec r8d
jne 0x1400b4c32
add qword [r9 + rbx], r10
jmp 0x1400b4c32
add dword [r9 + rbx], r10d
mov eax, dword [r14]
inc r11
add r15, 4
cmp r11, rax
jb 0x1400b4bce
jmp 0x1400b16f5
mov edx, dword [0x14000003c]
cmp rdi, r11
jb 0x1400b5b93
movsxd rax, edx
mov ecx, dword [rax + r11 + 0x50]
add rcx, r11
cmp rdi, rcx
jae 0x1400b5401
mov ecx, dword [0x14010ba7c]
mov r8d, edi
xor r9d, r9d
sub r8d, r11d
sub ecx, ebx
js 0x1400b4cb9
mov r11, qword [0x14017dbe8]
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [r11 + rdx*8]
and eax, r14d
cmp r8d, eax
jae 0x1400b4ca3
lea ecx, [rdx - 1]
jmp 0x1400b4cad
jbe 0x1400b5192
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1400b4c7c
lea r11, [0x140000000]
xor edx, edx
test rdx, rdx
je 0x1400b53fb
mov eax, dword [rdx]
mov r12d, dword [rdx + 4]
mov r10d, dword [0x14010ba80]
and r12, r14
shr rax, 3
lea r15, [rdx + 8]
and eax, 0xf
sub r10, r12
xor r8d, r8d
add r15, rax
inc r10
mov qword [rsp + 0x78], r12
mov r9, r10
mov qword [rsp + 0x68], r15
mov r14d, 0x269ec3
je 0x1400b4d32
mov rax, qword [0x14017dbb0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r9, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
test r9, r9
jne 0x1400b4d07
mov qword [0x14017dbb0], rax
xor edx, edx
mov rax, r8
xor bl, bl
div r10
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x38], r15
add rsi, rdx
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x40], rsi
test r12, r12
je 0x1400b5217
movups xmm0, xmmword [r15 + r12]
and dword [rsp + 0x468], 0
and dword [rsp + 0x46c], 0
and dword [rsp + 0x470], 0
and dword [rsp + 0x474], 0
mov r13, rsi
movdqu xmmword [rsp + 0x80], xmm0
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x80]
mov edi, 0x40
mov rax, rcx
mov rdx, r8
mov dword [rsp + 0x454], r8d
shr rax, 0x20
shr rdx, 0x20
mov dword [rsp + 0x45c], ecx
mov dword [rsp + 0x460], eax
mov dword [rsp + 0x488], eax
mov eax, dword [0x14010bb68]
mov dword [rsp + 0x450], eax
mov eax, dword [0x14010bb6c]
mov dword [rsp + 0x458], edx
mov dword [rsp + 0x464], eax
mov eax, dword [0x14010bb70]
mov dword [rsp + 0x47c], r8d
mov dword [rsp + 0x478], eax
mov eax, dword [0x14010bb74]
mov dword [rsp + 0x480], edx
mov dword [rsp + 0x48c], eax
lea rax, [rsp + 0x550]
mov dword [rsp + 0x484], ecx
sub r13, rax
mov rax, r15
sub rax, rsi
mov qword [rsp + 0x80], rax
lea rdx, [rsp + 0x450]
lea rcx, [rsp + 0x1d0]
mov r8, rdi
mov qword [rsp + 0x60], r13
call sub.MSVCR100.dll_memcpy
mov eax, dword [rsp + 0x1e4]
mov ecx, dword [rsp + 0x20c]
mov edx, dword [rsp + 0x208]
mov r8d, dword [rsp + 0x204]
mov r9d, dword [rsp + 0x200]
mov r10d, dword [rsp + 0x1fc]
mov r11d, dword [rsp + 0x1f8]
mov esi, dword [rsp + 0x1f4]
mov r14d, dword [rsp + 0x1f0]
mov r15d, dword [rsp + 0x1ec]
mov r12d, dword [rsp + 0x1e8]
mov r13d, dword [rsp + 0x1e0]
mov ebx, dword [rsp + 0x1dc]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x1d8]
mov edi, dword [rsp + 0x30]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x1d4]
mov qword [rsp + 0x58], 2
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x1d0]
mov dword [rsp + 0x2c], eax
add eax, r9d
rol eax, 7
xor r13d, eax
mov eax, dword [rsp + 0x2c]
add eax, r13d
rol eax, 9
xor r14d, eax
lea eax, [r14 + r13]
rol eax, 0xd
xor r9d, eax
mov dword [rsp + 0x30], r9d
lea eax, [r14 + r9]
mov r9d, dword [rsp + 0x2c]
ror eax, 0xe
xor r9d, eax
mov eax, dword [rsp + 0x24]
add eax, edi
mov dword [rsp + 0x2c], r9d
rol eax, 7
xor esi, eax
lea eax, [rsi + rdi]
rol eax, 9
xor r8d, eax
lea eax, [r8 + rsi]
rol eax, 0xd
xor dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
add eax, r8d
ror eax, 0xe
xor edi, eax
lea eax, [r12 + r11]
rol eax, 7
xor edx, eax
lea eax, [r11 + rdx]
rol eax, 9
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
add eax, edx
rol eax, 0xd
xor r12d, eax
mov eax, dword [rsp + 0x28]
add eax, r12d
ror eax, 0xe
xor r11d, eax
lea eax, [r10 + rcx]
rol eax, 7
xor ebx, eax
lea eax, [rcx + rbx]
rol eax, 9
xor r15d, eax
lea eax, [rbx + r15]
rol eax, 0xd
xor r10d, eax
lea eax, [r10 + r15]
ror eax, 0xe
xor ecx, eax
lea eax, [rbx + r9]
mov r9d, dword [rsp + 0x24]
rol eax, 7
xor r9d, eax
mov eax, r9d
mov dword [rsp + 0x24], r9d
mov dword [rsp + 0x1d4], eax
add eax, dword [rsp + 0x2c]
rol eax, 9
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x1d8], eax
add eax, r9d
mov r9d, dword [rsp + 0x2c]
rol eax, 0xd
xor ebx, eax
mov eax, dword [rsp + 0x28]
add eax, ebx
ror eax, 0xe
xor r9d, eax
lea eax, [rdi + r13]
rol eax, 7
mov dword [rsp + 0x2c], r9d
mov dword [rsp + 0x1d0], r9d
xor r12d, eax
mov r9d, dword [rsp + 0x30]
lea eax, [r12 + rdi]
rol eax, 9
xor r15d, eax
lea eax, [r15 + r12]
rol eax, 0xd
xor r13d, eax
lea eax, [r15 + r13]
ror eax, 0xe
xor edi, eax
lea eax, [rsi + r11]
rol eax, 7
xor r10d, eax
lea eax, [r10 + r11]
rol eax, 9
xor r14d, eax
lea eax, [r10 + r14]
rol eax, 0xd
xor esi, eax
lea eax, [rsi + r14]
ror eax, 0xe
xor r11d, eax
lea eax, [rcx + rdx]
rol eax, 7
xor r9d, eax
mov dword [rsp + 0x200], r9d
lea eax, [rcx + r9]
rol eax, 9
xor r8d, eax
lea eax, [r9 + r8]
rol eax, 0xd
xor edx, eax
lea eax, [rdx + r8]
ror eax, 0xe
xor ecx, eax
dec qword [rsp + 0x58]
mov eax, dword [rsp + 0x2c]
jne 0x1400b4eed
mov dword [rsp + 0x20c], ecx
mov dword [rsp + 0x1f0], r14d
mov r14, qword [rsp + 0x48]
mov dword [rsp + 0x1ec], r15d
mov r15, qword [rsp + 0x68]
mov dword [rsp + 0x1e8], r12d
mov r12, qword [rsp + 0x78]
mov dword [rsp + 0x1e4], edi
mov dword [rsp + 0x1e0], r13d
mov r13, qword [rsp + 0x60]
mov dword [rsp + 0x1dc], ebx
mov bl, byte [rsp + 0x20]
mov edi, 0x40
xor ecx, ecx
mov dword [rsp + 0x208], edx
mov dword [rsp + 0x204], r8d
mov dword [rsp + 0x1fc], r10d
mov dword [rsp + 0x1f8], r11d
mov dword [rsp + 0x1f4], esi
mov eax, dword [rsp + rcx + 0x450]
add rcx, 4
add dword [rsp + rcx + 0x1cc], eax
cmp rcx, rdi
jl 0x1400b5106
lea rdx, [rsp + 0x1d0]
lea rcx, [rsp + 0x550]
mov r8, rdi
call sub.MSVCR100.dll_memcpy
inc dword [rsp + 0x470]
cmp r14, rdi
jbe 0x1400b51b2
mov rsi, qword [rsp + 0x80]
lea rdx, [rsp + 0x550]
mov r8, rdi
lea rax, [rsi + r13]
mov cl, byte [rax + rdx]
xor cl, byte [rdx]
mov byte [r13 + rdx], cl
inc rdx
xor bl, cl
dec r8
jne 0x1400b5154
mov rsi, qword [rsp + 0x38]
add qword [rsp + 0x40], rdi
sub r14, rdi
add r13, rdi
add rsi, rdi
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x48], r14
jmp 0x1400b4e3b
mov edx, dword [r11 + rdx*8 + 4]
mov eax, dword [r11 + r10*8]
lea r11, [0x140000000]
and edx, r15d
and eax, r14d
add edx, eax
add rdx, r11
jmp 0x1400b4cbb
mov rsi, qword [rsp + 0x50]
xor r9d, r9d
test r14, r14
mov r14d, 0x269ec3
je 0x1400b5210
mov rsi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
lea rax, [rsp + 0x550]
lea rcx, [rsp + 0x550]
sub rsi, rax
lea rax, [rsp + 0x550]
sub r8, rax
mov al, byte [rcx + rsi]
inc r9d
xor al, byte [rcx]
mov byte [rcx + r8], al
xor bl, al
mov eax, r9d
inc rcx
cmp rax, rdx
jb 0x1400b51f2
mov rsi, qword [rsp + 0x50]
lea r11, [0x140000000]
cmp bl, byte [r15 + r12 + 0x10]
je 0x1400b52e5
call fcn.14009eca8
mov rcx, qword [rsp + 0x790]
lea rsi, [fcn.1400bd550]
mov rbx, rax
mov rax, 0xfffffffffffff000
lea r10, [rcx + 0x18]
and r10, 0xfffffffffffffff8
and rbx, rax
mov qword [rcx + 0x10], rsi
lea r11, [r10 + 0xfff]
mov r8d, 0xffff
and r11, rax
mov rax, qword [0x14017dbb0]
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1400b5269
mov qword [0x14017dbb0], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0x798]
shr rdx, 0xf
mov qword [rax + 0x98], rbx
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rsp + 0x68], r8
jmp 0x1400b52db
mov rax, qword [rsp + 0x68]
mov qword [r10], rax
add r10, 8
cmp r10, r11
jb 0x1400b52cf
jmp 0x1400b1700
mov rax, qword [0x14010bb18]
mov rdi, r15
mov r13, r11
sub rdi, rsi
sub r13, rax
jne 0x1400b5303
test rdi, rdi
je 0x1400b16fa
mov r14, qword [0x14017dbb8]
mov rbx, rsi
sub rbx, r15
sub r15d, r11d
lea eax, [r15 + r12]
mov dword [rsp + 0x30], eax
test r14, r14
je 0x1400b16fa
mov r12d, dword [r14]
xor r8d, r8d
mov ecx, 0x7ffffff
lea r9d, [r12 - 1]
test r9d, r9d
js 0x1400b5363
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r14 + rdx*4 + 4]
and r10d, ecx
cmp r15d, r10d
jae 0x1400b5358
lea r9d, [rdx - 1]
jmp 0x1400b535e
jbe 0x1400b53c2
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1400b5339
movsxd r11, r8d
cmp r11, r12
jae 0x1400b16fa
mov r12d, dword [rsp + 0x30]
lea r15, [r14 + 4]
lea rsi, [0x140000000]
lea r15, [r15 + r11*4]
mov r9d, dword [r15]
mov eax, r9d
and eax, ecx
cmp eax, r12d
jae 0x1400b16f5
mov r8d, dword [r15]
and r9, rcx
xor r10d, r10d
mov edx, r8d
sar r8d, 0x1d
add r9, rsi
sar edx, 0x1b
and r8d, 7
and edx, 3
dec edx
je 0x1400b53cc
dec edx
je 0x1400b53c7
dec edx
jne 0x1400b53d2
mov r10, r13
jmp 0x1400b53d2
mov r11, rdx
jmp 0x1400b5366
mov r10, rdi
jmp 0x1400b53d2
mov r10, r13
sub r10, rdi
sub r8d, 2
je 0x1400b53e3
dec r8d
jne 0x1400b53e7
add qword [r9 + rbx], r10
jmp 0x1400b53e7
add dword [r9 + rbx], r10d
mov eax, dword [r14]
inc r11
add r15, 4
cmp r11, rax
jb 0x1400b5383
jmp 0x1400b16f5
mov edx, dword [0x14000003c]
cmp rdi, r11
jb 0x1400b5b93
movsxd rax, edx
mov ecx, dword [rax + r11 + 0x50]
add rcx, r11
cmp rdi, rcx
jae 0x1400b5b93
mov ecx, dword [0x14010bb14]
mov r8d, edi
xor r9d, r9d
sub r8d, r11d
sub ecx, ebx
js 0x1400b546f
mov r11, qword [0x14017db90]
lea eax, [rcx + r9]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10, rdx
mov eax, dword [r11 + rdx*8 + 4]
and eax, r14d
cmp r8d, eax
jae 0x1400b5459
lea ecx, [rdx - 1]
jmp 0x1400b5463
jbe 0x1400b593b
lea r9d, [rdx + 1]
cmp ecx, r9d
jge 0x1400b5431
lea r11, [0x140000000]
xor edx, edx
test rdx, rdx
je 0x1400b5b93
mov eax, dword [rdx]
mov r13d, dword [rdx + 4]
mov r10d, dword [0x14010ba80]
and r13, r14
and eax, 0xf
lea r12, [rdx + 8]
add r12, rax
sub r10, r13
xor r8d, r8d
inc r10
mov qword [rsp + 0x78], r13
mov r14d, 0x269ec3
mov r9, r10
mov qword [rsp + 0x68], r12
je 0x1400b54e4
mov rax, qword [0x14017dbb0]
imul rax, rax, 0x343fd
shl r8, 0x10
shr r9, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r8, rdx
test r9, r9
jne 0x1400b54b9
mov qword [0x14017dbb0], rax
xor edx, edx
mov rax, r8
xor bl, bl
div r10
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x60], r12
add rsi, rdx
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x40], rsi
test r13, r13
je 0x1400b59b0
movups xmm0, xmmword [r13 + r12]
and dword [rsp + 0x4e8], 0
and dword [rsp + 0x4ec], 0
and dword [rsp + 0x4f0], 0
and dword [rsp + 0x4f4], 0
mov edi, 0x40
movdqu xmmword [rsp + 0x80], xmm0
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x80]
mov rax, rcx
mov rdx, r8
mov dword [rsp + 0x4d4], r8d
shr rax, 0x20
shr rdx, 0x20
mov dword [rsp + 0x4dc], ecx
mov dword [rsp + 0x4e0], eax
mov dword [rsp + 0x508], eax
mov eax, dword [0x14010bb68]
mov dword [rsp + 0x4d0], eax
mov eax, dword [0x14010bb6c]
mov dword [rsp + 0x4d8], edx
mov dword [rsp + 0x4e4], eax
mov eax, dword [0x14010bb70]
mov dword [rsp + 0x4fc], r8d
mov dword [rsp + 0x4f8], eax
mov eax, dword [0x14010bb74]
mov dword [rsp + 0x500], edx
mov dword [rsp + 0x50c], eax
lea rax, [rsp + 0x750]
mov dword [rsp + 0x504], ecx
sub rax, r12
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x4d0]
lea rcx, [rsp + 0x250]
mov r8, rdi
call sub.MSVCR100.dll_memcpy
mov eax, dword [rsp + 0x264]
mov ecx, dword [rsp + 0x28c]
mov edx, dword [rsp + 0x288]
mov r8d, dword [rsp + 0x284]
mov r9d, dword [rsp + 0x280]
mov r10d, dword [rsp + 0x27c]
mov r11d, dword [rsp + 0x278]
mov r14d, dword [rsp + 0x274]
mov r13d, dword [rsp + 0x270]
mov esi, dword [rsp + 0x26c]
mov edi, dword [rsp + 0x268]
mov r15d, dword [rsp + 0x260]
mov ebx, dword [rsp + 0x25c]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x258]
mov r12d, dword [rsp + 0x30]
mov qword [rsp + 0x58], 3
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x254]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x250]
mov dword [rsp + 0x2c], eax
add eax, r9d
rol eax, 7
xor r15d, eax
mov eax, dword [rsp + 0x2c]
add eax, r15d
rol eax, 9
xor r13d, eax
lea eax, [r15 + r13]
rol eax, 0xd
xor r9d, eax
mov dword [rsp + 0x30], r9d
lea eax, [r9 + r13]
mov r9d, dword [rsp + 0x2c]
ror eax, 0xe
xor r9d, eax
mov eax, dword [rsp + 0x24]
add eax, r12d
mov dword [rsp + 0x2c], r9d
rol eax, 7
xor r14d, eax
lea eax, [r12 + r14]
rol eax, 9
xor r8d, eax
lea eax, [r8 + r14]
rol eax, 0xd
xor dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
add eax, r8d
ror eax, 0xe
xor r12d, eax
lea eax, [rdi + r11]
rol eax, 7
xor edx, eax
lea eax, [r11 + rdx]
rol eax, 9
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
add eax, edx
rol eax, 0xd
xor edi, eax
mov eax, dword [rsp + 0x28]
add eax, edi
ror eax, 0xe
xor r11d, eax
lea eax, [r10 + rcx]
rol eax, 7
xor ebx, eax
lea eax, [rcx + rbx]
rol eax, 9
xor esi, eax
lea eax, [rsi + rbx]
rol eax, 0xd
xor r10d, eax
lea eax, [rsi + r10]
ror eax, 0xe
xor ecx, eax
lea eax, [rbx + r9]
mov r9d, dword [rsp + 0x24]
rol eax, 7
xor r9d, eax
mov eax, r9d
mov dword [rsp + 0x24], r9d
mov dword [rsp + 0x254], eax
add eax, dword [rsp + 0x2c]
rol eax, 9
xor dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x258], eax
add eax, r9d
mov r9d, dword [rsp + 0x2c]
rol eax, 0xd
xor ebx, eax
mov eax, dword [rsp + 0x28]
add eax, ebx
ror eax, 0xe
xor r9d, eax
lea eax, [r15 + r12]
rol eax, 7
mov dword [rsp + 0x2c], r9d
mov dword [rsp + 0x250], r9d
xor edi, eax
mov r9d, dword [rsp + 0x30]
lea eax, [r12 + rdi]
rol eax, 9
xor esi, eax
lea eax, [rsi + rdi]
rol eax, 0xd
xor r15d, eax
lea eax, [r15 + rsi]
ror eax, 0xe
xor r12d, eax
lea eax, [r11 + r14]
rol eax, 7
xor r10d, eax
lea eax, [r10 + r11]
rol eax, 9
xor r13d, eax
lea eax, [r10 + r13]
rol eax, 0xd
xor r14d, eax
lea eax, [r14 + r13]
ror eax, 0xe
xor r11d, eax
lea eax, [rcx + rdx]
rol eax, 7
xor r9d, eax
mov dword [rsp + 0x280], r9d
lea eax, [rcx + r9]
rol eax, 9
xor r8d, eax
lea eax, [r9 + r8]
rol eax, 0xd
xor edx, eax
lea eax, [rdx + r8]
ror eax, 0xe
xor ecx, eax
dec qword [rsp + 0x58]
mov eax, dword [rsp + 0x2c]
jne 0x1400b568f
mov dword [rsp + 0x28c], ecx
mov dword [rsp + 0x274], r14d
mov r14, qword [rsp + 0x40]
mov dword [rsp + 0x270], r13d
mov r13, qword [rsp + 0x48]
mov dword [rsp + 0x26c], esi
mov rsi, qword [rsp + 0x50]
mov dword [rsp + 0x268], edi
mov dword [rsp + 0x264], r12d
mov r12d, dword [rsp + 0x4f0]
mov dword [rsp + 0x260], r15d
mov r15, qword [rsp + 0x60]
mov dword [rsp + 0x25c], ebx
mov bl, byte [rsp + 0x20]
mov edi, 0x40
xor ecx, ecx
mov dword [rsp + 0x288], edx
mov dword [rsp + 0x284], r8d
mov dword [rsp + 0x27c], r10d
mov dword [rsp + 0x278], r11d
mov eax, dword [rsp + rcx + 0x4d0]
add rcx, 4
add dword [rsp + rcx + 0x24c], eax
cmp rcx, rdi
jl 0x1400b58af
lea rdx, [rsp + 0x250]
lea rcx, [rsp + 0x750]
mov r8, rdi
call sub.MSVCR100.dll_memcpy
inc r12d
mov dword [rsp + 0x4f0], r12d
cmp r13, rdi
jbe 0x1400b595e
mov rdx, qword [rsp + 0x38]
mov r8, r14
mov rcx, r15
sub r8, r15
mov r9, rdi
mov al, byte [rdx + rcx]
xor al, byte [rcx]
mov byte [rcx + r8], al
inc rcx
xor bl, al
dec r9
jne 0x1400b58ff
sub r13, rdi
add r14, rdi
add r15, rdi
sub rdx, rdi
mov byte [rsp + 0x20], bl
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x38], rdx
jmp 0x1400b55e2
mov edx, dword [r11 + rdx*8]
mov eax, dword [r11 + r10*8 + 4]
lea r11, [0x140000000]
shr edx, 2
and eax, r14d
and edx, r15d
add edx, eax
add rdx, r11
jmp 0x1400b5471
mov r12, qword [rsp + 0x68]
xor r8d, r8d
test r13, r13
mov r13, qword [rsp + 0x78]
mov r14d, 0x269ec3
je 0x1400b59a9
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
lea r9, [rsp + 0x750]
sub r9, r15
sub rcx, r15
mov al, byte [r15 + r9]
inc r8d
xor al, byte [r15]
mov byte [r15 + rcx], al
xor bl, al
mov eax, r8d
inc r15
cmp rax, rdx
jb 0x1400b598e
lea r11, [0x140000000]
cmp bl, byte [r13 + r12 + 0x10]
je 0x1400b5a7e
call fcn.14009eca8
mov rcx, qword [rsp + 0x790]
lea rsi, [fcn.1400bd550]
mov rbx, rax
mov rax, 0xfffffffffffff000
lea r10, [rcx + 0x18]
and r10, 0xfffffffffffffff8
and rbx, rax
mov qword [rcx + 0x10], rsi
lea r11, [r10 + 0xfff]
mov r8d, 0xffff
and r11, rax
mov rax, qword [0x14017dbb0]
xor r9d, r9d
imul rax, rax, 0x343fd
shl r9, 0x10
shr r8, 0x10
add rax, r14
mov rcx, rax
shr rcx, 0x10
movzx edx, cx
or r9, rdx
test r8, r8
jne 0x1400b5a02
mov qword [0x14017dbb0], rax
movabs rax, 0x8000800080008001
mul r9
mov rax, qword [rsp + 0x798]
shr rdx, 0xf
mov qword [rax + 0x98], rbx
imul rdx, rdx, 0xffff
sub r9, rdx
inc r9
mov qword [rax + 0xb0], r9
mov qword [rsp + 0x68], r8
jmp 0x1400b5a74
mov rax, qword [rsp + 0x68]
mov qword [r10], rax
add r10, 8
cmp r10, r11
jb 0x1400b5a68
jmp 0x1400b1700
mov rax, qword [0x14010bb18]
mov rdi, r12
mov rcx, r11
sub rdi, rsi
sub rcx, rax
mov qword [rsp + 0x68], rcx
jne 0x1400b5aa1
test rdi, rdi
je 0x1400b16fa
mov r14, qword [0x14017dbb8]
mov rbx, rsi
sub rbx, r12
sub r12d, r11d
add r13d, r12d
test r14, r14
je 0x1400b16fa
mov r15d, dword [r14]
xor r8d, r8d
mov ecx, 0x7ffffff
lea r9d, [r15 - 1]
test r9d, r9d
js 0x1400b5afb
lea eax, [r9 + r8]
cdq
sub eax, edx
sar eax, 1
movsxd rdx, eax
mov r10d, dword [r14 + rdx*4 + 4]
and r10d, ecx
cmp r12d, r10d
jae 0x1400b5af0
lea r9d, [rdx - 1]
jmp 0x1400b5af6
jbe 0x1400b5b5a
lea r8d, [rdx + 1]
cmp r9d, r8d
jge 0x1400b5ad1
movsxd r11, r8d
cmp r11, r15
jae 0x1400b16fa
mov r12, qword [rsp + 0x68]
lea r15, [r14 + 4]
lea rsi, [0x140000000]
lea r15, [r15 + r11*4]
mov r9d, dword [r15]
mov eax, r9d
and eax, ecx
cmp eax, r13d
jae 0x1400b16f5
mov r8d, dword [r15]
and r9, rcx
xor r10d, r10d
mov edx, r8d
sar r8d, 0x1d
add r9, rsi
sar edx, 0x1b
and r8d, 7
and edx, 3
dec edx
je 0x1400b5b64
dec edx
je 0x1400b5b5f
dec edx
jne 0x1400b5b6a
mov r10, r12
jmp 0x1400b5b6a
mov r11, rdx
jmp 0x1400b5afe
mov r10, rdi
jmp 0x1400b5b6a
mov r10, r12
sub r10, rdi
sub r8d, 2
je 0x1400b5b7b
dec r8d
jne 0x1400b5b7f
add qword [r9 + rbx], r10
jmp 0x1400b5b7f
add dword [r9 + rbx], r10d
mov eax, dword [r14]
inc r11
add r15, 4
cmp r11, rax
jb 0x1400b5b1b
jmp 0x1400b16f5
mov rax, qword [0x14017dba0]
cmp rsi, rax
jb 0x1400b5bf1
mov ecx, dword [0x14010ba84]
mov eax, dword [0x14010ba80]
imul ecx, eax
mov rax, qword [0x14017dba0]
add rcx, rax
cmp rsi, rcx
jae 0x1400b5bf1
mov rax, qword [0x14017dba0]
mov ecx, dword [0x14010ba80]
mov rdx, rsi
sub rdx, rax
mov rax, rdx
cqo
idiv rcx
mov rcx, rax
mov eax, dword [0x14010ba80]
imul rcx, rax
mov rax, qword [0x14017dba0]
add rcx, rax
jmp 0x1400b5bf3
xor ecx, ecx
test rcx, rcx
je 0x1400b5c30
mov rax, qword [0x14017dba0]
mov ecx, dword [0x14010ba80]
sub rsi, rax
mov rax, rsi
cqo
idiv rcx
mov rcx, rax
mov eax, dword [0x14010ba84]
mov rax, qword [0x14017db98]
mov rax, qword [0x14017db98]
mov dword [rax + rcx*4], 0x3887
jmp 0x1400b5c5e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rsi
or rcx, 3
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_RtlDeleteFunctionTable]
xor edx, edx
mov r8d, 0x8000
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rdi
mov rcx, qword [rbp - 0x50]
xor rcx, rsp
call fcn.1400056f0
add rsp, 0x838
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret