Function at 0x140208300
Capabilities:
Authenticate hmac
Encrypt data using rc4 ksa

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x498
movups xmmword [rsp + 0x480], xmm6
mov qword [rsp + 0x4e8], rdx
mov rbx, rcx
mov qword [rsp + 0x4f0], r8
mov qword [rsp + 0x4f8], r9
call fcn.140203e40
cmp al, 0x42
je 0x1401fc701
xor r12d, r12d
movups xmm6, xmmword [rsp + 0x480]
mov rax, r12
add rsp, 0x498
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
call fcn.140203e40
cmp al, 0x4d
jne 0x1401fc6df
mov rcx, rbx
call fcn.140203be0
mov rcx, rbx
call fcn.140203840
mov rcx, rbx
call fcn.140203840
mov rcx, rbx
call fcn.140203be0
mov rcx, rbx
mov dword [rsp + 0x38], eax
call fcn.140203be0
mov esi, eax
cmp eax, 0xc
je 0x1401fd58e
cmp eax, 0x28
je 0x1401fd585
and eax, 0xffffffef
cmp eax, 0x6c
je 0x1401fc75a
cmp esi, 0x38
jne 0x1401fc6df
mov rcx, rbx
call fcn.140203be0
mov rcx, rbx
mov dword [rbx], eax
call fcn.140203be0
mov dword [rbx + 4], eax
mov rcx, rbx
call fcn.140203840
mov dword [rsp + 0x30], eax
sub eax, 1
jne 0x1401fc6df
mov rcx, rbx
call fcn.140203840
mov edi, eax
cmp eax, 1
je 0x1401fc6df
cmp esi, 0xc
je 0x1401fcdea
mov rcx, rbx
call fcn.140203be0
mov ebp, eax
lea eax, [rax - 1]
cmp eax, 1
jbe 0x1401fc6df
mov rcx, rbx
call fcn.140203be0
mov rcx, rbx
call fcn.140203be0
mov rcx, rbx
call fcn.140203be0
mov rcx, rbx
call fcn.140203be0
mov rcx, rbx
call fcn.140203be0
mov eax, esi
and eax, 0xffffffef
cmp eax, 0x28
jne 0x1401fd5a8
cmp esi, 0x38
je 0x1401fd629
lea eax, [rdi - 0x10]
and eax, 0xffffffef
mov dword [rsp + 0x50], eax
jne 0x1401fc82d
mov r14d, ebp
test ebp, ebp
jne 0x1401fd686
cmp edi, 0x20
je 0x1401fd64e
mov dword [rsp + 0x64], 0x1f
mov dword [rsp + 0x60], 0x3e0
mov dword [rsp + 0x5c], 0x7c00
mov ecx, dword [rbx + 4]
xor r14d, r14d
mov eax, ecx
mov dword [rsp + 0x78], ecx
sar eax, 0x1f
xor ecx, eax
sub ecx, eax
mov dword [rbx + 4], ecx
cmp edi, 0xf
jg 0x1401fc857
mov eax, dword [rsp + 0x38]
sub eax, 0xe
sub eax, esi
sar eax, 2
mov r14d, eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x50], 0xff
test eax, eax
je 0x1401fcde0
mov eax, 4
imul ecx, dword [rbx]
mov dword [rbx + 8], eax
shl ecx, 2
call sub.msvcrt.dll_malloc
mov r12, rax
test rax, rax
je 0x1401fc6df
cmp edi, 0xf
jg 0x1401fce22
test r14d, r14d
je 0x1401fd376
cmp r14d, 0x100
jg 0x1401fd376
test r14d, r14d
jle 0x1401fca8b
lea eax, [r14 - 1]
mov dword [rsp + 0x30], edi
lea r15, [rsp + 0x80]
lea r13, [rsp + rax*4 + 0x84]
lea rbp, [rbx + 0x39]
jmp 0x1401fc932
lea r8, [rdx + 1]
mov qword [rbx + 0xb8], r8
movzx edx, byte [rdx]
mov byte [r15 + 2], dl
cmp r8, rax
jae 0x1401fc9a1
lea rcx, [r8 + 1]
mov qword [rbx + 0xb8], rcx
movzx edx, byte [r8]
mov byte [r15 + 1], dl
cmp rcx, rax
jae 0x1401fca00
lea rax, [rcx + 1]
mov qword [rbx + 0xb8], rax
movzx eax, byte [rcx]
mov byte [r15], al
cmp esi, 0xc
je 0x1401fc925
mov rcx, rbx
call fcn.140203e40
add r15, 4
cmp r13, r15
je 0x1401fca87
mov rdx, qword [rbx + 0xb8]
mov rax, qword [rbx + 0xc0]
cmp rdx, rax
jb 0x1401fc8d0
mov eax, dword [rbx + 0x30]
test eax, eax
je 0x1401fca50
lea rdi, [rbx + 0x38]
mov r8d, dword [rbx + 0x34]
mov rcx, qword [rbx + 0x28]
mov rdx, rdi
call qword [rbx + 0x10]
mov r8, rbp
test eax, eax
jne 0x1401fca7d
mov dword [rbx + 0x30], 0
mov rax, rbp
mov byte [rbx + 0x38], 0
movzx edx, byte [rbx + 0x38]
movq xmm0, rbp
movq xmm1, rax
punpcklqdq xmm0, xmm1
mov byte [r15 + 2], dl
movups xmmword [rbx + 0xb8], xmm0
cmp r8, rax
jb 0x1401fc8eb
mov eax, dword [rbx + 0x30]
test eax, eax
je 0x1401fca60
lea rdi, [rbx + 0x38]
mov rcx, qword [rbx + 0x28]
mov r8d, dword [rbx + 0x34]
mov rdx, rdi
call qword [rbx + 0x10]
mov rcx, rbp
test eax, eax
jne 0x1401fca67
mov dword [rbx + 0x30], 0
mov rax, rbp
mov byte [rbx + 0x38], 0
movzx edx, byte [rbx + 0x38]
movq xmm0, rbp
movq xmm2, rax
punpcklqdq xmm0, xmm2
mov byte [r15 + 1], dl
movups xmmword [rbx + 0xb8], xmm0
cmp rcx, rax
jb 0x1401fc907
nop dword [rax]
mov edi, dword [rbx + 0x30]
xor eax, eax
test edi, edi
je 0x1401fc915
lea rdi, [rbx + 0x38]
mov rcx, qword [rbx + 0x28]
mov r8d, dword [rbx + 0x34]
mov rdx, rdi
call qword [rbx + 0x10]
test eax, eax
jne 0x1401fca71
mov dword [rbx + 0x30], 0
mov byte [rbx + 0x38], 0
mov qword [rsp + 0x28], rbp
movq xmm0, rbp
movzx eax, byte [rbx + 0x38]
movhps xmm0, qword [rsp + 0x28]
movups xmmword [rbx + 0xb8], xmm0
jmp 0x1401fc915
mov eax, dword [rbx + 0x30]
mov byte [r15 + 2], 0
test eax, eax
jne 0x1401fc9ac
mov byte [r15 + 1], 0
jmp 0x1401fca00
cdqe
add rax, rdi
jmp 0x1401fc9d7
cdqe
add rax, rdi
mov qword [rsp + 0x28], rax
jmp 0x1401fca33
cdqe
add rax, rdi
jmp 0x1401fc97b
mov edi, dword [rsp + 0x30]
mov edx, dword [rsp + 0x38]
xor eax, eax
mov rcx, rbx
sub edx, 0xe
sub edx, esi
cmp esi, 0xc
setne al
add eax, 3
imul eax, r14d
sub edx, eax
call fcn.14020e5f0
cmp edi, 4
je 0x1401fd392
cmp edi, 8
jne 0x1401fd376
mov r10d, dword [rbx]
mov ebp, r10d
neg ebp
and ebp, 3
cmp dword [rbx + 4], 0
mov dword [rsp + 0x38], ebp
jle 0x1401fcc70
mov qword [rsp + 0x30], r12
lea rax, [rbx + 0x39]
xor r15d, r15d
xor ebp, ebp
movq xmm6, rax
nop dword [rax + rax]
mov esi, dword [rbx]
test esi, esi
jle 0x1401fcc50
movsxd rsi, r15d
xor r14d, r14d
add rsi, qword [rsp + 0x30]
jmp 0x1401fcba8
lea rdx, [rax + 1]
mov qword [rbx + 0xb8], rdx
movzx eax, byte [rax]
mov r12d, eax
cmp edi, 4
je 0x1401fcc0e
cdqe
mov byte [rsi + 3], 0xff
movzx edx, byte [rsp + rax*4 + 0x80]
mov byte [rsi], dl
movzx edx, byte [rsp + rax*4 + 0x81]
movzx eax, byte [rsp + rax*4 + 0x82]
mov byte [rsi + 1], dl
lea edx, [r15 + 4]
mov byte [rsi + 2], al
lea eax, [r14 + 1]
cmp dword [rbx], eax
je 0x1401fcc4d
xor ecx, ecx
cmp edi, 8
je 0x1401fcd40
movsxd rax, ecx
mov byte [rsi + 7], 0xff
add r15d, 8
add r14d, 2
movzx edx, byte [rsp + rax*4 + 0x80]
add rsi, 8
mov byte [rsi - 4], dl
movzx edx, byte [rsp + rax*4 + 0x81]
movzx eax, byte [rsp + rax*4 + 0x82]
mov byte [rsi - 3], dl
mov byte [rsi - 2], al
cmp dword [rbx], r14d
jle 0x1401fcc50
mov rax, qword [rbx + 0xb8]
cmp rax, qword [rbx + 0xc0]
jb 0x1401fcb10
mov eax, dword [rbx + 0x30]
xor r12d, r12d
test eax, eax
je 0x1401fcb21
lea r13, [rbx + 0x38]
mov rcx, qword [rbx + 0x28]
mov r8d, dword [rbx + 0x34]
mov rdx, r13
call qword [rbx + 0x10]
test eax, eax
jne 0x1401fcd68
mov dword [rbx + 0x30], 0
mov byte [rbx + 0x38], 0
movq qword [rsp + 0x28], xmm6
movdqu xmm0, xmm6
movhps xmm0, qword [rsp + 0x28]
movups xmmword [rbx + 0xb8], xmm0
cmp edi, 4
jne 0x1401fcb2a
sar eax, 4
mov ecx, r12d
mov byte [rsi + 3], 0xff
cdqe
and ecx, 0xf
movzx edx, byte [rsp + rax*4 + 0x80]
mov byte [rsi], dl
movzx edx, byte [rsp + rax*4 + 0x81]
movzx eax, byte [rsp + rax*4 + 0x82]
mov byte [rsi + 1], dl
lea edx, [r15 + 4]
mov byte [rsi + 2], al
lea eax, [r14 + 1]
cmp dword [rbx], eax
jne 0x1401fcb6b
mov r15d, edx
mov edx, dword [rsp + 0x38]
mov rcx, rbx
add ebp, 1
call fcn.14020e5f0
cmp dword [rbx + 4], ebp
jg 0x1401fcaf0
mov r12, qword [rsp + 0x30]
mov r10d, dword [rbx]
cmp dword [rsp + 0x50], 0
jne 0x1401fcc9d
mov eax, dword [rbx + 4]
imul eax, dword [rbx]
lea eax, [rax*4 - 1]
test eax, eax
js 0x1401fcc9d
cdqe
nop word [rax + rax]
mov byte [r12 + rax], 0xff
sub rax, 4
test eax, eax
jns 0x1401fcc90
cmp dword [rsp + 0x78], 0
jle 0x1401fcd15
mov eax, dword [rbx + 4]
cmp eax, 1
jle 0x1401fcd15
xor r11d, r11d
nop
sub eax, 1
lea r8d, [r10*4]
mov edx, r11d
sub eax, r11d
imul edx, r8d
imul eax, r8d
test r10d, r10d
mov r10d, dword [rbx]
mov ecx, edx
mov edx, eax
jle 0x1401fcd15
lea esi, [r10*4]
xor eax, eax
add rcx, r12
add rdx, r12
nop dword [rax]
movzx r8d, byte [rcx + rax]
movzx r9d, byte [rdx + rax]
mov byte [rcx + rax], r9b
mov byte [rdx + rax], r8b
add rax, 1
cmp esi, eax
jg 0x1401fcce8
mov eax, dword [rbx + 4]
add r11d, 1
mov edx, eax
sar edx, 1
cmp edx, r11d
jg 0x1401fccb0
mov r10d, dword [rbx]
mov rax, qword [rsp + 0x4e8]
mov rdi, qword [rsp + 0x4f0]
mov dword [rax], r10d
mov eax, dword [rbx + 4]
mov dword [rdi], eax
mov rdi, qword [rsp + 0x4f8]
mov eax, dword [rbx + 8]
mov dword [rdi], eax
jmp 0x1401fc6e2
mov rax, qword [rbx + 0xb8]
cmp rax, qword [rbx + 0xc0]
jae 0x1401fcd80
lea rdx, [rax + 1]
mov qword [rbx + 0xb8], rdx
movzx ecx, byte [rax]
jmp 0x1401fcb6b
cdqe
add rax, r13
mov qword [rsp + 0x28], rax
movzx eax, byte [rbx + 0x38]
mov r12d, eax
jmp 0x1401fcbf5
mov ecx, dword [rbx + 0x30]
test ecx, ecx
je 0x1401fcb6b
lea r12, [rbx + 0x38]
mov rcx, qword [rbx + 0x28]
mov r8d, dword [rbx + 0x34]
mov rdx, r12
call qword [rbx + 0x10]
mov ecx, eax
test eax, eax
jne 0x1401fcdd0
mov dword [rbx + 0x30], 0
mov byte [rbx + 0x38], 0
movq qword [rsp + 0x28], xmm6
movdqu xmm0, xmm6
movhps xmm0, qword [rsp + 0x28]
movups xmmword [rbx + 0xb8], xmm0
jmp 0x1401fcb6b
cdqe
movzx ecx, byte [rbx + 0x38]
add rax, r12
mov qword [rsp + 0x28], rax
jmp 0x1401fcdb4
mov eax, 3
jmp 0x1401fc870
mov ecx, dword [rbx + 4]
xor r14d, r14d
mov eax, ecx
mov dword [rsp + 0x78], ecx
sar eax, 0x1f
xor ecx, eax
sub ecx, eax
mov dword [rbx + 4], ecx
cmp edi, 0x17
jg 0x1401fc857
mov eax, dword [rsp + 0x38]
mov r8d, 3
sub eax, 0x26
cdq
idiv r8d
mov r14d, eax
jmp 0x1401fc857
mov edx, dword [rsp + 0x38]
mov rcx, rbx
sub edx, 0xe
sub edx, esi
call fcn.14020e5f0
cmp edi, 0x18
je 0x1401fd52b
cmp edi, 0x10
je 0x1401fd56e
cmp edi, 0x20
jne 0x1401fd3a0
cmp dword [rsp + 0x64], 0xff
jne 0x1401fd3a0
cmp dword [rsp + 0x60], 0xff00
jne 0x1401fd3a0
cmp dword [rsp + 0x5c], 0xff0000
jne 0x1401fd3a0
cmp dword [rsp + 0x28], 0xff000000
jne 0x1401fd3a0
mov dword [rsp + 0x70], 0
mov r10d, dword [rbx]
xor r15d, r15d
xor r14d, r14d
mov dword [rsp + 0x30], 2
xor r13d, r13d
mov dword [rsp + 0x7c], 0
mov dword [rsp + 0x74], 0
mov dword [rsp + 0x4c], 0
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x44], 0
cmp dword [rbx + 4], 0
jle 0x1401fcc70
mov r11d, dword [rsp + 0x30]
lea rsi, [rbx + 0x39]
xor eax, eax
mov dword [rsp + 0x68], edi
movq xmm6, rsi
mov dword [rsp + 0x6c], 0
mov esi, dword [rsp + 0x50]
mov ebp, eax
test r11d, r11d
je 0x1401fcfe9
nop
test r10d, r10d
jle 0x1401fcfba
mov eax, ebp
xor ebp, ebp
mov edi, esi
add eax, 4
mov esi, ebp
movsxd r9, eax
mov rbp, r9
nop word [rax + rax]
mov rax, qword [rbx + 0xb8]
cmp rax, qword [rbx + 0xc0]
jae 0x1401fd208
lea rdx, [rax + 1]
mov qword [rbx + 0xb8], rdx
movzx r9d, byte [rax]
mov rax, rdx
mov byte [r12 + rbp - 2], r9b
cmp rax, qword [rbx + 0xc0]
jae 0x1401fd27c
lea rdx, [rax + 1]
mov qword [rbx + 0xb8], rdx
movzx r9d, byte [rax]
mov rax, rdx
mov byte [r12 + rbp - 3], r9b
cmp rax, qword [rbx + 0xc0]
jae 0x1401fd160
lea rdx, [rax + 1]
mov qword [rbx + 0xb8], rdx
movzx r9d, byte [rax]
cmp dword [rsp + 0x30], 2
mov byte [r12 + rbp - 4], r9b
je 0x1401fd1cb
mov byte [r12 + rbp - 1], 0xff
mov eax, ebp
or dil, 0xff
add esi, 1
add rbp, 4
cmp dword [rbx], esi
jg 0x1401fcf20
mov esi, edi
mov ebp, eax
mov edx, dword [rsp + 0x70]
mov rcx, rbx
call fcn.14020e5f0
add dword [rsp + 0x6c], 1
mov eax, dword [rsp + 0x6c]
cmp dword [rbx + 4], eax
jle 0x1401fd386
mov r11d, dword [rsp + 0x30]
mov r10d, dword [rbx]
test r11d, r11d
jne 0x1401fcf00
test r10d, r10d
jle 0x1401fcfba
mov eax, ebp
xor ebp, ebp
mov dword [rsp + 0x38], esi
mov rsi, rbx
add eax, 4
mov edi, ebp
mov ebp, dword [rsp + 0x7c]
movsxd rdx, eax
mov eax, dword [rsp + 0x44]
mov rbx, rdx
neg eax
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x48]
neg eax
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x4c]
neg eax
mov dword [rsp + 0x58], eax
nop word cs:[rax + rax]
cmp dword [rsp + 0x68], 0x10
mov rcx, rsi
je 0x1401fd328
call fcn.140203be0
mov r10d, dword [rsp + 0x5c]
movzx ecx, byte [rsp + 0x50]
mov edx, dword [rsp + 0x44]
and r10d, eax
mov r9d, r10d
shl r9d, cl
mov ecx, edx
sar r10d, cl
test edx, edx
cmovs r10d, r9d
mov r9d, r10d
cmp r13d, 7
jg 0x1401fd088
mov ecx, r13d
nop dword [rax]
mov edx, r10d
sar edx, cl
add ecx, r13d
add r9d, edx
cmp ecx, 7
jle 0x1401fd078
mov r10d, dword [rsp + 0x60]
movzx ecx, byte [rsp + 0x54]
mov byte [r12 + rbx - 4], r9b
mov edx, dword [rsp + 0x48]
and r10d, eax
mov r9d, r10d
shl r9d, cl
mov ecx, edx
sar r10d, cl
test edx, edx
cmovs r10d, r9d
mov r9d, r10d
cmp r14d, 7
jg 0x1401fd0d0
mov ecx, r14d
nop dword [rax + rax]
mov edx, r10d
sar edx, cl
add ecx, r14d
add r9d, edx
cmp ecx, 7
jle 0x1401fd0c0
mov r10d, dword [rsp + 0x64]
movzx ecx, byte [rsp + 0x58]
mov byte [r12 + rbx - 3], r9b
mov edx, dword [rsp + 0x4c]
and r10d, eax
mov r9d, r10d
shl r9d, cl
mov ecx, edx
sar r10d, cl
test edx, edx
cmovs r10d, r9d
mov r9d, r10d
cmp r15d, 7
jg 0x1401fd118
mov ecx, r15d
nop dword [rax + rax]
mov edx, r10d
sar edx, cl
add ecx, r15d
add r9d, edx
cmp ecx, 7
jle 0x1401fd108
mov edx, dword [rsp + 0x28]
mov byte [r12 + rbx - 2], r9b
mov ecx, 0xffffffff
mov r9d, 0xff
test edx, edx
jne 0x1401fd338
mov byte [r12 + rbx - 1], cl
mov eax, ebx
add edi, 1
add rbx, 4
or dword [rsp + 0x38], r9d
cmp dword [rsi], edi
jg 0x1401fd030
mov rbx, rsi
mov ebp, eax
mov esi, dword [rsp + 0x38]
jmp 0x1401fcfba
mov ecx, dword [rbx + 0x30]
xor r9d, r9d
test ecx, ecx
je 0x1401fcf8b
lea rdx, [rbx + 0x38]
mov byte [rsp + 0x50], r9b
mov rcx, qword [rbx + 0x28]
mov qword [rsp + 0x38], rdx
mov r8d, dword [rbx + 0x34]
call qword [rbx + 0x10]
mov rdx, qword [rsp + 0x38]
test eax, eax
jne 0x1401fd2f8
mov dword [rbx + 0x30], 0
movzx r9d, byte [rsp + 0x50]
mov byte [rbx + 0x38], 0
movq qword [rsp + 0x38], xmm6
movdqu xmm0, xmm6
cmp dword [rsp + 0x30], 2
mov byte [r12 + rbp - 4], r9b
movhps xmm0, qword [rsp + 0x38]
movups xmmword [rbx + 0xb8], xmm0
jne 0x1401fcf9b
mov rcx, rbx
add esi, 1
call fcn.140203e40
mov edx, eax
movzx eax, al
mov byte [r12 + rbp - 1], dl
or edi, eax
mov eax, ebp
add rbp, 4
cmp esi, dword [rbx]
jge 0x1401fcfb6
mov rax, qword [rbx + 0xb8]
cmp rax, qword [rbx + 0xc0]
jb 0x1401fcf34
nop dword [rax]
mov r10d, dword [rbx + 0x30]
xor r9d, r9d
test r10d, r10d
je 0x1401fcf46
lea rdx, [rbx + 0x38]
mov byte [rsp + 0x50], r9b
mov rcx, qword [rbx + 0x28]
mov qword [rsp + 0x38], rdx
mov r8d, dword [rbx + 0x34]
call qword [rbx + 0x10]
mov rdx, qword [rsp + 0x38]
test eax, eax
jne 0x1401fd2e0
mov dword [rbx + 0x30], 0
movzx r9d, byte [rsp + 0x50]
mov byte [rbx + 0x38], 0
movq qword [rsp + 0x38], xmm6
movdqu xmm0, xmm6
mov byte [r12 + rbp - 2], r9b
movhps xmm0, qword [rsp + 0x38]
movq rax, xmm0
movups xmmword [rbx + 0xb8], xmm0
cmp rax, qword [rbx + 0xc0]
jb 0x1401fcf58
mov r8d, dword [rbx + 0x30]
xor r9d, r9d
test r8d, r8d
je 0x1401fcf6a
lea rdx, [rbx + 0x38]
mov byte [rsp + 0x50], r9b
mov rcx, qword [rbx + 0x28]
mov qword [rsp + 0x38], rdx
mov r8d, dword [rbx + 0x34]
call qword [rbx + 0x10]
mov rdx, qword [rsp + 0x38]
test eax, eax
jne 0x1401fd310
mov dword [rbx + 0x30], 0
movzx r9d, byte [rsp + 0x50]
mov byte [rbx + 0x38], 0
movq qword [rsp + 0x38], xmm6
movdqu xmm0, xmm6
movhps xmm0, qword [rsp + 0x38]
movq rax, xmm0
movups xmmword [rbx + 0xb8], xmm0
jmp 0x1401fcf6a
cdqe
movzx r9d, byte [rbx + 0x38]
add rax, rdx
mov qword [rsp + 0x38], rax
jmp 0x1401fd255
cdqe
movzx r9d, byte [rbx + 0x38]
add rax, rdx
mov qword [rsp + 0x38], rax
jmp 0x1401fd1ab
cdqe
movzx r9d, byte [rbx + 0x38]
add rax, rdx
mov qword [rsp + 0x38], rax
jmp 0x1401fd2c5
call fcn.140203840
jmp 0x1401fd043
mov edx, dword [rsp + 0x74]
and eax, dword [rsp + 0x28]
mov r9d, eax
mov ecx, edx
neg ecx
shl r9d, cl
mov ecx, edx
sar eax, cl
test edx, edx
mov ecx, ebp
cmovs eax, r9d
mov r9d, eax
cmp ebp, 7
jg 0x1401fd36e
nop
mov edx, eax
sar edx, cl
add ecx, ebp
add r9d, edx
cmp ecx, 7
jle 0x1401fd360
mov ecx, r9d
jmp 0x1401fd134
mov rcx, r12
xor r12d, r12d
call sub.msvcrt.dll_free
jmp 0x1401fc6e2
mov dword [rsp + 0x50], esi
mov r10d, dword [rbx]
jmp 0x1401fcc70
mov r10d, dword [rbx]
lea ebp, [r10 + 1]
shr ebp, 1
jmp 0x1401fcac5
mov dword [rsp + 0x70], 0
cmp dword [rsp + 0x5c], 0
sete dl
cmp dword [rsp + 0x60], 0
sete al
or dl, al
jne 0x1401fd376
cmp dword [rsp + 0x64], 0
je 0x1401fd376
mov esi, dword [rsp + 0x5c]
mov ecx, esi
call fcn.140205590
sub eax, 7
mov dword [rsp + 0x44], eax
mov eax, esi
and esi, 0x55555555
shr eax, 1
and eax, 0x55555555
add eax, esi
mov esi, dword [rsp + 0x60]
mov edx, eax
shr eax, 2
and eax, 0x33333333
and edx, 0x33333333
mov ecx, esi
add edx, eax
mov eax, edx
shr eax, 4
add eax, edx
and eax, 0xf0f0f0f
mov edx, eax
shr edx, 8
add eax, edx
mov r13d, eax
shr r13d, 0x10
add eax, r13d
movzx r13d, al
call fcn.140205590
sub eax, 7
mov dword [rsp + 0x48], eax
mov eax, esi
and esi, 0x55555555
shr eax, 1
and eax, 0x55555555
add eax, esi
mov esi, dword [rsp + 0x64]
mov edx, eax
shr eax, 2
and eax, 0x33333333
and edx, 0x33333333
mov ecx, esi
add edx, eax
mov eax, edx
shr eax, 4
add eax, edx
and eax, 0xf0f0f0f
mov edx, eax
shr edx, 8
add eax, edx
mov r14d, eax
shr r14d, 0x10
add eax, r14d
movzx r14d, al
call fcn.140205590
sub eax, 7
mov dword [rsp + 0x4c], eax
mov eax, esi
and esi, 0x55555555
shr eax, 1
and eax, 0x55555555
add eax, esi
mov esi, dword [rsp + 0x28]
mov edx, eax
shr eax, 2
and eax, 0x33333333
and edx, 0x33333333
mov ecx, esi
add edx, eax
mov eax, edx
shr eax, 4
add eax, edx
and eax, 0xf0f0f0f
mov edx, eax
shr edx, 8
add eax, edx
mov r15d, eax
shr r15d, 0x10
add eax, r15d
movzx r15d, al
call fcn.140205590
mov dword [rsp + 0x30], 0
mov r10d, dword [rbx]
sub eax, 7
mov dword [rsp + 0x74], eax
mov eax, esi
and esi, 0x55555555
shr eax, 1
and eax, 0x55555555
add eax, esi
mov edx, eax
shr eax, 2
and eax, 0x33333333
and edx, 0x33333333
add edx, eax
mov eax, edx
shr eax, 4
add eax, edx
and eax, 0xf0f0f0f
mov edx, eax
shr edx, 8
add eax, edx
mov edx, eax
shr edx, 0x10
add eax, edx
movzx eax, al
mov dword [rsp + 0x7c], eax
jmp 0x1401fceca
mov r10d, dword [rbx]
mov dword [rsp + 0x7c], 0
xor r15d, r15d
xor r14d, r14d
mov dword [rsp + 0x74], 0
xor r13d, r13d
mov eax, r10d
mov dword [rsp + 0x4c], 0
and eax, 3
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x44], 0
jmp 0x1401fceca
mov r10d, dword [rbx]
add r10d, r10d
mov eax, r10d
neg eax
and eax, 3
mov dword [rsp + 0x70], eax
jmp 0x1401fd3a8
cmp eax, 0xc
jne 0x1401fc75a
mov rcx, rbx
call fcn.140203840
mov rcx, rbx
mov dword [rbx], eax
call fcn.140203840
mov dword [rbx + 4], eax
jmp 0x1401fc76f
cmp eax, 0x6c
jne 0x1401fc6df
mov rcx, rbx
mov ebp, 0xc
call fcn.140203be0
mov rcx, rbx
mov dword [rsp + 0x5c], eax
call fcn.140203be0
mov rcx, rbx
mov dword [rsp + 0x60], eax
call fcn.140203be0
mov rcx, rbx
mov dword [rsp + 0x64], eax
call fcn.140203be0
mov rcx, rbx
mov dword [rsp + 0x28], eax
call fcn.140203be0
mov rcx, rbx
call fcn.140203be0
sub ebp, 1
jne 0x1401fd5ee
cmp esi, 0x7c
jne 0x1401fc82d
mov rcx, rbx
call fcn.140203be0
mov rcx, rbx
call fcn.140203be0
mov rcx, rbx
call fcn.140203be0
mov rcx, rbx
call fcn.140203be0
jmp 0x1401fc82d
mov rcx, rbx
call fcn.140203be0
mov rcx, rbx
call fcn.140203be0
mov rcx, rbx
call fcn.140203be0
mov rcx, rbx
call fcn.140203be0
jmp 0x1401fc7f5
mov ecx, dword [rbx + 4]
mov dword [rsp + 0x28], 0xff000000
mov dword [rsp + 0x64], 0xff
mov eax, ecx
mov dword [rsp + 0x78], ecx
sar eax, 0x1f
mov dword [rsp + 0x60], 0xff00
xor ecx, eax
mov dword [rsp + 0x5c], 0xff0000
sub ecx, eax
mov dword [rbx + 4], ecx
jmp 0x1401fc86b
cmp ebp, 3
jne 0x1401fc6df
mov rcx, rbx
call fcn.140203be0
mov rcx, rbx
mov dword [rsp + 0x5c], eax
mov r14d, eax
call fcn.140203be0
mov rcx, rbx
mov dword [rsp + 0x60], eax
mov r15d, eax
call fcn.140203be0
mov dword [rsp + 0x64], eax
cmp r14d, r15d
jne 0x1401fc82d
cmp r15d, eax
jne 0x1401fc82d
jmp 0x1401fc6df
push r15
mov eax, 0x48b8
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.1400111d0
sub rsp, rax
lea r12, [rsp + 0x50]
mov qword [rsp + 0x4908], rdx
mov rbx, rcx
xor edx, edx
mov qword [rsp + 0x4910], r8
mov rcx, r12
mov rsi, r9
mov r8d, 0x4860
call sub.msvcrt.dll_memset
mov rcx, rbx
call fcn.140203e40
mov rcx, qword [rsp + 0x58]
cmp al, 0x47
je 0x140204125
test rcx, rcx
je 0x14020410f
call sub.msvcrt.dll_free
xor eax, eax
add rsp, 0x48b8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
call fcn.140203e40
cmp al, 0x49
je 0x140204138
mov rcx, qword [rsp + 0x58]
jmp 0x140204105
mov rcx, rbx
call fcn.140203e40
cmp al, 0x46
jne 0x140204131
mov rcx, rbx
call fcn.140203e40
cmp al, 0x38
jne 0x140204131
mov rcx, rbx
call fcn.140203e40
sub eax, 0x37
test al, 0xfd
jne 0x140204131
mov rcx, rbx
call fcn.140203e40
cmp al, 0x61
jne 0x140204131
mov rcx, rbx
call fcn.140203840
mov rcx, rbx
mov dword [rsp + 0x50], eax
call fcn.140203840
mov rcx, rbx
mov dword [rsp + 0x54], eax
call fcn.140203e40
mov rcx, rbx
movzx eax, al
mov dword [rsp + 0x68], eax
call fcn.140203e40
mov rcx, rbx
movzx eax, al
mov dword [rsp + 0x6c], eax
call fcn.140203e40
mov dword [rsp + 0x74], 0xffffffff
movzx eax, al
mov dword [rsi], 4
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x68]
test al, 0x80
jne 0x14020484f
mov edi, dword [rsp + 0x50]
mov esi, dword [rsp + 0x54]
mov r13, qword [rsp + 0x58]
imul esi, edi
shl esi, 2
movsxd r8, esi
mov rcx, r8
mov qword [rsp + 0x20], r8
call sub.msvcrt.dll_malloc
mov r8, qword [rsp + 0x20]
test rax, rax
mov qword [rsp + 0x58], rax
mov rcx, rax
je 0x14020410f
mov r9d, dword [rsp + 0x78]
sar r9d, 2
and r9d, 7
cmp r9d, 2
je 0x1402045ff
jg 0x140204500
test r9d, r9d
je 0x1402046a8
cmp r9d, 1
jne 0x140204248
test r13, r13
je 0x14020423c
mov rdx, r13
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x60], r13
nop dword [rax]
mov rcx, rbx
call fcn.140203e40
cmp al, 0x21
je 0x1402045a5
mov rcx, qword [rsp + 0x58]
cmp al, 0x2c
jne 0x140204105
mov rcx, rbx
call fcn.140203840
mov rcx, rbx
mov esi, eax
call fcn.140203840
mov rcx, rbx
mov edi, eax
call fcn.140203840
mov rcx, rbx
mov ebp, eax
call fcn.140203840
mov edx, dword [rsp + 0x50]
lea ecx, [rsi + rbp]
cmp ecx, edx
jg 0x140204131
lea ecx, [rdi + rax]
cmp ecx, dword [rsp + 0x54]
jg 0x140204131
shl edx, 2
shl esi, 2
imul edi, edx
lea ecx, [rsi + rbp*4]
mov dword [rsp + 0x48ac], edx
imul eax, edx
mov dword [rsp + 0x489c], ecx
mov rcx, rbx
mov dword [rsp + 0x4894], esi
mov dword [rsp + 0x4898], edi
add eax, edi
mov dword [rsp + 0x48a4], esi
mov dword [rsp + 0x48a0], eax
mov dword [rsp + 0x48a8], edi
call fcn.140203e40
movzx edx, al
mov dword [rsp + 0x4890], edx
test al, 0x40
je 0x14020474c
mov edi, dword [rsp + 0x48ac]
lea edx, [rdi*8]
mov edi, 3
movd xmm0, edi
movd xmm1, edx
punpckldq xmm0, xmm1
movq qword [rsp + 0x4888], xmm0
test al, al
jns 0x14020475c
or r9d, 0xffffffff
test byte [rsp + 0x78], 1
je 0x140204343
mov r9d, dword [rsp + 0x74]
and eax, 7
lea rsi, [rsp + 0x480]
mov r8d, 2
mov ecx, eax
mov rdx, rsi
shl r8d, cl
mov rcx, rbx
call fcn.140204880
mov qword [rsp + 0x4880], rsi
mov dword [rsp + 0x4c], 0xffffffff
mov rcx, rbx
call fcn.140203e40
mov ecx, eax
cmp al, 0xc
ja 0x140204131
movzx edx, al
mov eax, 1
mov edi, eax
shl edi, cl
mov dword [rsp + 0x30], edi
lea edi, [rdx + 1]
mov ecx, edi
mov dword [rsp + 0x40], edi
shl eax, cl
sub eax, 1
mov dword [rsp + 0x44], eax
xor eax, eax
xor edx, edx
mov edi, dword [rsp + 0x30]
mov word [r12 + rax*4 + 0x830], 0xffff
mov dl, al
mov dh, al
mov word [r12 + rax*4 + 0x832], dx
add rax, 1
cmp edi, eax
jg 0x1402043aa
mov esi, dword [rsp + 0x44]
mov eax, edi
or ebp, 0xffffffff
lea edi, [rdi + 2]
add eax, 1
mov dword [rsp + 0x48], edi
xor r13d, r13d
xor r14d, r14d
mov dword [rsp + 0x20], esi
mov esi, dword [rsp + 0x40]
xor r15d, r15d
mov dword [rsp + 0x2c], 1
mov dword [rsp + 0x34], eax
mov qword [rsp + 0x38], r12
mov r12, rbx
movsxd rbx, ebp
movsxd rbp, edi
mov edi, esi
cmp edi, r13d
jle 0x14020444f
test r15d, r15d
jne 0x14020442f
mov rcx, r12
call fcn.140203e40
movzx r15d, al
test r15d, r15d
je 0x140204842
mov rcx, r12
sub r15d, 1
call fcn.140203e40
mov ecx, r13d
add r13d, 8
movzx eax, al
shl eax, cl
or r14d, eax
cmp edi, r13d
jg 0x140204415
mov esi, dword [rsp + 0x20]
mov ecx, edi
sub r13d, edi
and esi, r14d
sar r14d, cl
cmp dword [rsp + 0x30], esi
je 0x140204576
cmp esi, dword [rsp + 0x34]
je 0x1402047d4
cmp esi, ebp
jg 0x140204131
mov eax, dword [rsp + 0x2c]
test eax, eax
jne 0x140204131
test ebx, ebx
js 0x140204598
lea eax, [rbp + 1]
cmp eax, 0x1000
jg 0x140204131
movzx edx, byte [rsp + rbx*4 + 0x882]
lea rcx, [rbp + 0x20c]
mov word [rsp + rcx*4 + 0x50], bx
mov byte [rsp + rcx*4 + 0x52], dl
cmp esi, eax
je 0x1402044c3
movsxd rdx, esi
movzx edx, byte [rsp + rdx*4 + 0x882]
mov byte [rsp + rbp*4 + 0x883], dl
movsxd rbp, eax
mov rcx, qword [rsp + 0x38]
movzx edx, si
call fcn.140209c60
test dword [rsp + 0x20], ebp
jne 0x1402044ec
cmp ebp, 0xfff
jle 0x1402045dc
mov dword [rsp + 0x2c], 0
movsxd rbx, esi
jmp 0x140204410
cmp r9d, 3
jne 0x140204248
cmp qword [rsp + 0x60], 0
je 0x140204248
mov esi, dword [rsp + 0x4898]
cmp esi, dword [rsp + 0x48a0]
jge 0x140204248
nop word [rax + rax]
mov edx, dword [rsp + 0x4894]
mov rcx, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x489c]
sub r8d, dword [rsp + 0x4894]
add edx, esi
movsxd r8, r8d
movsxd rdx, edx
add rcx, rdx
add rdx, qword [rsp + 0x60]
call sub.msvcrt.dll_memcpy
mov eax, dword [rsp + 0x50]
lea esi, [rsi + rax*4]
cmp dword [rsp + 0x48a0], esi
jg 0x140204530
jmp 0x140204248
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x2c], 0
or rbx, 0xffffffffffffffff
movsxd rbp, dword [rsp + 0x48]
mov edi, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
jmp 0x140204410
cmp esi, ebp
jne 0x1402044cd
jmp 0x140204131
mov rcx, rbx
call fcn.140203e40
cmp al, 0xf9
jne 0x1402045c8
jmp 0x140204730
mov rcx, rbx
call fcn.14020e5f0
mov rcx, rbx
call fcn.140203e40
movzx edx, al
test edx, edx
jne 0x1402045c0
jmp 0x140204248
add edi, 1
mov eax, 1
mov dword [rsp + 0x2c], 0
movsxd rbx, esi
mov ecx, edi
shl eax, cl
sub eax, 1
mov dword [rsp + 0x20], eax
jmp 0x140204410
test r13, r13
je 0x14020460c
mov rdx, r13
call sub.msvcrt.dll_memcpy
movsxd rdx, dword [rsp + 0x6c]
mov esi, dword [rsp + 0x48a0]
mov r10d, dword [rsp + 0x4898]
mov eax, dword [rsp + 0x489c]
movsxd r11, dword [rsp + 0x4894]
lea rcx, [r12 + rdx*4 + 0x30]
cmp esi, r10d
jle 0x140204248
cmp eax, r11d
jle 0x140204248
sub eax, 1
sub rax, r11
and eax, 0xfffffffc
lea rdi, [rax + r11 + 4]
nop dword [rax]
movsxd r9, r10d
lea rdx, [r9 + r11]
add r9, rdi
nop word [rax + rax]
mov rax, qword [rsp + 0x58]
movzx r8d, byte [rcx + 2]
add rax, rdx
add rdx, 4
mov byte [rax], r8b
movzx r8d, byte [rcx + 1]
mov byte [rax + 1], r8b
movzx r8d, byte [rcx]
mov byte [rax + 3], 0
mov byte [rax + 2], r8b
cmp r9, rdx
jne 0x140204668
mov eax, dword [rsp + 0x50]
lea r10d, [r10 + rax*4]
cmp esi, r10d
jg 0x140204658
jmp 0x140204248
movsxd rdx, dword [rsp + 0x6c]
lea eax, [rdi*4]
lea rcx, [r12 + rdx*4 + 0x30]
test esi, esi
jle 0x140204248
test eax, eax
jle 0x140204248
sub eax, 1
shr eax, 2
lea r11d, [rax + 1]
shl r11, 2
nop word [rax + rax]
movsxd rdx, r9d
lea r10, [r11 + rdx]
nop word [rax + rax]
mov rax, qword [rsp + 0x58]
movzx r8d, byte [rcx + 2]
add rax, rdx
add rdx, 4
mov byte [rax], r8b
movzx r8d, byte [rcx + 1]
mov byte [rax + 1], r8b
movzx r8d, byte [rcx]
mov byte [rax + 3], 0
mov byte [rax + 2], r8b
cmp r10, rdx
jne 0x1402046f0
mov eax, dword [rsp + 0x50]
lea r9d, [r9 + rax*4]
cmp r9d, esi
jl 0x1402046e0
jmp 0x140204248
mov rcx, rbx
call fcn.140203e40
mov rcx, rbx
movzx edx, al
cmp al, 4
je 0x1402047a8
call fcn.14020e5f0
jmp 0x140204248
mov edx, dword [rsp + 0x48ac]
pxor xmm0, xmm0
jmp 0x14020431a
test byte [rsp + 0x68], 0x80
je 0x140204131
movsxd rax, dword [rsp + 0x74]
mov dword [rsp + 0x4c], 0xffffffff
test eax, eax
js 0x140204793
test byte [rsp + 0x78], 1
je 0x140204793
movzx edi, byte [rsp + rax*4 + 0x83]
mov byte [rsp + rax*4 + 0x83], 0
mov dword [rsp + 0x4c], edi
lea rax, [rsp + 0x80]
mov qword [rsp + 0x4880], rax
jmp 0x140204374
call fcn.140203e40
mov rcx, rbx
movzx eax, al
mov dword [rsp + 0x78], eax
call fcn.140203840
mov rcx, rbx
mov dword [rsp + 0x7c], eax
call fcn.140203e40
movzx eax, al
mov dword [rsp + 0x74], eax
jmp 0x1402045c8
mov rbx, r12
mov edx, r15d
mov rcx, rbx
call fcn.14020e5f0
mov rcx, rbx
call fcn.140203e40
movzx edx, al
test edx, edx
jne 0x1402047da
mov rcx, qword [rsp + 0x58]
mov rax, rcx
test rcx, rcx
je 0x14020410f
mov edi, dword [rsp + 0x4c]
cmp edi, 0xffffffff
je 0x140204818
movsxd rdx, dword [rsp + 0x74]
mov byte [rsp + rdx*4 + 0x83], dil
cmp rbx, rcx
je 0x140204105
mov edx, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x4908]
mov dword [rdi], edx
mov edx, dword [rsp + 0x54]
mov rdi, qword [rsp + 0x4910]
mov dword [rdi], edx
jmp 0x140204111
mov rcx, qword [rsp + 0x58]
mov rbx, r12
mov rax, rcx
jmp 0x1402047f9
and eax, 7
mov r8d, 2
lea rdx, [rsp + 0x80]
or r9d, 0xffffffff
mov ecx, eax
shl r8d, cl
mov rcx, rbx
call fcn.140204880
jmp 0x1402041ca
push r15
mov eax, 0x4908
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.1400111d0
sub rsp, rax
movups xmmword [rsp + 0x48f0], xmm6
lea rax, [0x1401fc5d0]
lea rdi, [0x1402055e0]
movq xmm2, rax
movq xmm0, rdi
mov rax, qword [0x140238820]
punpcklqdq xmm0, xmm2
mov dword [rcx + 8], 0
lea r13, [rsp + 0x170]
mov qword [rsp + 0x170], rcx
mov rcx, r13
movups xmmword [rsp + 0x48d8], xmm0
pxor xmm0, xmm0
mov qword [rsp + 0x4958], rdx
mov qword [rsp + 0x4960], r8
mov qword [rsp + 0x4968], r9
mov qword [rsp + 0x48e8], rax
mov dword [rsp + 0x48cc], 0
mov byte [rsp + 0x4898], 0xff
movups xmmword [rsp + 0x4748], xmm0
movups xmmword [rsp + 0x47a8], xmm0
movups xmmword [rsp + 0x4808], xmm0
movups xmmword [rsp + 0x4868], xmm0
call fcn.140203ef0
cmp al, 0xd8
je 0x1402063e8
mov rcx, r13
call fcn.1401fdc90
mov qword [rsp + 0x50], 0
mov rax, qword [rsp + 0x50]
movups xmm6, xmmword [rsp + 0x48f0]
add rsp, 0x4908
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r13
call fcn.140203ef0
movzx edx, al
lea eax, [rdx - 0xc0]
cmp eax, 2
jbe 0x140206456
mov rcx, r13
call fcn.14020d4d0
test eax, eax
je 0x1402063b6
mov rcx, r13
call fcn.140203ef0
movzx edx, al
cmp edx, 0xff
jne 0x1402063f3
mov rbx, qword [rsp + 0x170]
cmp qword [rbx + 0x10], 0
je 0x140206441
mov rcx, qword [rbx + 0x28]
call qword [rbx + 0x20]
test eax, eax
je 0x14020640a
cmp dword [rbx + 0x30], 0
je 0x1402063b6
mov rax, qword [rbx + 0xc0]
cmp qword [rbx + 0xb8], rax
jb 0x14020640a
jmp 0x1402063b6
mov rbx, qword [rsp + 0x170]
xor eax, eax
cmp edx, 0xc2
sete al
mov rcx, rbx
mov dword [rsp + 0x48a0], eax
call fcn.140203710
mov esi, eax
cmp eax, 0xa
jle 0x1402063b6
mov rcx, rbx
call fcn.140203e40
cmp al, 8
jne 0x1402063b6
mov rcx, rbx
call fcn.140203710
mov dword [rbx + 4], eax
test eax, eax
je 0x1402063b6
mov rcx, rbx
call fcn.140203710
mov dword [rbx], eax
test eax, eax
je 0x1402063b6
mov rcx, rbx
call fcn.140203e40
mov edx, eax
and edx, 0xfffffffd
sub dl, 1
jne 0x1402063b6
movzx eax, al
mov rdx, r13
xor ecx, ecx
mov dword [rbx + 8], eax
jmp 0x1402064f4
mov qword [rdx + 0x4570], 0
add ecx, 1
mov qword [rdx + 0x4588], 0
add rdx, 0x60
cmp eax, ecx
jg 0x1402064db
lea eax, [rax + rax*2]
add eax, 8
cmp esi, eax
jne 0x1402063b6
mov rdi, r13
xor ebp, ebp
jmp 0x14020658d
mov rcx, rbx
lea esi, [rbp + 1]
call fcn.140203e40
movzx eax, al
mov dword [rdi + 0x45a0], eax
cmp eax, esi
je 0x140206531
cmp ebp, eax
jne 0x1402063b6
mov rcx, rbx
call fcn.140203e40
movzx edx, al
sar edx, 4
mov dword [rdi + 0x45a4], edx
je 0x1402063b6
cmp edx, 4
jg 0x1402063b6
mov edx, eax
and eax, 0xf
and edx, 0xf
mov dword [rdi + 0x45a8], eax
lea eax, [rdx - 1]
cmp al, 3
ja 0x1402063b6
mov rcx, rbx
add rdi, 0x60
call fcn.140203e40
movzx eax, al
mov dword [rdi + 0x454c], eax
cmp eax, 3
jg 0x1402063b6
mov ebp, esi
mov ecx, dword [rbx + 8]
cmp ecx, ebp
jg 0x140206511
mov eax, 0x40000000
xor edx, edx
div dword [rbx]
xor edx, edx
div ecx
cmp eax, dword [rbx + 4]
jb 0x1402063b6
mov rax, r13
mov r12d, 1
mov edi, 1
xor edx, edx
jmp 0x1402065df
mov r8d, dword [rax + 0x4544]
cmp edi, r8d
cmovl edi, r8d
mov r8d, dword [rax + 0x4548]
cmp r12d, r8d
cmovl r12d, r8d
add edx, 1
add rax, 0x60
cmp ecx, edx
jg 0x1402065c0
movd xmm0, edi
movd xmm4, r12d
xor edx, edx
mov rsi, r13
lea r8d, [rdi*8]
lea ecx, [r12*8]
punpckldq xmm0, xmm4
xor ebp, ebp
mov dword [rsp + 0x4708], r8d
mov dword [rsp + 0x470c], ecx
movq qword [rsp + 0x46f8], xmm0
mov eax, dword [rbx]
lea eax, [r8 + rax - 1]
div r8d
xor edx, edx
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x4700], eax
mov eax, dword [rbx + 4]
lea eax, [rcx + rax - 1]
div ecx
mov dword [rsp + 0x4704], eax
mov r14d, eax
lea eax, [rdi - 1]
mov dword [rsp + 0x48], eax
lea eax, [r12 - 1]
mov dword [rsp + 0x50], eax
jmp 0x14020667c
mov qword [rsi + 0x45f0], 0
mov qword [rsi + 0x45e0], 0
add ebp, 1
add rsi, 0x60
cmp dword [rbx + 8], ebp
jle 0x140206776
mov eax, dword [rbx]
mov ecx, dword [rsi + 0x45a4]
xor edx, edx
mov r8d, dword [rsi + 0x45a8]
imul eax, ecx
add eax, dword [rsp + 0x48]
div edi
xor edx, edx
imul ecx, dword [rsp + 0x40]
lea r15d, [rcx*8]
mov ecx, r15d
mov dword [rsi + 0x45bc], eax
mov eax, dword [rbx + 4]
mov dword [rsi + 0x45c4], r15d
imul eax, r8d
add eax, dword [rsp + 0x50]
div r12d
mov edx, r8d
imul edx, r14d
shl edx, 3
imul ecx, edx
mov dword [rsi + 0x45c8], edx
mov dword [rsp + 0x58], edx
add ecx, 0xf
movsxd rcx, ecx
mov dword [rsi + 0x45c0], eax
call sub.msvcrt.dll_malloc
mov edx, dword [rsp + 0x58]
test rax, rax
mov qword [rsi + 0x45d8], rax
je 0x14020818f
mov qword [rsi + 0x45e8], 0
add rax, 0xf
and rax, 0xfffffffffffffff0
cmp dword [rsp + 0x48a0], 0
mov qword [rsi + 0x45d0], rax
je 0x14020665f
mov eax, edx
sar r15d, 3
sar eax, 3
mov dword [rsi + 0x45f8], r15d
mov dword [rsi + 0x45fc], eax
imul eax, r15d
shl eax, 6
cdqe
add rax, rax
lea rcx, [rax + 0xf]
call sub.msvcrt.dll_malloc
mov qword [rsi + 0x45e0], rax
add rax, 0xf
and rax, 0xfffffffffffffff0
mov qword [rsi + 0x45f0], rax
jmp 0x140206675
mov rcx, r13
call fcn.140203ef0
movzx edx, al
cmp al, 0xd9
je 0x140206974
lea rax, [rsp + 0x1bb8]
mov qword [rsp + 0x48], rax
cmp edx, 0xda
jne 0x140206941
mov rcx, qword [rsp + 0x170]
call fcn.140203710
mov rcx, qword [rsp + 0x170]
mov ebx, eax
call fcn.140203e40
movzx eax, al
lea edx, [rax - 1]
mov dword [rsp + 0x48b8], eax
cmp edx, 3
ja 0x1402063b6
mov r12, qword [rsp + 0x170]
cmp eax, dword [r12 + 8]
jg 0x1402063b6
lea edx, [rax + rax + 6]
cmp ebx, edx
jne 0x1402063b6
xor esi, esi
test eax, eax
jg 0x1402068b1
jmp 0x140206fae
cmp ebx, dword [rsp + 0x4710]
je 0x140206dc0
cmp edx, 1
je 0x140206db5
cmp ebx, dword [rsp + 0x4770]
je 0x140206daa
cmp edx, 2
je 0x140206d9f
cmp ebx, dword [rsp + 0x47d0]
je 0x140206d94
cmp edx, 3
je 0x140206d89
cmp ebx, dword [rsp + 0x4830]
je 0x140206d7e
mov r8d, 4
cmp r8d, edx
je 0x1402063b6
movsxd rdx, r8d
sar ecx, 4
lea rdx, [rdx + rdx*2]
shl rdx, 5
mov dword [rsp + rdx + 0x4720], ecx
cmp ecx, 3
jg 0x1402063b6
mov ecx, eax
and ecx, 0xf
mov dword [rsp + rdx + 0x4724], ecx
test al, 0xc
jne 0x1402063b6
mov dword [r13 + rsi*4 + 0x474c], r8d
add rsi, 1
cmp dword [rsp + 0x48b8], esi
jle 0x140206fae
mov rcx, r12
call fcn.140203e40
mov rcx, qword [rsp + 0x170]
movzx ebx, al
call fcn.140203e40
mov r12, qword [rsp + 0x170]
movzx ecx, al
mov edx, dword [r12 + 8]
test edx, edx
jg 0x140206808
xor r8d, r8d
jmp 0x14020685d
mov edx, dword [r12 + 0x30]
test edx, edx
je 0x140206941
lea rbx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rbx
call qword [r12 + 0x10]
lea rcx, [r12 + 0x39]
movsxd rdx, eax
test edx, edx
jne 0x140206b3f
movq xmm0, rcx
mov byte [r12 + 0x38], 0
mov dword [r12 + 0x30], 0
punpcklqdq xmm0, xmm0
movups xmmword [r12 + 0xb8], xmm0
mov rcx, r13
call fcn.14020d4d0
test eax, eax
je 0x1402063b6
movzx eax, byte [rsp + 0x4898]
cmp al, 0xff
je 0x140206adc
mov byte [rsp + 0x4898], 0xff
movzx edx, al
cmp al, 0xd9
jne 0x140206796
cmp dword [rsp + 0x48a0], 0
jne 0x140206dc8
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 8]
mov esi, dword [rax]
mov r12, rax
mov dword [rsp + 0x48], edi
test edi, edi
jle 0x140206b86
mov r14, r13
xor r15d, r15d
lea ebp, [rsi + 3]
mov r12d, esi
mov r13d, r15d
mov qword [rsp + 0x50], rax
mov r15, r14
mov esi, dword [rsp + 0x48]
lea rbx, [rsp + 0xb0]
movabs rdi, 0x100000001
jmp 0x140206a3d
movabs rcx, 0x200000001
cmp rax, rcx
je 0x140206acd
movabs rcx, 0x100000002
cmp rax, rcx
je 0x140206b30
movabs rdx, 0x200000002
cmp rax, rdx
je 0x140206b61
mov rax, qword [0x140238800]
mov qword [rbx], rax
nop dword [rax + rax]
add r13d, 1
add r14, 0x60
add rbx, 0x30
cmp esi, r13d
je 0x140206b7b
mov rcx, rbp
call sub.msvcrt.dll_malloc
mov qword [r14 + 0x45e8], rax
test rax, rax
je 0x14020817a
mov eax, dword [rsp + 0x46f8]
mov dword [rbx + 0x28], 0
cdq
idiv dword [r14 + 0x45a4]
mov ecx, eax
mov dword [rbx + 0x18], eax
mov eax, dword [rsp + 0x46fc]
cdq
idiv dword [r14 + 0x45a8]
xor edx, edx
mov dword [rbx + 0x1c], eax
sar eax, 1
mov dword [rbx + 0x24], eax
lea eax, [r12 + rcx - 1]
div ecx
mov dword [rbx + 0x20], eax
mov rax, qword [r14 + 0x45d0]
mov qword [rbx + 0x10], rax
mov qword [rbx + 8], rax
movsxd rax, r13d
lea rax, [rax + rax*2]
shl rax, 4
mov rax, qword [rsp + rax + 0xc8]
cmp rax, rdi
jne 0x1402069e0
mov rax, qword [0x1402387f0]
mov qword [rbx], rax
jmp 0x140206a28
mov rax, qword [0x140238830]
mov qword [rbx], rax
jmp 0x140206a28
mov rcx, qword [rsp + 0x170]
call fcn.140203e40
cmp al, 0xff
jne 0x140206b71
nop dword [rax]
mov r12, qword [rsp + 0x170]
mov rax, qword [r12 + 0xb8]
cmp rax, qword [r12 + 0xc0]
jae 0x1402068f0
lea rdx, [rax + 1]
mov qword [r12 + 0xb8], rdx
movzx eax, byte [rax]
cmp al, 0xff
je 0x140206af8
jmp 0x140206969
mov rax, qword [0x140238810]
mov qword [rbx], rax
jmp 0x140206a28
add rdx, rbx
movq xmm0, rcx
movzx eax, byte [r12 + 0x38]
movq xmm3, rdx
punpcklqdq xmm0, xmm3
movups xmmword [r12 + 0xb8], xmm0
jmp 0x140206b25
mov rax, qword [rsp + 0x48e8]
mov qword [rbx], rax
jmp 0x140206a28
mov edx, 0xff
jmp 0x140206941
mov esi, r12d
mov r12, qword [rsp + 0x50]
mov r13, r15
mov rax, qword [rsp + 0x40]
mov ebx, dword [rax + 4]
imul esi, ebx
lea ecx, [rsi*4 + 1]
call sub.msvcrt.dll_malloc
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1402063b6
test ebx, ebx
je 0x140206cd7
lea rax, [rsp + 0x90]
mov qword [rsp + 0x58], r13
xor r15d, r15d
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x48]
sub eax, 1
lea r14, [rsp + rax*8 + 0x98]
nop word [rax + rax]
mov eax, dword [r12]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x48]
test eax, eax
jle 0x140206c67
mov rdi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
lea rbx, [rsp + 0xb0]
mov r13d, dword [rbx + 0x1c]
mov r12, qword [rbx + 0x10]
mov esi, dword [rbx + 0x24]
mov rax, qword [rbx]
mov ecx, r13d
mov r10d, dword [rbx + 0x18]
mov r9d, dword [rbx + 0x20]
mov r8, r12
sar ecx, 1
mov rdx, qword [rbx + 8]
cmp esi, ecx
jl 0x140206c2e
mov r8, rdx
mov rdx, r12
mov rcx, qword [rbp + 0x45e8]
add esi, 1
mov dword [rsp + 0x20], r10d
call rax
mov qword [rdi], rax
cmp r13d, esi
jle 0x140206d18
mov dword [rbx + 0x24], esi
add rdi, 8
add rbx, 0x30
add rbp, 0x60
cmp r14, rdi
jne 0x140206c02
mov r12, qword [rsp + 0x170]
mov r13d, dword [rsp + 0x40]
mov r10, qword [rsp + 0x90]
mov eax, dword [r12]
imul r13d, r15d
lea ecx, [r13*4]
add rcx, qword [rsp + 0x50]
cmp dword [r12 + 8], 3
jne 0x140206d4b
mov dword [rsp + 0x20], eax
mov r9, qword [rsp + 0xa0]
mov rdx, r10
mov dword [rsp + 0x28], 4
mov r8, qword [rsp + 0x98]
call qword [rsp + 0x48e0]
mov r12, qword [rsp + 0x170]
add r15d, 1
cmp dword [r12 + 4], r15d
ja 0x140206be0
mov r13, qword [rsp + 0x58]
mov rcx, r13
call fcn.1401fdc90
mov rax, qword [rsp + 0x170]
mov rdi, qword [rsp + 0x4958]
mov edx, dword [rax]
mov dword [rdi], edx
mov rdi, qword [rsp + 0x4960]
mov edx, dword [rax + 4]
mov dword [rdi], edx
mov rdi, qword [rsp + 0x4968]
mov eax, dword [rax + 8]
mov dword [rdi], eax
jmp 0x1402063c7
mov eax, dword [rbx + 0x28]
mov dword [rbx + 0x24], 0
mov qword [rbx + 8], r12
add eax, 1
mov dword [rbx + 0x28], eax
cmp eax, dword [rbp + 0x45c0]
jge 0x140206c4e
movsxd rax, dword [rbp + 0x45c4]
add r12, rax
mov qword [rbx + 0x10], r12
jmp 0x140206c4e
test eax, eax
je 0x140206cc3
xor eax, eax
nop dword [rax]
mov edx, eax
add rcx, 4
add eax, 1
movzx edx, byte [r10 + rdx]
mov byte [rcx - 1], 0xff
mov byte [rcx - 2], dl
mov byte [rcx - 3], dl
mov byte [rcx - 4], dl
cmp dword [r12], eax
ja 0x140206d58
jmp 0x140206cc3
mov r8d, 3
jmp 0x140206866
mov r8d, 3
jmp 0x14020685d
mov r8d, 2
jmp 0x140206866
mov r8d, 2
jmp 0x14020685d
mov r8d, 1
jmp 0x140206866
mov r8d, 1
jmp 0x14020685d
xor r8d, r8d
jmp 0x140206866
mov r12, r13
xor edi, edi
pxor xmm6, xmm6
mov rax, qword [rsp + 0x170]
cmp dword [rax + 8], edi
jle 0x140206fa4
mov eax, dword [r12 + 0x45bc]
xor r15d, r15d
lea esi, [rax + 7]
mov eax, dword [r12 + 0x45c0]
sar esi, 3
lea ebp, [rax + 7]
movsxd rbx, esi
sar ebp, 3
cmp ebp, r15d
jle 0x140206f98
xor r14d, r14d
test esi, esi
jg 0x140206f13
jmp 0x140206f8f
movdqu xmm0, xmmword [rcx]
movdqu xmm2, xmmword [r8 + 0x10]
movdqu xmm3, xmmword [r8]
movdqu xmm4, xmmword [r8 + 0x30]
movdqu xmm1, xmm0
punpcklbw xmm0, xmm6
movdqu xmm5, xmmword [r8 + 0x20]
punpckhbw xmm1, xmm6
pmullw xmm0, xmm3
movdqu xmm3, xmmword [r8 + 0x40]
pmullw xmm1, xmm2
movdqu xmm2, xmmword [r8 + 0x50]
movups xmmword [r8], xmm0
movups xmmword [r8 + 0x10], xmm1
movdqu xmm0, xmmword [rcx + 0x10]
movdqu xmm1, xmm0
punpcklbw xmm0, xmm6
punpckhbw xmm1, xmm6
pmullw xmm0, xmm5
movdqu xmm5, xmmword [r8 + 0x60]
pmullw xmm1, xmm4
movdqu xmm4, xmmword [r8 + 0x70]
movups xmmword [r8 + 0x20], xmm0
movups xmmword [r8 + 0x30], xmm1
movdqu xmm0, xmmword [rcx + 0x20]
movdqu xmm1, xmm0
punpcklbw xmm0, xmm6
punpckhbw xmm1, xmm6
pmullw xmm0, xmm3
pmullw xmm1, xmm2
movups xmmword [r8 + 0x40], xmm0
movups xmmword [r8 + 0x50], xmm1
movdqu xmm0, xmmword [rcx + 0x30]
movdqu xmm1, xmm0
punpcklbw xmm0, xmm6
punpckhbw xmm1, xmm6
pmullw xmm0, xmm5
pmullw xmm1, xmm4
movups xmmword [r8 + 0x60], xmm0
movups xmmword [r8 + 0x70], xmm1
nop dword [rax]
mov edx, dword [r12 + 0x45c4]
mov eax, r15d
imul eax, edx
shl eax, 3
cdqe
lea rcx, [rax + r14*8]
add r14, 1
add rcx, qword [r12 + 0x45d0]
call qword [rsp + 0x48d8]
cmp r14, rbx
je 0x140206f8f
mov eax, dword [r12 + 0x45f8]
movsxd r9, dword [r12 + 0x45ac]
mov rdx, qword [r12 + 0x45f0]
imul eax, r15d
add r9, 0xd2
shl r9, 6
lea rcx, [r13 + r9 + 8]
lea r9, [r13 + r9 + 0x48]
add eax, r14d
shl eax, 6
cdqe
add rax, rax
lea r8, [rdx + rax]
cmp r8, r9
jae 0x140206e20
lea rax, [rdx + rax + 0x80]
cmp rcx, rax
jae 0x140206e20
xor eax, eax
nop
movzx edx, byte [rcx + rax]
imul dx, word [r8 + rax*2]
mov word [r8 + rax*2], dx
add rax, 1
cmp rax, 0x40
je 0x140206ee0
jmp 0x140206f70
add r15d, 1
jmp 0x140206e04
add edi, 1
add r12, 0x60
jmp 0x140206dd1
mov qword [rsp + 0x40], rax
jmp 0x14020698f
mov rcx, r12
call fcn.140203e40
mov rcx, qword [rsp + 0x170]
movzx eax, al
mov dword [rsp + 0x48a4], eax
call fcn.140203e40
mov rcx, qword [rsp + 0x170]
movzx eax, al
mov dword [rsp + 0x48a8], eax
call fcn.140203e40
mov edi, dword [rsp + 0x48a0]
movzx edx, al
mov ecx, eax
and eax, 0xf
sar edx, 4
mov dword [rsp + 0x48b0], eax
and ecx, 0xf
mov dword [rsp + 0x48ac], edx
test edi, edi
je 0x140207c80
mov r9d, dword [rsp + 0x48a4]
cmp r9d, 0x3f
jg 0x1402063b6
mov r8d, dword [rsp + 0x48a8]
cmp r8d, 0x3f
setg al
cmp r9d, r8d
setg r8b
or eax, r8d
cmp edx, 0xd
setg dl
or al, dl
jne 0x1402063b6
cmp cl, 0xd
ja 0x1402063b6
mov eax, dword [rsp + 0x48cc]
mov dword [rsp + 0x489c], 0
mov dword [rsp + 0x47e8], 0
mov dword [rsp + 0x4788], 0
mov dword [rsp + 0x4728], 0
mov qword [rsp + 0x4890], 0
mov byte [rsp + 0x4898], 0xff
test eax, eax
je 0x14020815f
mov dword [rsp + 0x48d0], eax
mov dword [rsp + 0x48b4], 0
xor esi, esi
cmp dword [rsp + 0x48b8], 1
mov r14, r13
je 0x1402071cc
cmp dword [rsp + 0x4704], esi
jle 0x140207be6
xor edi, edi
mov r13, r14
cmp dword [rsp + 0x4700], edi
jle 0x140207c75
xor r12d, r12d
mov r14, r13
cmp dword [rsp + 0x48b8], r12d
jle 0x140207c51
movsxd rax, dword [r14 + r12*4 + 0x474c]
xor ebp, ebp
imul rbx, rax, 0x60
mov r15, rax
cmp dword [rsp + rbx + 0x4718], 0
mov qword [rsp + 0x40], rbx
jle 0x1402071c3
lea rbx, [rax + rax*2]
shl rbx, 5
lea rax, [rbx + 0x48f0]
lea rbx, [rsp + rax]
mov ecx, dword [rbx - 0x1dc]
test ecx, ecx
jle 0x1402071c3
xor r13d, r13d
jmp 0x140207157
mov ecx, dword [rbx - 0x1dc]
add r13d, 1
cmp ecx, r13d
jle 0x1402071ae
mov eax, dword [rbx - 0x1d8]
imul ecx, edi
movsxd rdx, dword [rbx - 0x1d0]
mov r9d, r15d
imul eax, esi
add ecx, r13d
imul rdx, rdx, 0x690
add eax, ebp
imul eax, dword [rbx - 0x188]
lea r8, [r14 + rdx + 8]
add eax, ecx
mov rcx, qword [rbx - 0x190]
shl eax, 6
cdqe
lea r10, [rcx + rax*2]
mov rcx, r14
mov rdx, r10
call fcn.140205fd0
test eax, eax
jne 0x140207148
mov r13, r14
jmp 0x1402063b6
mov rax, qword [rsp + 0x40]
add ebp, 1
cmp ebp, dword [rsp + rax + 0x4718]
jl 0x14020712f
add r12, 1
jmp 0x1402070ea
movsxd rax, dword [rsp + 0x48bc]
mov dword [rsp + 0x58], 0
imul rcx, rax, 0x60
mov dword [rsp + 0x80], eax
lea rax, [rax + rax*2]
shl rax, 5
mov qword [rsp + 0x88], rax
mov edi, dword [rsp + rcx + 0x472c]
lea edx, [rdi + 7]
sar edx, 3
mov dword [rsp + 0x60], edx
mov edx, dword [rsp + rcx + 0x4730]
add edx, 7
sar edx, 3
mov dword [rsp + 0x84], edx
mov edi, dword [rsp + 0x58]
cmp dword [rsp + 0x84], edi
jle 0x140207be6
cmp dword [rsp + 0x60], 0
mov dword [rsp + 0x40], 0
jle 0x140207514
mov rax, qword [rsp + 0x88]
add rax, 0x48f0
lea r12, [rsp + rax]
jmp 0x1402072b3
movsxd rax, dword [r12 - 0x1d0]
mov r9d, dword [rsp + 0x80]
mov rdx, rdi
mov rcx, r14
imul rax, rax, 0x690
lea r8, [r14 + rax + 8]
call fcn.140205fd0
test eax, eax
je 0x1402071a6
mov eax, dword [rsp + 0x48d0]
sub eax, 1
mov dword [rsp + 0x48d0], eax
test eax, eax
jle 0x14020747c
add dword [rsp + 0x40], 1
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x60], eax
je 0x140207514
mov eax, dword [rsp + 0x58]
mov rdx, qword [r12 - 0x190]
imul eax, dword [r12 - 0x188]
add eax, dword [rsp + 0x40]
shl eax, 6
movsxd rbx, dword [rsp + 0x48a4]
cdqe
lea rdi, [rdx + rax*2]
test ebx, ebx
je 0x140207258
mov ecx, dword [rsp + 0x48ac]
movsxd rdx, dword [r12 - 0x1cc]
mov r10d, dword [rsp + 0x48b0]
mov eax, dword [rsp + 0x48b4]
test ecx, ecx
jne 0x140207612
test eax, eax
jne 0x1402079f1
imul rbp, rdx, 0x690
mov rax, rdx
mov r11d, dword [rsp + 0x4894]
shl rax, 0xa
lea r13, [r14 + rax + 0x3588]
lea rax, [rbp + 0x48f0]
mov r15, r13
lea rbp, [rsp + rax]
imul rax, rdx, 0x1a4
mov r13, rbp
mov ebp, r10d
mov qword [rsp + 0x50], rax
jmp 0x1402073c2
mov r8d, dword [rsp + 0x4890]
mov eax, r8d
shr eax, 0x17
mov edx, eax
movsx edx, word [r15 + rdx*2]
mov ecx, edx
test edx, edx
je 0x140207417
mov eax, edx
and ecx, 0xf
sar edx, 8
sar eax, 4
shl r8d, cl
sub r11d, ecx
mov rcx, qword [0x140237600]
and eax, 0xf
mov dword [rsp + 0x4890], r8d
add eax, ebx
mov dword [rsp + 0x4894], r11d
lea ebx, [rax + 1]
cdqe
movzx eax, byte [rcx + rax]
mov ecx, ebp
shl edx, cl
mov word [rdi + rax*2], dx
cmp dword [rsp + 0x48a8], ebx
jl 0x140207287
cmp r11d, 0xf
jg 0x140207358
mov rcx, r14
call fcn.140204a90
mov r8d, dword [rsp + 0x4890]
mov r11d, dword [rsp + 0x4894]
mov eax, r8d
shr eax, 0x17
mov edx, eax
movsx edx, word [r15 + rdx*2]
mov ecx, edx
test edx, edx
jne 0x140207377
cmp r11d, 0xf
jg 0x140207417
mov rcx, r14
call fcn.140204a90
mov r8d, dword [rsp + 0x4890]
mov r11d, dword [rsp + 0x4894]
mov eax, r8d
shr eax, 0x17
cdqe
movzx eax, byte [rax + r13 - 0x2d38]
cmp eax, 0xff
je 0x14020751e
add rax, r13
movzx ecx, byte [rax - 0x2838]
cmp ecx, r11d
jg 0x1402071a6
shl r8d, cl
sub r11d, ecx
movzx esi, byte [rax - 0x2938]
mov dword [rsp + 0x4890], r8d
mov dword [rsp + 0x4894], r11d
mov eax, esi
sar eax, 4
and esi, 0xf
jne 0x140207592
cmp eax, 0xf
jne 0x140207b45
add ebx, 0x10
jmp 0x1402073b5
cmp dword [rsp + 0x4894], 0x17
jle 0x140207605
movzx eax, byte [rsp + 0x4898]
lea edx, [rax + 0x30]
cmp dl, 7
ja 0x140207b79
mov eax, dword [rsp + 0x48cc]
mov edx, 0x7fffffff
mov dword [rsp + 0x489c], 0
mov dword [rsp + 0x47e8], 0
test eax, eax
mov dword [rsp + 0x4788], 0
cmove eax, edx
mov byte [rsp + 0x4898], 0xff
add dword [rsp + 0x40], 1
mov dword [rsp + 0x48d0], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x4728], 0
mov qword [rsp + 0x4890], 0
mov dword [rsp + 0x48b4], 0
cmp dword [rsp + 0x60], eax
jne 0x1402072b3
add dword [rsp + 0x58], 1
jmp 0x14020721c
mov eax, r8d
shr eax, 0x10
cmp eax, dword [r13 - 0x270c]
jb 0x140207a70
cmp eax, dword [r13 - 0x2708]
jb 0x140207ae7
cmp eax, dword [r13 - 0x2704]
jb 0x140207b11
cmp eax, dword [r13 - 0x2700]
jb 0x140207b1b
cmp eax, dword [r13 - 0x26fc]
jb 0x140207b25
cmp eax, dword [r13 - 0x26f8]
jb 0x140207bdc
cmp eax, dword [r13 - 0x26f4]
jb 0x140207b6f
lea eax, [r11 - 0x10]
mov r13, r14
mov dword [rsp + 0x4894], eax
jmp 0x1402063b6
add eax, ebx
mov rcx, qword [0x140237600]
lea ebx, [rax + 1]
cdqe
movzx r8d, byte [rcx + rax]
cmp esi, r11d
jg 0x1402079d1
mov eax, dword [rsp + 0x4890]
mov ecx, esi
movsxd r10, esi
sub r11d, esi
mov dword [rsp + 0x4894], r11d
mov edx, eax
sar eax, 0x1f
rol edx, cl
mov rcx, qword [0x1402373d0]
not eax
mov r9d, dword [rcx + r10*4]
mov ecx, r9d
not ecx
and ecx, edx
and edx, r9d
mov dword [rsp + 0x4890], ecx
mov rcx, qword [0x1402373e0]
and eax, dword [rcx + r10*4]
mov ecx, ebp
add eax, edx
shl eax, cl
mov word [rdi + r8*2], ax
jmp 0x1402073b5
mov rcx, r14
call fcn.140204a90
jmp 0x14020748a
mov r13d, 1
mov ecx, r10d
shl r13d, cl
mov dword [rsp + 0x68], r13d
mov word [rsp + 0x50], r13w
test eax, eax
jne 0x1402078dc
imul rbp, rdx, 0x690
mov qword [rsp + 0x70], r12
mov r12, rdi
mov rdi, r14
lea rax, [rbp + 0x48f0]
lea rbp, [rsp + rax]
imul rax, rdx, 0x1a4
mov qword [rsp + 0x78], rax
nop word [rax + rax]
mov eax, dword [rsp + 0x4894]
cmp eax, 0xf
jle 0x1402078ac
mov r9d, dword [rsp + 0x4890]
mov edx, r9d
shr edx, 0x17
movzx edx, byte [rdx + rbp - 0x2d38]
cmp edx, 0xff
je 0x14020783b
add rdx, rbp
movzx ecx, byte [rdx - 0x2838]
cmp ecx, eax
jg 0x140207adf
mov r11d, r9d
sub eax, ecx
movzx edx, byte [rdx - 0x2938]
shl r11d, cl
mov dword [rsp + 0x4894], eax
mov dword [rsp + 0x4890], r11d
mov r14d, edx
sar r14d, 4
and edx, 0xf
mov r15d, edx
jne 0x1402077fd
cmp r14d, 0xf
je 0x140207700
mov edx, 1
mov ecx, r14d
shl edx, cl
sub edx, 1
mov dword [rsp + 0x48b4], edx
test r14d, r14d
jne 0x140207986
mov r14d, 0x40
nop
mov ecx, dword [rsp + 0x48a8]
cmp ebx, ecx
jg 0x1402077f0
mov rax, rdi
movsxd rsi, ebx
mov edi, r14d
add rsi, qword [0x140237600]
mov r13, r12
mov r14, rax
jmp 0x140207768
mov eax, dword [rsp + 0x4894]
test eax, eax
jle 0x1402077c0
mov edx, dword [rsp + 0x4890]
sub eax, 1
mov dword [rsp + 0x4894], eax
lea r10d, [rdx + rdx]
mov dword [rsp + 0x4890], r10d
test edx, edx
js 0x140207798
add rsi, 1
cmp ebx, ecx
jg 0x14020778a
movzx eax, byte [rsi]
add ebx, 1
lea r12, [r13 + rax*2]
cmp word [r12], 0
jne 0x140207730
test edi, edi
je 0x1402077db
sub edi, 1
add rsi, 1
cmp ebx, ecx
jle 0x140207768
mov r12, qword [rsp + 0x70]
jmp 0x140207287
movzx eax, word [r12]
test word [rsp + 0x50], ax
jne 0x140207760
mov edx, dword [rsp + 0x68]
mov r10d, eax
sub r10d, edx
add edx, eax
test ax, ax
mov eax, r10d
cmovg eax, edx
mov word [r12], ax
jmp 0x140207760
mov rcx, r14
call fcn.140204a90
mov eax, dword [rsp + 0x4894]
mov ecx, dword [rsp + 0x48a8]
jmp 0x14020773f
mov rax, r12
mov rdi, r14
mov r12, r13
mov word [rax], r15w
cmp ecx, ebx
jge 0x140207660
mov r12, qword [rsp + 0x70]
mov r14, rdi
jmp 0x140207287
cmp r15d, 1
jne 0x140207adf
test eax, eax
je 0x1402078c0
movsx r15d, word [rsp + 0x50]
sub eax, 1
lea edx, [r11 + r11]
mov dword [rsp + 0x4894], eax
mov eax, r15d
mov dword [rsp + 0x4890], edx
neg eax
test r11d, r11d
cmovns r15d, eax
jmp 0x140207700
mov edx, r9d
shr edx, 0x10
cmp dword [rbp - 0x270c], edx
ja 0x140207a00
cmp edx, dword [rbp - 0x2708]
jb 0x140207a68
cmp edx, dword [rbp - 0x2704]
jb 0x140207ad4
cmp edx, dword [rbp - 0x2700]
jb 0x140207aee
cmp edx, dword [rbp - 0x26fc]
jb 0x140207af9
cmp edx, dword [rbp - 0x26f8]
jb 0x140207b3a
cmp edx, dword [rbp - 0x26f4]
jb 0x140207b2f
mov r8d, eax
mov r13, rdi
sub r8d, 0x10
mov dword [rsp + 0x4894], r8d
jmp 0x1402063b6
mov rcx, rdi
call fcn.140204a90
mov eax, dword [rsp + 0x4894]
jmp 0x140207670
mov rcx, rdi
call fcn.140204a90
mov r11d, dword [rsp + 0x4890]
mov eax, dword [rsp + 0x4894]
jmp 0x14020780f
mov edx, dword [rsp + 0x48a8]
sub eax, 1
mov dword [rsp + 0x48b4], eax
cmp edx, ebx
jl 0x140207287
mov ebp, dword [rsp + 0x68]
jmp 0x14020790c
add rbx, 1
cmp edx, ebx
jl 0x140207287
mov rax, qword [0x140237600]
movzx eax, byte [rbx + rax]
lea rsi, [rdi + rax*2]
cmp word [rsi], 0
je 0x140207900
mov eax, dword [rsp + 0x4894]
test eax, eax
jle 0x14020796e
mov ecx, dword [rsp + 0x4890]
sub eax, 1
mov dword [rsp + 0x4894], eax
lea r8d, [rcx + rcx]
mov dword [rsp + 0x4890], r8d
test ecx, ecx
jns 0x140207900
movzx eax, word [rsi]
test word [rsp + 0x50], ax
jne 0x140207900
mov r8d, eax
lea ecx, [rax + rbp]
sub r8d, ebp
test ax, ax
mov eax, r8d
cmovg eax, ecx
mov word [rsi], ax
jmp 0x140207900
mov rcx, r14
call fcn.140204a90
mov eax, dword [rsp + 0x4894]
mov edx, dword [rsp + 0x48a8]
jmp 0x14020792c
cmp r14d, eax
jg 0x140207b04
mov eax, dword [rsp + 0x4890]
mov ecx, r14d
mov rdx, qword [0x1402373d0]
sub dword [rsp + 0x4894], r14d
rol eax, cl
movsxd rcx, r14d
mov r14d, 0x40
mov ecx, dword [rdx + rcx*4]
mov edx, ecx
not edx
and edx, eax
and eax, ecx
add dword [rsp + 0x48b4], eax
mov dword [rsp + 0x4890], edx
jmp 0x140207700
mov rcx, r14
mov byte [rsp + 0x68], r8b
call fcn.140204a90
mov r11d, dword [rsp + 0x4894]
movzx r8d, byte [rsp + 0x68]
jmp 0x1402075ae
sub eax, 1
mov dword [rsp + 0x48b4], eax
jmp 0x140207287
mov r11d, 0xa
cmp r11d, eax
jg 0x140207adf
mov ecx, 0x20
mov rsi, qword [0x1402373d0]
mov edx, r9d
sub eax, r11d
sub ecx, r11d
mov dword [rsp + 0x4894], eax
shr edx, cl
movsxd rcx, r11d
and edx, dword [rsi + rcx*4]
mov rsi, qword [rsp + 0x78]
lea rcx, [rcx + rsi + 0x820]
add edx, dword [rsp + rcx*4 + 0x184]
mov ecx, r11d
shl r9d, cl
movsxd rdx, edx
mov dword [rsp + 0x4890], r9d
movzx edx, byte [rbp + rdx - 0x2938]
mov r11d, r9d
jmp 0x1402076c2
mov r11d, 0xb
jmp 0x140207a06
mov edx, 0xa
cmp edx, r11d
jg 0x1402071a6
mov ecx, 0x20
mov rsi, qword [rsp + 0x50]
mov eax, r8d
sub r11d, edx
sub ecx, edx
mov r9, qword [0x1402373d0]
mov dword [rsp + 0x4894], r11d
shr eax, cl
movsxd rcx, edx
and eax, dword [r9 + rcx*4]
lea rcx, [rcx + rsi + 0x820]
add eax, dword [rsp + rcx*4 + 0x184]
mov ecx, edx
shl r8d, cl
cdqe
mov dword [rsp + 0x4890], r8d
movzx esi, byte [rax + r13 - 0x2938]
jmp 0x14020745d
mov r11d, 0xc
jmp 0x140207a06
mov r13, rdi
jmp 0x1402063b6
mov edx, 0xb
jmp 0x140207a75
mov r11d, 0xd
jmp 0x140207a06
mov r11d, 0xe
jmp 0x140207a06
mov rcx, rdi
call fcn.140204a90
jmp 0x14020798f
mov edx, 0xc
jmp 0x140207a75
mov edx, 0xd
jmp 0x140207a75
mov edx, 0xe
jmp 0x140207a75
mov r11d, 0x10
jmp 0x140207a06
mov r11d, 0xf
jmp 0x140207a06
mov r15d, eax
mov eax, 1
mov ecx, r15d
shl eax, cl
mov dword [rsp + 0x48b4], eax
test r15d, r15d
jne 0x140207bf3
sub dword [rsp + 0x48b4], 1
jmp 0x140207287
mov edx, 0x10
jmp 0x140207a75
mov r13, r14
cmp al, 0xff
jne 0x140206961
mov rbx, qword [rsp + 0x170]
cmp qword [rbx + 0x10], 0
je 0x140207ba8
mov rcx, qword [rbx + 0x28]
call qword [rbx + 0x20]
test eax, eax
je 0x140207bbc
cmp dword [rbx + 0x30], 0
je 0x140206951
mov rax, qword [rbx + 0xc0]
cmp qword [rbx + 0xb8], rax
jae 0x140206951
mov rcx, qword [rsp + 0x170]
call fcn.140203e40
movzx eax, al
cmp eax, 0xff
je 0x140207c38
test eax, eax
je 0x140207b84
jmp 0x1402063b6
mov edx, 0xf
jmp 0x140207a75
mov r13, r14
movzx eax, byte [rsp + 0x4898]
jmp 0x140207b7c
cmp r15d, r11d
jg 0x140208182
mov eax, dword [rsp + 0x4890]
mov rdx, qword [0x1402373d0]
mov ecx, r15d
sub dword [rsp + 0x4894], r15d
rol eax, cl
movsxd rcx, r15d
mov ecx, dword [rdx + rcx*4]
mov edx, ecx
not edx
and edx, eax
and eax, ecx
add dword [rsp + 0x48b4], eax
mov dword [rsp + 0x4890], edx
jmp 0x140207b62
mov rcx, qword [rsp + 0x170]
call fcn.140203e40
mov byte [rsp + 0x4898], al
jmp 0x140206951
mov eax, dword [rsp + 0x48d0]
mov r13, r14
sub eax, 1
mov dword [rsp + 0x48d0], eax
test eax, eax
jle 0x1402080cd
add edi, 1
jmp 0x1402070d7
mov r14, r13
add esi, 1
jmp 0x1402070c5
or edx, dword [rsp + 0x48a4]
jne 0x1402063b6
test cl, cl
jne 0x1402063b6
mov eax, dword [rsp + 0x48cc]
mov dword [rsp + 0x48a8], 0x3f
mov dword [rsp + 0x489c], 0
mov dword [rsp + 0x47e8], 0
mov dword [rsp + 0x4788], 0
mov dword [rsp + 0x4728], 0
mov qword [rsp + 0x4890], 0
mov byte [rsp + 0x4898], 0xff
test eax, eax
je 0x1402081c5
mov dword [rsp + 0x48d0], eax
mov dword [rsp + 0x48b4], 0
xor r12d, r12d
cmp dword [rsp + 0x48b8], 1
mov r14, r13
mov r15d, r12d
je 0x140207eae
cmp dword [rsp + 0x4704], r15d
jle 0x140207be6
lea rax, [rsp + 0x178]
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x4700], eax
jle 0x1402080c4
mov qword [rsp + 0x60], 0
lea rbp, [rsp + 0xb0]
mov rax, qword [rsp + 0x60]
cmp dword [rsp + 0x48b8], eax
jle 0x1402080a1
movsxd rax, dword [r14 + rax*4 + 0x474c]
xor r12d, r12d
imul rdi, rax, 0x60
mov dword [rsp + 0x50], eax
cmp dword [rsp + rdi + 0x4718], 0
mov qword [rsp + 0x68], rdi
jle 0x140207ea3
lea r10, [rax + rax*2]
shl r10, 5
lea rax, [r10 + 0x48f0]
lea r13, [rsp + rax]
mov esi, dword [r13 - 0x1dc]
test esi, esi
jle 0x140207ea3
xor edi, edi
jmp 0x140207dfd
mov edx, dword [r13 - 0x1bc]
movsxd rsi, esi
mov r8, rbp
add edi, 1
imul ebx, edx
lea ecx, [rbx*8]
movsxd rcx, ecx
add rcx, rsi
add rcx, qword [r13 - 0x1b0]
call qword [rsp + 0x48d8]
mov esi, dword [r13 - 0x1dc]
cmp esi, edi
jle 0x140207e8c
movsxd rax, dword [r13 - 0x1cc]
movsxd rcx, dword [r13 - 0x1d4]
movsxd rdx, dword [r13 - 0x1d0]
mov ebx, dword [r13 - 0x1d8]
imul r8, rax, 0x690
shl rcx, 6
shl rax, 0xa
lea rcx, [r14 + rcx + 0x3488]
lea rax, [r14 + rax + 0x3588]
mov qword [rsp + 0x30], rcx
mov ecx, dword [rsp + 0x50]
imul rdx, rdx, 0x690
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x48]
imul ebx, r15d
imul esi, dword [rsp + 0x40]
mov dword [rsp + 0x28], ecx
mov rcx, r14
lea r9, [rax + r8]
mov rax, qword [rsp + 0x58]
add ebx, r12d
add esi, edi
lea r8, [rax + rdx]
mov rdx, rbp
shl esi, 3
call fcn.140205a50
test eax, eax
jne 0x140207dc0
jmp 0x1402071a6
mov rax, qword [rsp + 0x68]
add r12d, 1
cmp dword [rsp + rax + 0x4718], r12d
jg 0x140207da8
add qword [rsp + 0x60], 1
jmp 0x140207d5d
movsxd rax, dword [rsp + 0x48bc]
imul rdx, rax, 0x60
mov rbp, rax
lea rax, [rax + rax*2]
shl rax, 5
mov qword [rsp + 0x58], rax
mov esi, dword [rsp + rdx + 0x472c]
mov edx, dword [rsp + rdx + 0x4730]
lea r15d, [rsi + 7]
add edx, 7
mov esi, r15d
sar edx, 3
sar esi, 3
mov dword [rsp + 0x50], edx
mov dword [rsp + 0x40], esi
lea edx, [rsi - 1]
lea r14, [rdx*8 + 8]
cmp dword [rsp + 0x50], edi
jle 0x140207be9
cmp dword [rsp + 0x40], 0
jle 0x14020808c
mov rax, qword [rsp + 0x58]
xor ebx, ebx
lea r12, [rsp + 0x178]
lea rsi, [rsp + 0xb0]
add rax, 0x48f0
lea r15, [rsp + rax]
mov rax, r15
mov r15, r14
mov r14d, edi
mov rdi, rax
jmp 0x140207f4c
add rbx, 8
cmp r15, rbx
je 0x140208086
movsxd rax, dword [rdi - 0x1cc]
movsxd rcx, dword [rdi - 0x1d4]
movsxd rdx, dword [rdi - 0x1d0]
mov dword [rsp + 0x28], ebp
imul r8, rax, 0x690
shl rcx, 6
shl rax, 0xa
imul rdx, rdx, 0x690
lea rcx, [r13 + rcx + 0x3488]
lea rax, [r13 + rax + 0x3588]
mov qword [rsp + 0x30], rcx
mov rcx, r13
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x48]
lea r9, [rax + r8]
lea r8, [r12 + rdx]
mov rdx, rsi
call fcn.140205a50
test eax, eax
je 0x1402063b6
mov edx, dword [rdi - 0x1bc]
mov ecx, r14d
mov r8, rsi
imul ecx, edx
shl ecx, 3
movsxd rcx, ecx
add rcx, rbx
add rcx, qword [rdi - 0x1b0]
call qword [rsp + 0x48d8]
mov eax, dword [rsp + 0x48d0]
sub eax, 1
mov dword [rsp + 0x48d0], eax
test eax, eax
jg 0x140207f3f
cmp dword [rsp + 0x4894], 0x17
jle 0x140208094
movzx eax, byte [rsp + 0x4898]
lea edx, [rax + 0x30]
cmp dl, 7
ja 0x140207b7c
mov eax, dword [rsp + 0x48cc]
mov ecx, 0x7fffffff
mov dword [rsp + 0x489c], 0
mov dword [rsp + 0x47e8], 0
test eax, eax
mov dword [rsp + 0x4788], 0
cmove eax, ecx
add rbx, 8
mov dword [rsp + 0x4728], 0
mov qword [rsp + 0x4890], 0
mov byte [rsp + 0x4898], 0xff
mov dword [rsp + 0x48d0], eax
mov dword [rsp + 0x48b4], 0
cmp r15, rbx
jne 0x140207f4c
mov edi, r14d
mov r14, r15
add edi, 1
jmp 0x140207efb
mov rcx, r13
call fcn.140204a90
jmp 0x140208002
mov eax, dword [rsp + 0x48d0]
sub eax, 1
mov dword [rsp + 0x48d0], eax
test eax, eax
jle 0x1402081e0
add dword [rsp + 0x40], 1
jmp 0x140207d3b
add r15d, 1
jmp 0x140207d18
cmp dword [rsp + 0x4894], 0x17
jle 0x140208152
movzx eax, byte [rsp + 0x4898]
lea edx, [rax + 0x30]
cmp dl, 7
ja 0x140207b7c
mov eax, dword [rsp + 0x48cc]
mov dword [rsp + 0x489c], 0
mov dword [rsp + 0x47e8], 0
mov dword [rsp + 0x4788], 0
mov dword [rsp + 0x4728], 0
mov qword [rsp + 0x4890], 0
mov byte [rsp + 0x4898], 0xff
test eax, eax
jne 0x14020813b
mov eax, 0x7fffffff
mov dword [rsp + 0x48d0], eax
mov dword [rsp + 0x48b4], 0
jmp 0x140207c6d
mov rcx, r14
call fcn.140204a90
jmp 0x1402080d7
mov dword [rsp + 0x48d0], 0x7fffffff
mov dword [rsp + 0x48b4], 0
jmp 0x1402070b2
mov r13, r15
jmp 0x1402063b6
mov rcx, r14
call fcn.140204a90
jmp 0x140207bfc
movsxd rbx, ebp
lea esi, [rbp - 1]
imul rbx, rbx, 0x60
add rbx, r13
sub rbx, 0x60
cmp esi, 0xffffffff
je 0x1402063b6
mov rcx, qword [rbx + 0x45d8]
sub esi, 1
call sub.msvcrt.dll_free
mov qword [rbx + 0x45d8], 0
jmp 0x14020819c
mov dword [rsp + 0x48d0], 0x7fffffff
mov dword [rsp + 0x48b4], 0
jmp 0x140207d01
cmp dword [rsp + 0x4894], 0x17
jle 0x140208265
movzx eax, byte [rsp + 0x4898]
lea edx, [rax + 0x30]
cmp dl, 7
ja 0x140207b79
mov eax, dword [rsp + 0x48cc]
mov dword [rsp + 0x489c], 0
mov dword [rsp + 0x47e8], 0
mov dword [rsp + 0x4788], 0
mov dword [rsp + 0x4728], 0
mov qword [rsp + 0x4890], 0
mov byte [rsp + 0x4898], 0xff
test eax, eax
jne 0x14020824e
mov eax, 0x7fffffff
mov dword [rsp + 0x48d0], eax
mov dword [rsp + 0x48b4], 0
jmp 0x1402080ba
mov rcx, r14
call fcn.140204a90
jmp 0x1402081ea
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xf8
movups xmmword [rsp + 0xc0], xmm6
movups xmmword [rsp + 0xd0], xmm7
movups xmmword [rsp + 0xe0], xmm8
mov qword [rsp + 0x30], rdx
mov r12, rcx
mov rdi, rdx
mov rbx, r8
mov r15, r9
call fcn.140208280
test eax, eax
je 0x140208383
mov r9, r15
mov r8, rbx
mov rdx, rdi
mov rcx, r12
movups xmm6, xmmword [rsp + 0xc0]
movups xmm7, xmmword [rsp + 0xd0]
movups xmm8, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x1402062f0
mov rcx, r12
call fcn.1401fd8d0
movdqu xmm2, xmmword [r12 + 0xc8]
mov dword [rsp + 0x68], eax
movups xmmword [r12 + 0xb8], xmm2
test eax, eax
je 0x140208406
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0xa0], r12
call fcn.140209d60
test eax, eax
je 0x140208617
mov rax, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xb8]
xor ecx, ecx
mov qword [rsp + 0xb8], 0
mov edx, dword [rax + 0xc]
cmp edx, 4
jne 0x140208672
mov edx, dword [rax]
mov rdi, qword [rsp + 0x30]
mov dword [rdi], edx
mov edx, dword [rax + 4]
mov dword [rbx], edx
mov eax, dword [rax + 0xc]
mov dword [r15], eax
jmp 0x140208622
mov rcx, r12
call fcn.140203e40
cmp al, 0x42
je 0x140208570
movdqu xmm3, xmmword [r12 + 0xc8]
movups xmmword [r12 + 0xb8], xmm3
mov rcx, r12
call fcn.140203e40
cmp al, 0x47
je 0x1402086ae
movdqu xmm7, xmmword [r12 + 0xc8]
mov rcx, r12
movups xmmword [r12 + 0xb8], xmm7
call fcn.140203970
movdqu xmm2, xmmword [r12 + 0xc8]
movups xmmword [r12 + 0xb8], xmm2
cmp eax, 0x38425053
je 0x140208ace
xor esi, esi
lea rdi, [0x140231411]
mov rcx, r12
call fcn.140203e40
cmp al, byte [rdi + rsi]
jne 0x140208951
add rsi, 1
cmp rsi, 4
jne 0x14020847b
mov esi, 0x54
nop dword [rax + rax]
mov rcx, r12
call fcn.140203e40
sub esi, 1
jne 0x1402084a0
xor esi, esi
lea rdi, str.PICT
mov rcx, r12
call fcn.140203e40
cmp al, byte [rdi + rsi]
jne 0x140208951
add rsi, 1
cmp rsi, 4
jne 0x1402084b6
movdqu xmm5, xmmword [r12 + 0xc8]
mov esi, 0x5c
lea rdi, [r12 + 0x38]
mov rax, qword [r12 + 0xc8]
mov rdx, qword [r12 + 0xd0]
movups xmmword [r12 + 0xb8], xmm5
jmp 0x140208515
add rax, 1
mov qword [r12 + 0xb8], rax
sub esi, 1
je 0x14020875b
cmp rdx, rax
ja 0x140208500
mov ecx, dword [r12 + 0x30]
test ecx, ecx
je 0x14020850c
mov rdx, rdi
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
call qword [r12 + 0x10]
movsxd rdx, eax
lea rax, [r12 + 0x39]
test edx, edx
jne 0x140208753
mov dword [r12 + 0x30], 0
mov rdx, rax
mov byte [r12 + 0x38], 0
movq xmm0, rax
movq xmm3, rdx
punpcklqdq xmm0, xmm3
movups xmmword [r12 + 0xb8], xmm0
jmp 0x14020850c
mov rcx, r12
call fcn.140203e40
cmp al, 0x4d
jne 0x140208416
mov rcx, r12
call fcn.140203be0
mov rcx, r12
call fcn.140203840
mov rcx, r12
call fcn.140203840
mov rcx, r12
call fcn.140203be0
mov rcx, r12
call fcn.140203be0
movdqu xmm4, xmmword [r12 + 0xc8]
movups xmmword [r12 + 0xb8], xmm4
cmp eax, 0xc
je 0x1402085d8
cmp eax, 0x28
je 0x1402085d8
mov edx, eax
and edx, 0xffffffef
cmp edx, 0x6c
je 0x1402085d8
cmp eax, 0x38
jne 0x140208429
mov rdx, qword [rsp + 0x30]
mov r9, r15
mov r8, rbx
mov rcx, r12
movups xmm6, xmmword [rsp + 0xc0]
movups xmm7, xmmword [rsp + 0xd0]
movups xmm8, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x1401fc6a0
mov rcx, qword [rsp + 0xb8]
xor r13d, r13d
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0xa8]
call sub.msvcrt.dll_free
nop
movups xmm6, xmmword [rsp + 0xc0]
movups xmm7, xmmword [rsp + 0xd0]
mov rax, r13
movups xmm8, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [rax + 4]
mov r8d, 4
mov dword [rsp + 0x20], ecx
mov r9d, dword [rax]
mov rcx, r13
call fcn.1401fdd40
mov r13, rax
mov rax, qword [rsp + 0xa0]
mov dword [rax + 0xc], 4
test r13, r13
je 0x140208642
mov rcx, qword [rsp + 0xb8]
jmp 0x1402083ed
mov rcx, r12
call fcn.140203e40
cmp al, 0x49
jne 0x140208439
mov rcx, r12
call fcn.140203e40
cmp al, 0x46
jne 0x140208439
mov rcx, r12
call fcn.140203e40
cmp al, 0x38
jne 0x140208439
mov rcx, r12
call fcn.140203e40
sub eax, 0x37
test al, 0xfd
jne 0x140208439
mov rcx, r12
call fcn.140203e40
cmp al, 0x61
jne 0x140208439
mov rdx, qword [rsp + 0x30]
mov r9, r15
mov r8, rbx
mov rcx, r12
movdqu xmm6, xmmword [r12 + 0xc8]
movups xmmword [r12 + 0xb8], xmm6
movups xmm6, xmmword [rsp + 0xc0]
movups xmm7, xmmword [rsp + 0xd0]
movups xmm8, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x1402040b0
add rdx, rdi
jmp 0x140208557
mov rcx, r12
call fcn.140203710
mov rcx, r12
mov dword [rsp + 0x40], eax
call fcn.140203710
cmp qword [r12 + 0x10], 0
mov dword [rsp + 0x44], eax
je 0x140208795
mov rcx, qword [r12 + 0x28]
call qword [r12 + 0x20]
test eax, eax
je 0x1402087ab
cmp dword [r12 + 0x30], 0
je case.0x140209868.1
mov rax, qword [r12 + 0xc0]
cmp qword [r12 + 0xb8], rax
jae case.0x140209868.1
mov eax, 0x10000000
cdq
idiv dword [rsp + 0x40]
cmp dword [rsp + 0x44], eax
jg case.0x140209868.1
mov rcx, r12
xor edi, edi
lea r14, [r12 + 0x39]
call fcn.140203970
mov rcx, r12
call fcn.140203710
mov rcx, r12
call fcn.140203710
mov esi, dword [rsp + 0x40]
imul esi, dword [rsp + 0x44]
shl esi, 2
movsxd rsi, esi
mov rcx, rsi
call sub.msvcrt.dll_malloc
mov r8, rsi
mov edx, 0xff
mov rcx, rax
mov r13, rax
call sub.msvcrt.dll_memset
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x50], rax
mov rbp, rax
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x60], edi
mov rax, qword [r12 + 0xb8]
add edi, 1
cmp rax, qword [r12 + 0xc0]
jae 0x140208de2
lea rdx, [rax + 1]
mov qword [r12 + 0xb8], rdx
movzx ebx, byte [rax]
mov rax, qword [r12 + 0xb8]
cmp rax, qword [r12 + 0xc0]
jae 0x14020908f
lea rdx, [rax + 1]
mov qword [r12 + 0xb8], rdx
movzx esi, byte [rax]
mov rax, qword [r12 + 0xb8]
cmp rax, qword [r12 + 0xc0]
jae 0x140208e41
lea rcx, [rax + 1]
mov qword [r12 + 0xb8], rcx
movzx edx, byte [rax]
mov rax, rcx
mov byte [rbp + 1], dl
cmp rax, qword [r12 + 0xc0]
jae 0x140208d7a
lea rdx, [rax + 1]
mov qword [r12 + 0xb8], rdx
movzx eax, byte [rax]
or dword [rsp + 0x48], eax
cmp qword [r12 + 0x10], 0
mov byte [rbp + 2], al
je 0x1402088e3
mov rcx, qword [r12 + 0x28]
call qword [r12 + 0x20]
test eax, eax
je 0x1402088f5
cmp dword [r12 + 0x30], 0
je 0x140208910
mov rax, qword [r12 + 0xc0]
cmp qword [r12 + 0xb8], rax
jae 0x140208910
cmp sil, 8
jne 0x140208910
test bl, bl
je 0x140208ee5
add rbp, 3
cmp edi, 0xa
jne 0x140208825
mov rcx, r13
mov rbx, qword [rsp + 0x38]
xor r13d, r13d
call sub.msvcrt.dll_free
mov rax, qword [rsp + 0x30]
mov edi, dword [rsp + 0x40]
mov dword [rax], edi
mov eax, dword [rsp + 0x44]
mov dword [rbx], eax
jmp 0x140208642
movdqu xmm4, xmmword [r12 + 0xc8]
movups xmmword [r12 + 0xb8], xmm4
xor r13d, r13d
jmp 0x140208642
movdqu xmm4, xmmword [r12 + 0xc8]
mov rcx, r12
movups xmmword [r12 + 0xb8], xmm4
call fcn.140203e40
mov rcx, r12
mov esi, eax
call fcn.140203e40
cmp sil, 0x50
jne 0x140208c4a
sub eax, 0x35
mov rdx, qword [r12 + 0xd0]
movq xmm0, qword [r12 + 0xc8]
cmp al, 1
ja 0x140208c4a
movq xmm3, rdx
mov rcx, r12
punpcklqdq xmm0, xmm3
movups xmmword [r12 + 0xb8], xmm0
call fcn.140203e40
mov rcx, r12
mov esi, eax
call fcn.140203e40
cmp sil, 0x50
jne 0x140208936
lea edx, [rax - 0x35]
cmp dl, 1
ja 0x140208936
cmp al, 0x36
lea r13, [rsp + 0xa0]
mov rcx, r12
sete al
movzx eax, al
lea eax, [rax + rax + 1]
mov dword [r12 + 8], eax
call fcn.140203e40
mov rdx, r13
mov rcx, r12
mov byte [rsp + 0xa0], al
call fcn.14020d250
mov rdx, r13
mov rcx, r12
call fcn.14020d140
mov rdx, r13
mov rcx, r12
mov dword [r12], eax
call fcn.14020d250
mov rdx, r13
mov rcx, r12
call fcn.14020d140
mov rdx, r13
mov rcx, r12
mov dword [r12 + 4], eax
call fcn.14020d250
mov rdx, r13
mov rcx, r12
call fcn.14020d140
cmp eax, 0xff
jg case.0x140209868.1
mov eax, dword [r12]
mov rdi, qword [rsp + 0x30]
mov dword [rdi], eax
mov eax, dword [r12 + 4]
mov dword [rbx], eax
mov eax, dword [r12 + 8]
mov dword [r15], eax
mov ebx, dword [r12]
imul ebx, dword [r12 + 4]
imul ebx, eax
mov ecx, ebx
call sub.msvcrt.dll_malloc
mov r13, rax
test rax, rax
je case.0x140209868.1
mov rdx, rax
mov r8d, ebx
mov rcx, r12
call fcn.140203ff0
mov edx, dword [r12 + 8]
cmp edx, 4
je 0x140208642
mov eax, dword [r12 + 4]
mov rcx, r13
mov r8d, 4
mov dword [rsp + 0x20], eax
mov r9d, dword [r12]
call fcn.1401fdd40
mov r13, rax
jmp 0x140208642
mov rcx, r12
call fcn.140203970
cmp eax, 0x38425053
jne case.0x140209868.1
mov rcx, r12
call fcn.140203710
sub eax, 1
jne case.0x140209868.1
cmp qword [r12 + 0x10], 0
mov rax, qword [r12 + 0xb8]
je 0x140208b19
mov rdx, qword [r12 + 0xc0]
mov rcx, rdx
sub rcx, rax
cmp ecx, 5
jle 0x140208ec7
add rax, 6
mov qword [r12 + 0xb8], rax
mov rcx, r12
call fcn.140203710
mov dword [rsp + 0x38], eax
cmp eax, 0x10
ja case.0x140209868.1
mov rcx, r12
call fcn.140203970
mov rcx, r12
mov dword [rsp + 0x40], eax
call fcn.140203970
mov rcx, r12
mov dword [rsp + 0x44], eax
call fcn.140203710
mov dword [rsp + 0x48], eax
sub eax, 8
and eax, 0xfffffff7
jne case.0x140209868.1
mov rcx, r12
call fcn.140203710
cmp eax, 3
jne case.0x140209868.1
mov rcx, r12
call fcn.140203970
mov rcx, r12
mov edx, eax
call fcn.14020e5f0
mov rcx, r12
call fcn.140203970
mov rcx, r12
mov edx, eax
call fcn.14020e5f0
mov rcx, r12
call fcn.140203970
mov rcx, r12
mov edx, eax
call fcn.14020e5f0
mov rcx, r12
call fcn.140203710
mov esi, eax
cmp eax, 1
jg case.0x140209868.1
mov edi, dword [rsp + 0x40]
imul edi, dword [rsp + 0x44]
lea ecx, [rdi*4]
movsxd rcx, ecx
call sub.msvcrt.dll_malloc
mov r13, rax
test rax, rax
je case.0x140209868.1
xor ebp, ebp
test esi, esi
jne 0x140208fdb
lea r14, [r13 + rbp]
cmp dword [rsp + 0x38], ebp
jle 0x140208fbe
xor esi, esi
cmp dword [rsp + 0x48], 0x10
jne 0x140208c1f
jmp 0x140208fb5
mov rcx, r12
call fcn.140203e40
mov byte [r14 + rsi*4], al
add rsi, 1
cmp edi, esi
jg 0x140208c0f
add rbp, 1
cmp rbp, 4
jne 0x140208bf2
mov eax, dword [rsp + 0x40]
mov edi, dword [rsp + 0x44]
mov dword [r15], 4
mov dword [rbx], eax
mov rax, qword [rsp + 0x30]
mov dword [rax], edi
jmp 0x140208642
movdqu xmm2, xmmword [r12 + 0xc8]
lea rdi, str._RADIANCE_n
mov esi, 0x23
movups xmmword [r12 + 0xb8], xmm2
mov rcx, r12
call fcn.140203e40
movzx eax, al
cmp eax, esi
jne 0x140209046
movsx esi, byte [rdi + 1]
add rdi, 1
test sil, sil
jne 0x140208c69
mov rsi, qword [rsp + 0x30]
mov rcx, r12
mov r9, r15
mov r8, rbx
movdqu xmm2, xmmword [r12 + 0xc8]
mov rdx, rsi
movups xmmword [r12 + 0xb8], xmm2
call fcn.140204f70
mov edi, dword [rbx]
imul edi, dword [rsi]
mov r12, rax
lea ecx, [rdi*4]
movsxd rcx, ecx
call sub.msvcrt.dll_malloc
mov r13, rax
test rax, rax
je 0x140209039
movss xmm8, dword [0x1402317c0]
movss xmm6, dword [0x1402317c4]
xor ebx, ebx
movss xmm7, dword [0x1402317c8]
cmp edi, ebx
jle 0x140209039
mov rbp, rbx
lea r14, [r13 + rbx*4]
xor esi, esi
shl rbp, 4
lea r15, [r12 + rbp]
movss xmm1, dword [0x1402317bc]
movss xmm0, dword [r15 + rsi*4]
call fcn.1400121c0
pxor xmm1, xmm1
comiss xmm8, xmm0
ja 0x140208d32
mulss xmm0, xmm6
movups xmm1, xmm0
addss xmm1, xmm7
minss xmm1, xmm6
cvttss2si eax, xmm1
mov byte [r14 + rsi], al
add rsi, 1
cmp rsi, 3
jne 0x140208d0a
movss xmm1, dword [r12 + rbp + 0xc]
pxor xmm0, xmm0
comiss xmm8, xmm1
ja 0x140208d64
mulss xmm1, xmm6
movups xmm0, xmm1
addss xmm0, xmm7
minss xmm0, xmm6
cvttss2si eax, xmm0
mov byte [r13 + rbx*4 + 3], al
add rbx, 1
jmp 0x140208cf0
xor eax, eax
cmp dword [r12 + 0x30], 0
je 0x1402088be
lea rdx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov qword [rsp + 0x58], rdx
call qword [r12 + 0x10]
mov rdx, qword [rsp + 0x58]
test eax, eax
jne 0x1402090ea
mov dword [r12 + 0x30], 0
mov rax, r14
mov byte [r12 + 0x38], 0
movq xmm7, rax
movq xmm0, r14
movzx eax, byte [r12 + 0x38]
punpcklqdq xmm0, xmm7
movups xmmword [r12 + 0xb8], xmm0
jmp 0x1402088be
cmp dword [r12 + 0x30], 0
je 0x140208eae
lea rbx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rbx
call qword [r12 + 0x10]
test eax, eax
jne 0x140208ea4
mov dword [r12 + 0x30], 0
mov rax, r14
mov byte [r12 + 0x38], 0
movq xmm0, r14
movq xmm5, rax
movzx ebx, byte [r12 + 0x38]
punpcklqdq xmm0, xmm5
movups xmmword [r12 + 0xb8], xmm0
jmp 0x140208851
cmp dword [r12 + 0x30], 0
je 0x140208ec0
lea rdx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov qword [rsp + 0x58], rdx
call qword [r12 + 0x10]
mov rdx, qword [rsp + 0x58]
test eax, eax
jne 0x140208eb9
mov dword [r12 + 0x30], 0
mov rax, r14
mov byte [r12 + 0x38], 0
movq xmm5, rax
movq xmm0, r14
movzx edx, byte [r12 + 0x38]
punpcklqdq xmm0, xmm5
movups xmmword [r12 + 0xb8], xmm0
movq rax, xmm0
jmp 0x14020889e
cdqe
add rax, rbx
jmp 0x140208e1f
xor ebx, ebx
xor esi, esi
xor edx, edx
jmp 0x14020889e
cdqe
add rax, rdx
jmp 0x140208e7d
xor edx, edx
jmp 0x14020889e
mov qword [r12 + 0xb8], rdx
mov edx, 6
sub edx, ecx
mov rcx, qword [r12 + 0x28]
call qword [r12 + 0x18]
jmp 0x140208b25
mov eax, dword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov dword [rsp + 0x48], 0
lea r14, [rsp + 0x9c]
and eax, 0x10
cmp eax, 1
sbb eax, eax
add eax, 4
mov dword [r15], eax
mov eax, dword [rsp + 0x40]
mov r15, r13
shl eax, 2
cdqe
mov qword [rsp + 0x58], rax
movsxd rax, dword [rsp + 0x60]
lea rax, [rax + rax*2]
lea rax, [rdi + rax + 3]
mov qword [rsp + 0x60], rax
mov edi, dword [rsp + 0x48]
cmp dword [rsp + 0x44], edi
jle 0x14020921f
mov rsi, qword [rsp + 0x50]
movzx eax, byte [rsi + 1]
cmp al, 1
je 0x140209156
cmp al, 2
je 0x140209229
test al, al
jne 0x140208910
xor edi, edi
mov rbx, r15
jmp 0x140208f85
movzx edx, byte [rsi + 2]
mov r8, rbx
mov rcx, r12
call fcn.14020dc20
test rax, rax
je 0x140208910
add edi, 1
add rbx, 4
cmp dword [rsp + 0x40], edi
jg 0x140208f66
add rsi, 3
cmp rsi, qword [rsp + 0x60]
jne 0x140208f43
add dword [rsp + 0x48], 1
add r15, qword [rsp + 0x58]
jmp 0x140208f30
mov rcx, r12
call fcn.140203710
movzx eax, ah
mov byte [r14 + rsi*4], al
add rsi, 1
cmp edi, esi
jg 0x140208fa2
jmp 0x140208c23
cmp ebp, 3
sete dl
xor eax, eax
neg edx
jmp 0x140208fd2
mov byte [r14 + rax*4], dl
add rax, 1
cmp edi, eax
jg 0x140208fca
jmp 0x140208c23
mov edx, dword [rsp + 0x38]
imul edx, dword [rsp + 0x40]
mov rcx, r12
add edx, edx
call fcn.14020e5f0
mov qword [rsp + 0x48], rbx
mov rbx, r12
mov r12, rbp
lea rbp, [r13 + r12]
mov r8d, r12d
cmp dword [rsp + 0x38], r12d
jg 0x1402090fb
xor eax, eax
jmp 0x140209021
cmp r8d, 3
sete dl
neg edx
mov byte [rbp + rax*4], dl
add rax, 1
cmp edi, eax
jg 0x140209010
add r12, 1
cmp r12, 4
jne 0x140208ff9
mov rbx, qword [rsp + 0x48]
jmp 0x140208c2d
mov rcx, r12
call sub.msvcrt.dll_free
jmp 0x140208642
movdqu xmm3, xmmword [r12 + 0xc8]
mov rcx, r12
movups xmmword [r12 + 0xb8], xmm3
call fcn.140203e40
mov rcx, r12
call fcn.140203e40
movzx edi, al
mov esi, edi
cmp edi, 1
jle 0x14020938a
movdqu xmm7, xmmword [r12 + 0xc8]
movups xmmword [r12 + 0xb8], xmm7
jmp case.0x140209868.1
cmp dword [r12 + 0x30], 0
je 0x140208eb0
lea rsi, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rsi
call qword [r12 + 0x10]
test eax, eax
jne 0x1402090f4
mov dword [r12 + 0x30], 0
mov rax, r14
mov byte [r12 + 0x38], 0
movq xmm0, r14
movq xmm4, rax
movzx esi, byte [r12 + 0x38]
punpcklqdq xmm0, xmm4
movups xmmword [r12 + 0xb8], xmm0
jmp 0x140208876
cdqe
add rax, rdx
jmp 0x140208dc0
cdqe
add rax, rsi
jmp 0x1402090c8
xor r14d, r14d
cmp edi, r14d
jle 0x140209025
mov rcx, rbx
call fcn.140203e40
movzx esi, al
cmp al, 0x80
je 0x1402090fe
cmp esi, 0x7f
jle 0x140209be3
not eax
mov rcx, rbx
lea esi, [rax + 2]
movzx edx, sil
mov dword [rsp + 0x50], edx
call fcn.140203e40
mov edx, dword [rsp + 0x50]
mov ecx, eax
mov rax, rbp
add r14d, edx
mov byte [rax], cl
add rax, 4
sub edx, 1
jne 0x140209140
movzx esi, sil
lea rbp, [rbp + rsi*4]
jmp 0x1402090fe
mov edi, dword [rsp + 0x40]
mov rbp, r15
test edi, edi
jle 0x140208f8b
mov rcx, r12
call fcn.140203e40
cmp qword [r12 + 0x10], 0
mov ebx, eax
je 0x140209191
mov rcx, qword [r12 + 0x28]
call qword [r12 + 0x20]
test eax, eax
je 0x1402091a7
cmp dword [r12 + 0x30], 0
je 0x140208910
mov rax, qword [r12 + 0xc0]
cmp qword [r12 + 0xb8], rax
jae 0x140208910
movzx r9d, byte [rsi + 2]
movzx edx, bl
mov r8, r14
mov rcx, r12
cmp edi, edx
mov edx, r9d
mov dword [rsp + 0x68], r9d
cmovl ebx, edi
call fcn.14020dc20
mov r9d, dword [rsp + 0x68]
test rax, rax
je 0x140208910
xor r8d, r8d
mov rcx, rbp
movzx edx, bl
cmp edx, r8d
jle 0x140209210
xor eax, eax
mov r10d, pe_nt_image_headers64
test r9d, r10d
je 0x1402091f9
movzx r11d, byte [r14 + rax]
mov byte [rcx + rax], r11b
add rax, 1
sar r10d, 1
cmp rax, 4
jne 0x1402091eb
add r8d, 1
add rcx, 4
jmp 0x1402091de
movzx ebx, bl
sub edi, edx
lea rbp, [rbp + rbx*4]
jmp 0x14020915d
mov rbx, qword [rsp + 0x38]
jmp 0x140208920
mov edi, dword [rsp + 0x40]
mov rbx, r15
test edi, edi
jle 0x140208f8b
mov rcx, r12
call fcn.140203e40
cmp qword [r12 + 0x10], 0
movzx r8d, al
mov rdx, r8
je 0x14020927d
mov dword [rsp + 0x70], r8d
mov rcx, qword [r12 + 0x28]
mov byte [rsp + 0x68], r8b
call qword [r12 + 0x20]
movzx edx, byte [rsp + 0x68]
mov r8d, dword [rsp + 0x70]
test eax, eax
je 0x140209293
cmp dword [r12 + 0x30], 0
je 0x140208910
mov rax, qword [r12 + 0xc0]
cmp qword [r12 + 0xb8], rax
jae 0x140208910
cmp r8d, 0x7f
jle 0x140209336
lea ebp, [r8 - 0x7f]
cmp r8d, 0x80
je 0x140209327
cmp edi, ebp
jl 0x140208910
movzx r9d, byte [rsi + 2]
mov r8, r14
mov rcx, r12
mov edx, r9d
mov dword [rsp + 0x68], r9d
call fcn.14020dc20
test rax, rax
je 0x140208910
mov r9d, dword [rsp + 0x68]
xor ecx, ecx
mov rdx, rbx
cmp ebp, ecx
jle 0x14020930d
xor eax, eax
mov r8d, pe_nt_image_headers64
test r9d, r8d
je 0x1402092f7
movzx r10d, byte [r14 + rax]
mov byte [rdx + rax], r10b
add rax, 1
sar r8d, 1
cmp rax, 4
jne 0x1402092e9
add ecx, 1
add rdx, 4
jmp 0x1402092dd
test ebp, ebp
mov eax, 0
cmovns eax, ebp
cdqe
lea r9, [rbx + rax*4]
sub edi, ebp
mov rbx, r9
jmp 0x140209230
mov rcx, r12
call fcn.140203710
mov ebp, eax
jmp 0x1402092aa
lea ebp, [r8 + 1]
cmp edi, ebp
jl 0x140208910
lea r9, [rbx + rdx*4 + 4]
mov qword [rsp + 0x68], r14
mov r14, r13
mov r13d, ebp
mov ebp, edi
mov rdi, r9
movzx edx, byte [rsi + 2]
mov r8, rbx
mov rcx, r12
call fcn.14020dc20
test rax, rax
je 0x140209bb5
add rbx, 4
cmp rbx, rdi
jne 0x140209357
mov r9, rdi
mov edi, ebp
mov ebp, r13d
mov r13, r14
mov r14, qword [rsp + 0x68]
jmp 0x14020931d
mov rcx, r12
call fcn.140203e40
sub edi, 1
je 0x14020967c
and eax, 0xfffffff6
cmp al, 2
jne 0x140209077
cmp qword [r12 + 0x10], 0
mov rax, qword [r12 + 0xb8]
je 0x1402093cd
mov rdx, qword [r12 + 0xc0]
mov rcx, rdx
sub rcx, rax
cmp ecx, 8
jle 0x140209c3c
add rax, 9
mov qword [r12 + 0xb8], rax
mov rcx, r12
call fcn.140203840
test eax, eax
jle 0x140209077
mov rcx, r12
call fcn.140203840
test eax, eax
jle 0x140209077
mov rcx, r12
call fcn.140203e40
cmp al, 8
lea r8d, [rax - 8]
movzx edx, al
setne cl
and r8b, 0xf7
je 0x14020941d
and sil, 1
jne 0x140209077
cmp edx, 0xf
je 0x140209436
test cl, cl
je 0x140209436
sub eax, 0x18
test al, 0xf7
je 0x140209436
cmp edx, 0x10
jne 0x140209077
movdqu xmm6, xmmword [r12 + 0xc8]
mov rcx, r12
movups xmmword [r12 + 0xb8], xmm6
call fcn.140203e40
mov rcx, r12
movzx eax, al
mov dword [rsp + 0x48], eax
call fcn.140203e40
mov rcx, r12
movzx eax, al
mov dword [rsp + 0x70], eax
call fcn.140203e40
mov rcx, r12
movzx r13d, al
call fcn.140203840
mov rcx, r12
mov esi, eax
call fcn.140203840
mov rcx, r12
mov dword [rsp + 0x44], eax
call fcn.140203e40
mov rcx, r12
movzx edi, al
call fcn.140203840
mov rcx, r12
call fcn.140203840
mov rcx, r12
call fcn.140203840
mov rcx, r12
mov ebp, eax
call fcn.140203840
mov rcx, r12
mov dword [rsp + 0x38], eax
call fcn.140203e40
mov rcx, r12
mov r14d, eax
movzx eax, al
mov dword [rsp + 0x74], eax
call fcn.140203e40
cmp r13d, 7
jg 0x14020986a
mov dword [rsp + 0x50], 0
and eax, 0x20
cmp dword [rsp + 0x70], 0
mov byte [rsp + 0x7b], al
je 0x140209848
cmp dil, 0x10
ja 0x1402097bd
cmp dil, 0xe
ja 0x140209716
cmp dil, 8
jne case.0x140209868.1
mov rax, qword [rsp + 0x30]
movsxd rcx, ebp
mov dword [rax], ebp
movsxd rax, dword [rsp + 0x38]
mov dword [rbx], eax
imul rcx, rax
mov dword [r15], 1
call sub.msvcrt.dll_malloc
mov r13, rax
test rax, rax
je case.0x140209868.1
mov edx, dword [rsp + 0x48]
mov rcx, r12
call fcn.14020e5f0
mov edx, esi
mov rcx, r12
call fcn.14020e5f0
movsxd rcx, dword [rsp + 0x44]
mov rsi, rcx
call sub.msvcrt.dll_malloc
mov rbx, rax
test rax, rax
je 0x140209838
mov qword [rsp + 0x30], 1
mov r14d, 1
mov r8d, esi
mov rdx, rbx
mov rcx, r12
call fcn.140203ff0
test eax, eax
je 0x14020997f
movsxd rax, r14d
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x38]
mov qword [rsp + 0x60], r13
xor r15d, r15d
mov edx, 1
mov dword [rsp + 0x8c], ebp
imul eax, ebp
mov rbp, rbx
mov dword [rsp + 0x48], 0
mov rbx, r12
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x7c], eax
lea rax, [r12 + 0x39]
mov qword [rsp + 0x80], rax
jmp 0x140209636
test r15d, r15d
je 0x140209b53
cmp dword [rsp + 0x48], 0
je 0x14020964e
lea r12, [rsp + 0xa0]
mov eax, r14d
test edx, edx
jne 0x140209b4a
mov rdi, qword [rsp + 0x60]
mov rcx, rax
mov rsi, r12
mov rax, qword [rsp + 0x58]
rep movsb byte [rdi], byte [rsi]
add qword [rsp + 0x60], rax
sub r15d, 1
xor edx, edx
add dword [rsp + 0x88], 1
mov edi, dword [rsp + 0x88]
cmp dword [rsp + 0x7c], edi
jle 0x140209997
cmp dword [rsp + 0x50], 0
jne 0x1402095ee
cmp dword [rsp + 0x70], 0
jne 0x140209a5d
cmp dword [rsp + 0x40], 0
je 0x140209a20
lea r12, [rsp + 0xa0]
mov rcx, rbx
mov rdx, r12
call fcn.14020e6a0
mov eax, r14d
jmp 0x140209611
and eax, 0xfffffff7
sub al, 1
jne 0x140209077
cmp qword [r12 + 0x10], 0
mov rax, qword [r12 + 0xb8]
je 0x1402096ae
mov rdx, qword [r12 + 0xc0]
mov rcx, rdx
sub rcx, rax
cmp ecx, 3
jle 0x140209b79
add rax, 4
mov qword [r12 + 0xb8], rax
mov rcx, r12
call fcn.140203e40
movzx edx, al
cmp al, 8
je 0x1402096de
cmp edx, 0xf
je 0x1402096de
and eax, 0xfffffff7
cmp al, 0x10
je 0x1402096de
cmp edx, 0x20
jne 0x140209077
cmp qword [r12 + 0x10], 0
mov rax, qword [r12 + 0xb8]
je 0x140209705
mov rdx, qword [r12 + 0xc0]
mov rcx, rdx
sub rcx, rax
cmp ecx, 3
jle 0x140209b97
add rax, 4
mov qword [r12 + 0xb8], rax
jmp 0x1402093d9
mov rax, qword [rsp + 0x30]
movsxd rcx, ebp
mov dword [rax], ebp
movsxd rax, dword [rsp + 0x38]
imul rcx, rax
mov dword [rbx], eax
mov dword [r15], 3
lea rcx, [rcx + rcx*2]
call sub.msvcrt.dll_malloc
mov r13, rax
test rax, rax
je case.0x140209868.1
mov edx, dword [rsp + 0x48]
mov rcx, r12
call fcn.14020e5f0
mov edx, esi
mov rcx, r12
call fcn.14020e5f0
imul ecx, dword [rsp + 0x44], 3
movsxd rcx, ecx
call sub.msvcrt.dll_malloc
mov rbx, rax
test rax, rax
je 0x140209838
mov qword [rsp + 0x30], 3
mov rdi, rax
mov r14d, 3
xor esi, esi
mov qword [rsp + 0x58], 3
jmp 0x1402097a7
mov rdx, rbx
mov rcx, r12
add rbx, 3
add esi, 1
call fcn.14020e6a0
cmp dword [rsp + 0x44], esi
jg 0x140209795
mov dword [rsp + 0x40], 1
mov rbx, rdi
jmp 0x1402095a7
lea eax, [rdi - 0x18]
xor r13d, r13d
test al, 0xf7
jne 0x140208642
mov rax, qword [rsp + 0x30]
movsxd rcx, ebp
sar edi, 3
mov r14d, edi
mov dword [rax], ebp
movsxd rax, dword [rsp + 0x38]
imul rcx, rax
mov dword [rbx], eax
mov dword [r15], edi
movsxd rdi, edi
mov qword [rsp + 0x30], rdi
imul rcx, rdi
call sub.msvcrt.dll_malloc
mov r13, rax
test rax, rax
je case.0x140209868.1
mov edx, dword [rsp + 0x48]
mov rcx, r12
call fcn.14020e5f0
mov edx, esi
mov rcx, r12
call fcn.14020e5f0
mov esi, dword [rsp + 0x44]
imul esi, r14d
movsxd rcx, esi
call sub.msvcrt.dll_malloc
mov rbx, rax
test rax, rax
jne 0x140209581
mov rcx, r13
xor r13d, r13d
call sub.msvcrt.dll_free
jmp 0x140208642
sub r14d, 8
cmp r14b, 0x18
ja case.0x140209868.1
lea rdx, [0x140231428]
movzx r14d, r14b
movsxd rax, dword [rdx + r14*4]
add rax, rdx
jmp rax
mov dword [rsp + 0x50], 1
sub r13d, 8
jmp 0x1402094e6
mov r14d, dword [rsp + 0x74]
sar r14d, 3
je case.0x140209868.1
mov dword [rsp + 0x40], 0
jmp 0x1402098a5
xor eax, eax
cmp r13d, 3
setne al
mov dword [rsp + 0x40], eax
lea r14d, [rax + 2]
mov rax, qword [rsp + 0x30]
movsxd rcx, ebp
movsxd rdi, r14d
mov qword [rsp + 0x30], rdi
mov dword [rax], ebp
movsxd rax, dword [rsp + 0x38]
mov qword [rsp + 0x58], rdi
imul rcx, rax
mov dword [rbx], eax
mov dword [r15], r14d
imul rcx, rdi
call sub.msvcrt.dll_malloc
mov r13, rax
test rax, rax
je case.0x140209868.1
mov edx, dword [rsp + 0x48]
mov rcx, r12
call fcn.14020e5f0
cmp dword [rsp + 0x50], 0
jne 0x140209978
cmp dword [rsp + 0x40], 0
jne 0x140209978
mov edi, ebp
mov esi, 1
imul edi, r14d
jmp 0x140209932
cmp byte [rsp + 0x7b], 0
jne 0x140209915
mov eax, ebx
sub eax, esi
imul eax, ebp
mov r8d, edi
mov rcx, r12
add esi, 1
mov edx, eax
imul edx, r14d
movsxd rdx, edx
add rdx, r13
call fcn.140203ff0
mov ebx, dword [rsp + 0x38]
lea eax, [rsi - 1]
cmp ebx, eax
jg 0x14020990a
cmp r14d, 2
jle 0x140209b1f
mov edx, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x68]
mov rax, r13
imul edx, ebp
jmp 0x14020996f
movzx r8d, byte [rax]
movzx r9d, byte [rax + 2]
add ecx, 1
mov byte [rax], r9b
mov byte [rax + 2], r8b
add rax, qword [rsp + 0x30]
cmp edx, ecx
jg 0x140209957
jmp 0x140209b15
xor ebx, ebx
jmp 0x1402095a7
mov rcx, r13
xor r13d, r13d
call sub.msvcrt.dll_free
mov rcx, rbx
call sub.msvcrt.dll_free
jmp 0x140208642
cmp byte [rsp + 0x7b], 0
mov rbx, rbp
mov ebp, dword [rsp + 0x8c]
jne 0x140209af7
mov eax, dword [rsp + 0x7c]
mov r15d, ebp
mov esi, r14d
xor r11d, r11d
neg r15d
imul esi, ebp
xor edx, edx
xor r10d, r10d
sub eax, ebp
imul r15d, r14d
imul eax, r14d
movsxd r12, esi
movsxd r15, r15d
cdqe
cmp dword [rsp + 0x38], r10d
jle 0x140209af7
mov r8, rax
mov rcx, r11
add edx, esi
jmp 0x140209a09
movzx r9d, byte [r13 + rcx]
movzx edi, byte [r13 + r8]
mov byte [r13 + rcx], dil
add rcx, 1
mov byte [r13 + r8], r9b
add r8, 1
mov r9d, edx
sub r9d, ecx
test r9d, r9d
jg 0x1402099eb
add r10d, 2
add r11, r12
add rax, r15
jmp 0x1402099d6
xor esi, esi
lea r12, [rsp + 0xa0]
mov rax, qword [rbx + 0xb8]
cmp rax, qword [rbx + 0xc0]
jae 0x140209aa0
lea rdx, [rax + 1]
mov qword [rbx + 0xb8], rdx
movzx eax, byte [rax]
mov byte [r12 + rsi], al
add rsi, 1
cmp r14d, esi
jg 0x140209a2a
mov eax, r14d
jmp 0x140209611
cmp dword [rsp + 0x74], 8
mov rcx, rbx
je 0x140209a96
call fcn.140203840
cmp dword [rsp + 0x44], eax
jg 0x140209a74
xor eax, eax
imul eax, r14d
lea r12, [rsp + 0xa0]
mov rdi, r12
movsxd rsi, eax
mov eax, r14d
add rsi, rbp
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
jmp 0x140209611
call fcn.140203e40
movzx eax, al
jmp 0x140209a6c
xor eax, eax
cmp dword [rbx + 0x30], 0
je 0x140209a48
lea rdi, [rbx + 0x38]
mov rcx, qword [rbx + 0x28]
mov r8d, dword [rbx + 0x34]
mov rdx, rdi
call qword [rbx + 0x10]
test eax, eax
jne 0x140209b43
mov dword [rbx + 0x30], 0
mov rax, qword [rsp + 0x80]
mov byte [rbx + 0x38], 0
movq xmm0, qword [rsp + 0x80]
movq xmm5, rax
movzx eax, byte [rbx + 0x38]
punpcklqdq xmm0, xmm5
movups xmmword [rbx + 0xb8], xmm0
jmp 0x140209a48
test rbx, rbx
je 0x140209b04
mov rcx, rbx
call sub.msvcrt.dll_free
cmp r14d, 2
jle 0x140209b1f
cmp dword [rsp + 0x40], 0
je 0x140209947
cmp r14d, 4
je 0x140208642
mov eax, dword [rsp + 0x38]
mov rcx, r13
mov r9d, ebp
mov r8d, 4
mov edx, r14d
mov dword [rsp + 0x20], eax
call fcn.1401fdd40
mov r13, rax
jmp 0x140208642
cdqe
add rax, rdi
jmp 0x140209ad5
mov dword [rsp + 0x48], edx
jmp 0x14020964e
mov rcx, rbx
call fcn.140203e40
mov r15d, eax
movzx eax, al
and r15d, 0x7f
sar eax, 7
add r15d, 1
mov dword [rsp + 0x48], eax
movzx r15d, r15b
jmp 0x14020964e
mov qword [r12 + 0xb8], rdx
mov edx, 4
sub edx, ecx
mov rcx, qword [r12 + 0x28]
call qword [r12 + 0x18]
jmp 0x1402096ba
mov qword [r12 + 0xb8], rdx
mov edx, 4
sub edx, ecx
mov rcx, qword [r12 + 0x28]
call qword [r12 + 0x18]
jmp 0x1402093d9
mov r13, r14
jmp 0x140208910
mov dword [rsp + 0x40], 1
mov r14d, 3
jmp 0x1402098a5
mov dword [rsp + 0x40], 0
mov r14d, 1
jmp 0x1402098a5
add esi, 1
mov rdx, rbp
mov qword [rsp + 0x50], r15
mov r15, r13
mov dword [rsp + 0x58], esi
mov r13, r12
add r14d, esi
mov r12, rbp
mov ebp, edi
mov rdi, rbx
mov rbx, rdx
mov rcx, rdi
add rbx, 4
call fcn.140203e40
mov byte [rbx - 4], al
sub esi, 1
jne 0x140209c06
movsxd rsi, dword [rsp + 0x58]
mov rbx, rdi
mov edi, ebp
mov rbp, r12
mov r12, r13
mov r13, r15
mov r15, qword [rsp + 0x50]
lea rbp, [rbp + rsi*4]
jmp 0x1402090fe
mov qword [r12 + 0xb8], rdx
mov edx, 9
sub edx, ecx
mov rcx, qword [r12 + 0x28]
call qword [r12 + 0x18]
jmp 0x1402093d9