Function at 0x140010f70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x148
movsxd rdi, dword [rsp + 0x1b0]
mov rbp, rcx
mov qword [rsp + 0x88], rcx
mov r14, r9
mov ecx, 0x10030
mov qword [rsp + 0x118], r9
mov r15, r8
mov qword [rsp + 0x120], r8
mov rbx, rdx
mov qword [rsp + 0x130], rdx
xor esi, esi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
movsxd r14, dword [r14]
mov rcx, r15
add r14, rbx
mov qword [rsp + 0xa8], rax
add rcx, rdi
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0xc8], rbx
mov r12, rbx
mov qword [rsp + 0x100], r14
mov r13, rbx
mov qword [rsp + 0xb0], r15
lea r9, [r14 - 0xc]
mov qword [rsp + 0x110], r9
lea rdx, [r14 - 5]
mov qword [rsp + 0x58], rdx
test rax, rax
je 0x14001414f
mov rax, qword [rsp + 0x118]
movabs r8, 0x8080808080808081
mov r11d, dword [rsp + 0x1c8]
cmp r11d, 2
mov dword [rax], esi
lea rax, [rcx - 5]
cmovne rax, rcx
cmp qword [rsp + 0x1c0], 0x1000
mov ecx, 0xfff
mov qword [rsp + 0xd8], rax
cmovb rcx, qword [rsp + 0x1c0]
mov qword [rsp + 0x108], rcx
cmp rbx, r9
ja 0x140014068
lea rax, [rbp + 0x20000]
mov qword [rsp + 0xe0], rax
mov r8d, dword [rbp + 0x4001c]
mov eax, r12d
mov r11, qword [rbp + 0x40008]
sub eax, r13d
mov r13d, dword [rbp + 0x40018]
mov edi, r8d
mov dword [rsp + 0xa0], eax
mov r9, r12
mov eax, esi
mov qword [rsp + 0x90], r12
mov dword [rsp + 0x24], eax
lea ecx, [r8 + 0x10000]
mov dword [rsp + 0xe8], eax
mov rbx, rsi
mov dword [rsp + 0x60], eax
mov edx, r13d
mov dword [rsp + 0xec], eax
sub edx, r11d
mov rax, qword [rbp + 0x40028]
mov r14d, 3
mov rbp, qword [rbp + 0x40010]
mov qword [rsp + 0xb8], rax
lea r10d, [rdx + r12]
mov qword [rsp + 0x50], rbx
cmp ecx, r10d
mov dword [rsp + 0x34], r10d
lea eax, [r10 - 0xffff]
mov dword [rsp + 0x2c], r14d
cmovbe edi, eax
mov qword [rsp + 0x38], r11
xor ecx, ecx
mov dword [rsp + 0x20], edi
mov r10d, r12d
mov dword [rsp + 0x78], r13d
sub r10d, r12d
mov dword [rsp + 0x64], r8d
mov eax, r13d
mov qword [rsp + 0xc0], rbp
sub rax, r8
mov qword [rsp + 0xd0], r8
add rax, rbp
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x98], rax
mov r12d, esi
mov eax, dword [rsp + 0x1b8]
add r9d, edx
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x68], ecx
mov qword [rsp + 0x80], rcx
mov esi, dword [rax]
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x30], esi
mov r15, rax
mov edi, dword [rax + 0x40020]
cmp edi, r9d
jae 0x1400111f4
mov r8d, edi
mov esi, 0xffff
sub r8, r13
add r8, r11
nop word [rax + rax]
imul ecx, dword [r8], 0x9e3779b1
lea r8, [r8 + 1]
movzx eax, di
shr rcx, 0x11
lea rdx, [rcx*4]
mov ecx, edi
sub ecx, dword [rdx + r15]
cmp rcx, rsi
cmova rcx, rsi
mov word [r15 + rax*2 + 0x20000], cx
mov dword [rdx + r15], edi
inc edi
cmp edi, r9d
jb 0x1400111b0
mov r8d, dword [rsp + 0x64]
mov esi, dword [rsp + 0x30]
mov rax, qword [rsp + 0x48]
mov dword [r15 + 0x40020], r9d
movsxd rdi, r10d
mov r10d, dword [rsp + 0x20]
imul ecx, dword [rax], 0x9e3779b1
mov qword [rsp + 0x70], rdi
shr rcx, 0x11
mov r15d, dword [r15 + rcx*4]
cmp r15d, r10d
jb 0x14001179d
jmp 0x14001123e
mov r11, qword [rsp + 0x38]
mov esi, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x70]
mov eax, dword [rsp + 0x28]
test eax, eax
jle 0x140011798
xor r9d, r9d
dec eax
mov ebx, r9d
mov dword [rsp + 0x28], eax
cmp dword [rsp + 0x1e0], r9d
je 0x140011270
mov eax, dword [rsp + 0x34]
sub eax, r15d
cmp eax, 8
jb 0x140011643
cmp r15d, r13d
jb 0x1400113e0
mov r10, qword [rsp + 0x48]
mov eax, r13d
lea rdx, [r10 - 1]
movsxd rcx, r14d
mov ebp, r15d
sub rbp, rax
mov rax, rcx
sub rax, rdi
add rbp, r11
movzx eax, word [rax + rbp - 1]
cmp word [rcx + rdx], ax
jne 0x140011643
cmp dword [rbp], esi
jne 0x140011643
mov esi, r9d
test rdi, rdi
je 0x1400112f6
cmp r11, rbp
jns 0x1400112c4
mov eax, r10d
sub eax, r10d
jmp 0x1400112c9
mov eax, r11d
sub eax, ebp
movsxd r8, eax
test eax, eax
jns 0x1400112f6
mov rcx, rbp
mov edi, 1
sub rcx, r10
sub rdi, r10
nop
movzx eax, byte [rcx + rdx]
cmp byte [rdx], al
jne 0x1400112f6
dec rdx
dec esi
lea rax, [rdi + rdx]
cmp rax, r8
jg 0x1400112e0
mov r8, qword [rsp + 0x58]
lea rdi, [r10 + 4]
lea rcx, [rbp + 4]
mov rbx, rdi
lea rdx, [r8 - 7]
cmp rdi, rdx
jae 0x140011323
mov rax, qword [rdi]
xor rax, qword [rcx]
jne 0x1400113bc
lea rbx, [rdi + 8]
add rcx, 8
cmp rbx, rdx
jae 0x140011349
nop dword [rax + rax]
mov rax, qword [rbx]
xor rax, qword [rcx]
jne 0x1400113cd
add rbx, 8
add rcx, 8
cmp rbx, rdx
jb 0x140011330
lea rax, [r8 - 3]
cmp rbx, rax
jae 0x140011360
mov eax, dword [rbx]
cmp dword [rcx], eax
jne 0x140011360
add rbx, 4
add rcx, 4
lea rax, [r8 - 1]
cmp rbx, rax
jae 0x140011379
movzx eax, word [rbx]
cmp word [rcx], ax
jne 0x140011379
add rbx, 2
add rcx, 2
cmp rbx, r8
jae 0x140011388
movzx eax, byte [rbx]
cmp byte [rcx], al
jne 0x140011388
inc rbx
sub ebx, edi
sub ebx, esi
add ebx, 4
cmp ebx, r14d
jle 0x140011646
movsxd rax, esi
mov r14d, ebx
mov dword [rsp + 0x2c], ebx
lea rdx, [rax + rbp]
lea rcx, [rax + r10]
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x90], rcx
jmp 0x14001164c
mov rcx, rax
call fcn.140001010
mov r10, qword [rsp + 0x48]
mov ebx, eax
jmp 0x14001138a
mov rcx, rax
sub ebx, edi
call fcn.140001010
mov r10, qword [rsp + 0x48]
add ebx, eax
jmp 0x14001138a
mov r14d, r15d
lea eax, [r13 - 4]
sub r14d, r8d
add r14, rbp
cmp r15d, eax
ja 0x14001163e
cmp dword [r14], esi
jne 0x14001163e
mov r10, qword [rsp + 0x48]
mov ecx, r13d
mov r9, qword [rsp + 0x58]
sub ecx, r15d
add rcx, r10
mov rsi, r9
cmp rcx, r9
lea r8, [r10 + 4]
cmovbe rsi, rcx
mov rdi, r8
lea rcx, [r14 + 4]
lea rdx, [rsi - 7]
cmp r8, rdx
jae 0x140011444
mov rax, qword [rcx]
xor rax, qword [r8]
jne 0x140011567
lea rdi, [r8 + 8]
add rcx, 8
cmp rdi, rdx
jae 0x140011469
nop dword [rax]
mov rax, qword [rcx]
xor rax, qword [rdi]
jne 0x140011585
add rdi, 8
add rcx, 8
cmp rdi, rdx
jb 0x140011450
lea rax, [rsi - 3]
cmp rdi, rax
jae 0x140011480
mov eax, dword [rdi]
cmp dword [rcx], eax
jne 0x140011480
add rdi, 4
add rcx, 4
lea rax, [rsi - 1]
cmp rdi, rax
jae 0x140011499
movzx eax, word [rdi]
cmp word [rcx], ax
jne 0x140011499
add rdi, 2
add rcx, 2
cmp rdi, rsi
jae 0x1400114a8
movzx eax, byte [rdi]
cmp byte [rcx], al
jne 0x1400114a8
inc rdi
sub edi, r8d
lea ebx, [rdi + 4]
movsxd r8, ebx
add r8, r10
cmp r8, rsi
jne 0x14001154d
cmp rsi, r9
jae 0x14001154d
lea rdx, [r9 - 7]
mov rcx, r11
mov rdi, r8
cmp r8, rdx
jae 0x1400114e9
mov rcx, qword [r8]
xor rcx, qword [r11]
jne 0x1400115a6
lea rdi, [r8 + 8]
lea rcx, [r11 + 8]
cmp rdi, rdx
jae 0x140011509
nop
mov rax, qword [rdi]
xor rax, qword [rcx]
jne 0x1400115b9
add rdi, 8
add rcx, 8
cmp rdi, rdx
jb 0x1400114f0
lea rax, [r9 - 3]
cmp rdi, rax
jae 0x140011520
mov eax, dword [rdi]
cmp dword [rcx], eax
jne 0x140011520
add rdi, 4
add rcx, 4
lea rax, [r9 - 1]
cmp rdi, rax
jae 0x140011539
movzx eax, word [rdi]
cmp word [rcx], ax
jne 0x140011539
add rdi, 2
add rcx, 2
cmp rdi, r9
jae 0x140011548
movzx eax, byte [rdi]
cmp byte [rcx], al
jne 0x140011548
inc rdi
sub edi, r8d
add ebx, edi
xor edx, edx
cmp qword [rsp + 0x70], rdx
je 0x140011607
cmp rbp, r14
jns 0x1400115d5
mov eax, r10d
sub eax, r10d
jmp 0x1400115da
mov rcx, rax
call fcn.140001010
mov r11, qword [rsp + 0x38]
mov edi, eax
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
jmp 0x1400114ab
mov rcx, rax
sub edi, r8d
call fcn.140001010
mov r11, qword [rsp + 0x38]
add edi, eax
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x48]
jmp 0x1400114ab
call fcn.140001010
mov r11, qword [rsp + 0x38]
mov edi, eax
mov r10, qword [rsp + 0x48]
jmp 0x14001154b
mov rcx, rax
sub edi, r8d
call fcn.140001010
mov r11, qword [rsp + 0x38]
add edi, eax
mov r10, qword [rsp + 0x48]
jmp 0x14001154b
mov eax, ebp
sub eax, r14d
movsxd r8, eax
test eax, eax
jns 0x140011607
sub r14, r10
lea rcx, [r10 - 1]
mov edi, 1
sub rdi, r10
movzx eax, byte [r14 + rcx]
cmp byte [rcx], al
jne 0x140011607
dec rcx
dec edx
lea rax, [rcx + rdi]
cmp rax, r8
jg 0x1400115f0
mov r14d, dword [rsp + 0x2c]
sub ebx, edx
cmp ebx, r14d
jle 0x140011646
mov r14d, ebx
mov dword [rsp + 0x2c], ebx
movsxd rax, edx
mov ebx, r15d
mov ecx, r13d
sub rbx, rcx
add rbx, rax
add rbx, r11
add rax, r10
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x90], rax
jmp 0x14001164c
mov r14d, dword [rsp + 0x2c]
cmp ebx, r14d
jne 0x1400116d7
lea eax, [r15 + r14]
cmp eax, dword [rsp + 0x34]
ja 0x1400116d7
lea r11d, [r14 - 3]
xor r9d, r9d
mov ebx, 0x10
mov r10d, 1
mov edi, ebx
test r11d, r11d
jle 0x1400116d7
mov r13, qword [rsp + 0xe0]
nop dword [rax + rax]
mov edx, edi
lea eax, [r15 + r9]
movzx eax, ax
inc edi
sar edx, 4
movzx ecx, word [r13 + rax*2]
mov eax, r9d
cmp ecx, r10d
mov r8d, ecx
cmovbe r8d, r10d
cmovbe eax, r12d
cmova edi, ebx
mov r12d, eax
add r9d, edx
mov r10d, r8d
cmp r9d, r11d
jl 0x140011680
mov r13d, dword [rsp + 0x78]
cmp r8d, 1
jbe 0x1400116d7
mov r10d, dword [rsp + 0x20]
cmp r8d, r15d
ja 0x140011798
sub r15d, r8d
jmp 0x14001177d
mov r9, qword [rsp + 0xe0]
movzx ebx, r15w
cmp word [r9 + rbx*2], 1
jne 0x140011769
test r12d, r12d
jne 0x140011769
mov edi, dword [rsp + 0x68]
lea esi, [r15 - 1]
test edi, edi
jne 0x140011936
mov r8d, dword [rsp + 0x30]
mov eax, r8d
shr eax, 0x18
mov edx, r8d
cmp r8b, al
movzx eax, r8w
sete dil
xor ecx, ecx
shr edx, 0x10
cmp eax, edx
sete cl
test ecx, edi
je 0x140011761
mov rcx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x58]
add rcx, 4
mov rdx, rbp
mov dword [rsp + 0x68], 2
call fcn.14000af50
mov r9, qword [rsp + 0xe0]
mov r14d, eax
add r14, 4
mov qword [rsp + 0x80], r14
jmp 0x14001194c
mov dword [rsp + 0x68], 1
mov r10d, dword [rsp + 0x20]
add bx, r12w
movzx eax, bx
movzx ecx, word [r9 + rax*2]
sub r15d, ecx
mov rbp, qword [rsp + 0xc0]
mov r14d, dword [rsp + 0x2c]
mov r8d, dword [rsp + 0x64]
cmp r15d, r10d
jae 0x140011230
mov rbx, qword [rsp + 0x50]
cmp dword [rsp + 0x1d8], 1
jne 0x140011c13
mov edx, dword [rsp + 0x28]
test edx, edx
jle 0x140011c13
mov r13d, dword [rsp + 0x34]
mov r15d, 0xffff
mov r12, qword [rsp + 0x48]
mov eax, r13d
sub eax, r10d
cmp eax, r15d
jae 0x140011c18
mov r11, qword [rsp + 0xb8]
imul ecx, dword [r12], 0x9e3779b1
mov eax, dword [r11 + 0x40018]
mov rbp, qword [r11 + 0x40000]
sub rbp, qword [r11 + 0x40008]
add rbp, rax
shr rcx, 0x11
sub r10d, ebp
mov eax, r13d
mov esi, dword [r11 + rcx*4]
add r10d, esi
sub eax, r10d
mov dword [rsp + 0x20], r10d
cmp eax, r15d
ja 0x140011c18
mov r15, qword [rsp + 0x38]
nop word [rax + rax]
mov eax, edx
dec edx
mov dword [rsp + 0x28], edx
test eax, eax
je 0x140011c18
mov eax, dword [r11 + 0x40018]
mov rbx, qword [r11 + 0x40008]
sub rbx, rax
mov ecx, esi
mov eax, dword [rsp + 0x30]
add rbx, rcx
cmp dword [rbx], eax
jne 0x140011bd8
mov r8, qword [rsp + 0x58]
lea r9, [r12 + 4]
mov rax, rbp
mov rdi, r9
sub rax, rcx
lea rcx, [rax + r12]
cmp rcx, r8
cmovbe r8, rcx
lea rcx, [rbx + 4]
lea rdx, [r8 - 7]
cmp r9, rdx
jae 0x1400118a1
mov rax, qword [rcx]
xor rax, qword [r9]
jne 0x140011b3c
lea rdi, [r9 + 8]
add rcx, 8
cmp rdi, rdx
jae 0x1400118c9
nop word [rax + rax]
mov rax, qword [rcx]
xor rax, qword [rdi]
jne 0x140011b58
add rdi, 8
add rcx, 8
cmp rdi, rdx
jb 0x1400118b0
lea rax, [r8 - 3]
cmp rdi, rax
jae 0x1400118e0
mov eax, dword [rdi]
cmp dword [rcx], eax
jne 0x1400118e0
add rdi, 4
add rcx, 4
lea rax, [r8 - 1]
cmp rdi, rax
jae 0x1400118f9
movzx eax, word [rdi]
cmp word [rcx], ax
jne 0x1400118f9
add rdi, 2
add rcx, 2
cmp rdi, r8
jae 0x140011908
movzx eax, byte [rdi]
cmp byte [rcx], al
jne 0x140011908
inc rdi
sub edi, r9d
cmp qword [rsp + 0x70], 0
lea r9d, [rdi + 4]
je 0x140011ba8
mov rcx, qword [r11 + 0x40008]
xor edi, edi
cmp rcx, rbx
mov edx, edi
jns 0x140011b77
mov ecx, edi
jmp 0x140011b79
cmp edi, 2
jne 0x140011769
mov r14, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x58]
cmp esi, dword [rsp + 0x20]
jb 0x140011769
mov eax, r13d
sub eax, esi
dec eax
cmp eax, 3
jb 0x140011769
mov rax, qword [rsp + 0x38]
mov rdi, qword [rsp + 0xc0]
sub rdi, qword [rsp + 0xd0]
mov r8d, dword [rsp + 0x30]
mov ecx, r13d
sub rax, rcx
cmp esi, r13d
cmovae rdi, rax
mov eax, esi
add rdi, rax
cmp dword [rdi], r8d
jne 0x140011769
cmp esi, r13d
lea rcx, [rdi + 4]
cmovb rbp, qword [rsp + 0x98]
mov rdx, rbp
call fcn.14000af50
mov ebx, eax
add rbx, 4
cmp esi, r13d
jae 0x1400119f8
lea rax, [rbx + rdi]
cmp rax, rbp
mov ebp, dword [rsp + 0x30]
jne 0x1400119fc
mov rax, rbx
mov r8d, ebp
and eax, 3
shl rax, 3
test rax, rax
je 0x1400119e2
mov ecx, eax
rol r8d, cl
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
call fcn.14000af50
mov eax, eax
add rbx, rax
jmp 0x1400119fc
mov ebp, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
cmp esi, r13d
mov r15, qword [rsp + 0xc0]
mov r8d, ebp
cmovb rdx, r15
mov rcx, rdi
call fcn.14000afb0
mov r11, qword [rsp + 0x38]
mov ebp, eax
cmp esi, r13d
jb 0x140011a6a
sub rdi, rbp
cmp rdi, r11
jne 0x140011a6a
cmp dword [rsp + 0x64], r13d
jae 0x140011a6a
mov r8d, dword [rsp + 0x30]
mov eax, ebp
neg eax
and eax, 3
shl rax, 3
test rax, rax
je 0x140011a50
mov ecx, eax
rol r8d, cl
mov rcx, qword [rsp + 0x98]
mov rdx, r15
call fcn.14000afb0
mov r11, qword [rsp + 0x38]
mov eax, eax
add rbp, rax
mov r10d, dword [rsp + 0x20]
mov edx, esi
mov r15d, esi
sub r15d, ebp
cmp r15d, r10d
cmovbe r15d, r10d
sub edx, r15d
add rdx, rbx
cmp rdx, r14
jb 0x140011aa9
cmp rbx, r14
ja 0x140011aa9
sub ebx, r14d
mov eax, r13d
lea r15d, [rbx + rsi]
sub eax, r15d
dec eax
cmp eax, 3
cmovb r15d, r13d
jmp 0x14001177d
mov eax, r13d
sub eax, r15d
dec eax
cmp eax, 3
jae 0x140011abe
mov r15d, r13d
jmp 0x14001177d
cmp qword [rsp + 0x70], 0
jne 0x14001177d
cmp rdx, r14
mov rcx, r14
movsxd r14, dword [rsp + 0x2c]
cmovb rcx, rdx
cmp r14, rcx
jae 0x140011b1e
mov r8, qword [rsp + 0x48]
mov r9d, 0xffff
mov edx, r15d
mov eax, r13d
sub rax, rdx
mov edi, r13d
sub rax, r11
add rax, r8
cmp rax, r9
ja 0x140011798
sub rdx, rdi
mov dword [rsp + 0x2c], ecx
add rdx, r11
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x50], rdx
mov r14d, ecx
mov rcx, qword [rsp + 0xe0]
movzx eax, r15w
movzx ecx, word [rcx + rax*2]
cmp ecx, r15d
ja 0x140011798
jmp 0x14001177a
mov rcx, rax
call fcn.140001010
mov r10d, dword [rsp + 0x20]
mov edi, eax
mov r11, qword [rsp + 0xb8]
jmp 0x14001190b
mov rcx, rax
sub edi, r9d
call fcn.140001010
mov r10d, dword [rsp + 0x20]
add edi, eax
mov r11, qword [rsp + 0xb8]
jmp 0x14001190b
sub ecx, ebx
movsxd r8, ecx
test ecx, ecx
jns 0x140011baa
sub rbx, r12
lea rcx, [r12 - 1]
mov edi, 1
sub rdi, r12
movzx eax, byte [rbx + rcx]
cmp byte [rcx], al
jne 0x140011baa
dec rcx
dec edx
lea rax, [rcx + rdi]
cmp rax, r8
jg 0x140011b90
jmp 0x140011baa
xor edx, edx
sub r9d, edx
cmp r9d, r14d
jle 0x140011bdf
movsxd rax, edx
mov r14d, r9d
mov ebx, r10d
sub rbx, qword [rsp + 0x40]
add rbx, r15
add rbx, rax
add rax, r12
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x90], rax
jmp 0x140011be4
mov rbx, qword [rsp + 0x50]
jmp 0x140011be8
mov rbx, qword [rsp + 0x50]
mov edx, dword [rsp + 0x28]
movzx eax, si
movzx ecx, word [r11 + rax*2 + 0x20000]
mov eax, r13d
sub r10d, ecx
sub esi, ecx
sub eax, r10d
mov dword [rsp + 0x20], r10d
mov ecx, 0xffff
cmp eax, ecx
jbe 0x140011830
jmp 0x140011c18
mov r12, qword [rsp + 0x48]
cmp r14d, 3
jle 0x140011c67
cmp dword [rsp + 0x1e0], 0
je 0x140011c45
xor eax, eax
cmp r14d, 0x24
mov ecx, eax
setle cl
cmp r14d, 0x12
setg al
test eax, ecx
mov eax, 0x12
cmovne r14d, eax
mov esi, dword [rsp + 0x90]
mov r9d, r14d
sub esi, ebx
mov dword [rsp + 0x60], r14d
mov dword [rsp + 0xe8], esi
mov dword [rsp + 0xec], r14d
jmp 0x140011c6e
mov esi, dword [rsp + 0x24]
mov r9d, esi
mov rbp, qword [rsp + 0xe8]
shr rbp, 0x20
test ebp, ebp
jne 0x140011c8d
inc r12
mov qword [rsp + 0x48], r12
xor esi, esi
jmp 0x140013e77
movsxd r14, ebp
cmp r14, qword [rsp + 0x108]
jbe 0x140011e46
mov r10, qword [rsp + 0xb0]
mov r9, r12
mov r13, qword [rsp + 0xc8]
movabs rdi, 0x8080808080808081
mov r11d, dword [rsp + 0x1c8]
sub r9, r13
movsxd rax, esi
mov rsi, r12
sub rsi, rax
lea rbx, [r10 + 1]
mov r8, rbx
test r11d, r11d
je 0x140011cfd
mov rax, rdi
mul r9
lea rax, [rbx + 8]
shr rdx, 7
add rdx, r9
add rax, rdx
cmp rax, qword [rsp + 0xd8]
ja 0x140013eb5
cmp r9, 0xf
jb 0x140011d48
lea r11, [r9 - 0xf]
mov byte [r10], 0xf0
cmp r11, 0xff
jb 0x140011d38
mov rax, rdi
mov rdi, r8
mul r11
mov eax, 0xff
shr rdx, 7
mov rcx, rdx
add r8, rdx
rep stosb byte [rdi], al
imul rax, rdx, 0xffffffffffffff01
add r11, rax
mov byte [r8], r11b
inc r8
mov r11d, dword [rsp + 0x1c8]
jmp 0x140011d52
movzx eax, r9b
shl al, 4
mov byte [r10], al
mov rcx, r13
lea r15, [r9 + r8]
sub rcx, r8
nop dword [rax]
mov rax, qword [r8 + rcx]
mov qword [r8], rax
add r8, 8
cmp r8, r15
jb 0x140011d60
movzx eax, r12w
lea rcx, [r14 - 4]
sub ax, si
movabs rdi, 0x8080808080808081
mov word [r15], ax
add r15, 2
mov qword [rsp + 0xb0], r15
test r11d, r11d
je 0x140011db9
mov rax, rdi
mul rcx
shr rdx, 7
lea rax, [rdx + 6]
add rax, r15
cmp rax, qword [rsp + 0xd8]
ja 0x140013eb5
movzx eax, byte [r10]
cmp rcx, 0xf
jb 0x140011e27
add al, 0xf
sub rcx, 0xf
mov byte [r10], al
cmp rcx, 0x1fe
jb 0x140011e00
mov rax, rdi
mul rcx
shr rdx, 8
imul rax, rdx, 0xfffffffffffffe02
add rcx, rax
nop dword [rax]
mov word [r15], 0xffff
add r15, 2
sub rdx, 1
jne 0x140011df0
cmp rcx, 0xff
jb 0x140011e17
sub rcx, 0xff
mov byte [r15], 0xff
inc r15
mov byte [r15], cl
inc r15
mov qword [rsp + 0xb0], r15
jmp 0x140011e2c
add cl, al
mov byte [r10], cl
add r12, r14
mov qword [rsp + 0x48], r12
mov r13, r12
mov qword [rsp + 0xc8], r12
xor esi, esi
jmp 0x140013e8f
mov ebx, dword [rsp + 0xa0]
mov eax, ebx
cmp ebx, 0xf
jl 0x140011e6f
lea ecx, [rbx - 0xf]
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rbx + 1]
add eax, edx
mov r14, qword [rsp + 0xa8]
xor r13d, r13d
mov dword [r14], eax
lea eax, [rbx + 1]
mov dword [r14 + 8], 1
mov edi, eax
mov dword [r14 + 4], r13d
mov dword [r14 + 0xc], ebx
cmp eax, 0xf
jl 0x140011eb2
lea ecx, [rbx - 0xe]
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rbx + 2]
add eax, edx
mov dword [r14 + 0x10], eax
lea eax, [rbx + 2]
mov dword [r14 + 0x1c], edi
mov edi, eax
mov dword [r14 + 0x18], 1
mov dword [r14 + 0x14], r13d
cmp eax, 0xf
jl 0x140011eeb
lea ecx, [rbx - 0xd]
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rbx + 3]
add eax, edx
mov dword [r14 + 0x20], eax
lea eax, [rbx + 3]
mov dword [r14 + 0x2c], edi
mov edi, eax
mov dword [r14 + 0x28], 1
mov dword [r14 + 0x24], r13d
cmp eax, 0xf
jl 0x140011f24
lea ecx, [rbx - 0xc]
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rbx + 4]
add eax, edx
mov r8d, 4
movsxd r11, r9d
mov dword [r14 + 0x38], 1
mov dword [r14 + 0x34], r13d
mov dword [r14 + 0x3c], edi
mov dword [r14 + 0x30], eax
cmp r11, r8
jl 0x140011fb6
lea rdi, [r14 + 0x44]
lea r10, [r11 - 3]
nop
mov r9d, ebx
cmp ebx, 0xf
jl 0x140011f75
lea ecx, [rbx - 0xf]
mov eax, 0x80808081
imul ecx
lea r9d, [rbx + 1]
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add r9d, edx
add r9d, 3
cmp r8d, 0x13
jl 0x140011f9c
lea ecx, [r8 - 0x13]
mov eax, 0x80808081
imul ecx
inc r9d
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add r9d, edx
mov dword [rdi + 4], r8d
inc r8d
mov dword [rdi], esi
mov dword [rdi + 8], ebx
mov dword [rdi - 4], r9d
add rdi, 0x10
sub r10, 1
jne 0x140011f50
mov ebx, dword [rsp + 0x60]
lea rcx, [r11 + 1]
shl rcx, 4
mov rdx, r11
add rcx, r14
add rdx, rdx
mov dword [rcx + 8], 1
mov dword [rcx + 4], r13d
mov dword [rcx + 0xc], 1
mov eax, dword [r14 + rdx*8]
inc eax
mov dword [rcx + 0x18], 1
mov dword [rcx], eax
mov dword [rcx + 0x14], r13d
mov dword [rcx + 0x1c], 2
mov eax, dword [r14 + rdx*8]
add eax, 2
mov dword [rcx + 0x28], 1
mov dword [rcx + 0x10], eax
lea rax, [r11 + 3]
add rax, rax
mov dword [rcx + 0x24], r13d
mov dword [rcx + 0x2c], 3
mov r11, r14
mov ecx, dword [r14 + rdx*8]
add ecx, 3
mov dword [r14 + rax*8], ecx
mov r14d, 1
mov dword [rsp + 0x68], r14d
mov r12d, r14d
mov qword [rsp + 0xc0], r14
cmp ebx, r14d
jle 0x140013c14
nop word [rax + rax]
movsxd r9, r14d
add r9, qword [rsp + 0x48]
mov qword [rsp + 0x40], r9
cmp r9, qword [rsp + 0x110]
ja 0x140013c14
mov r8d, dword [rsp + 0x1d0]
mov rcx, r12
shl rcx, 4
mov qword [rsp + 0xb8], rcx
mov eax, dword [rcx + r11]
test r8d, r8d
je 0x1400120a9
cmp dword [rcx + r11 + 0x10], eax
jg 0x1400120b4
lea rcx, [r12 + 4]
add eax, 3
add rcx, rcx
cmp dword [r11 + rcx*8], eax
jl 0x140013bf8
jmp 0x1400120b4
cmp dword [rcx + r11 + 0x10], eax
jle 0x140013bf8
mov rcx, qword [rsp + 0x88]
mov r12d, r13d
mov dword [rsp + 0x78], r13d
mov r11d, dword [rcx + 0x4001c]
mov r15d, dword [rcx + 0x40018]
mov rax, qword [rcx + 0x40028]
mov esi, r15d
mov rdi, qword [rcx + 0x40008]
mov r10, qword [rcx + 0x40010]
lea edx, [r11 + 0x10000]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x64], r11d
mov qword [rsp + 0x98], r10
test r8d, r8d
je 0x140012ca4
mov r14d, r15d
mov qword [rsp + 0xa0], r15
sub r14d, edi
mov qword [rsp + 0xf0], 0
add r14d, r9d
mov ecx, r11d
cmp edx, r14d
mov dword [rsp + 0x34], r14d
mov edx, dword [rsp + 0x1b8]
mov rbx, r13
mov ebp, 3
mov qword [rsp + 0x80], rbx
lea eax, [r14 - 0xffff]
mov dword [rsp + 0x24], ebp
cmovbe ecx, eax
mov dword [rsp + 0x2c], edx
mov rax, r10
mov dword [rsp + 0x28], ecx
mov r10d, r9d
sub rax, r11
mov r11d, dword [r9]
sub r10d, r9d
sub r9d, edi
mov dword [rsp + 0x20], r11d
add rax, r15
add r9d, r15d
mov r15, qword [rsp + 0x88]
mov qword [rsp + 0x90], rax
mov edi, dword [r15 + 0x40020]
cmp edi, r9d
jae 0x140012204
mov r8d, edi
mov r11d, 0xffff
sub r8, rsi
add r8, qword [rsp + 0x38]
nop dword [rax + rax]
imul ecx, dword [r8], 0x9e3779b1
lea r8, [r8 + 1]
movzx eax, di
shr rcx, 0x11
lea rdx, [rcx*4]
mov ecx, edi
sub ecx, dword [r15 + rdx]
cmp rcx, r11
cmova rcx, r11
mov word [r15 + rax*2 + 0x20000], cx
mov dword [r15 + rdx], edi
inc edi
cmp edi, r9d
jb 0x1400121c0
mov r11d, dword [rsp + 0x20]
mov edx, dword [rsp + 0x2c]
mov dword [r15 + 0x40020], r9d
mov r9, qword [rsp + 0x40]
movsxd r8, r10d
mov rdi, r9
mov r10d, dword [rsp + 0x28]
mov qword [rsp + 0x50], r8
imul ecx, dword [r9], 0x9e3779b1
mov qword [rsp + 0x70], r9
shr rcx, 0x11
mov r15d, dword [r15 + rcx*4]
cmp r15d, r10d
jb 0x140012a00
mov qword [rsp + 0x70], r9
jmp 0x140012255
mov ebp, dword [rsp + 0x24]
mov rsi, qword [rsp + 0xa0]
mov r14d, dword [rsp + 0x34]
test edx, edx
jle 0x1400129ec
xor r10d, r10d
dec edx
mov ebx, r10d
mov dword [rsp + 0x2c], edx
cmp dword [rsp + 0x1e0], r10d
je 0x140012282
mov eax, r14d
sub eax, r15d
cmp eax, 8
jb 0x14001264c
mov ecx, dword [rsp + 0x30]
cmp r15d, ecx
jb 0x1400123f3
mov rdi, qword [rsp + 0x38]
lea rdx, [r9 - 1]
movsxd rcx, ebp
mov r14d, r15d
sub r14, rsi
add r14, rdi
mov rax, r14
sub rax, r8
movzx eax, word [rax + rcx - 1]
cmp word [rdx + rcx], ax
jne 0x140012647
cmp dword [r14], r11d
jne 0x140012647
mov esi, r10d
test r8, r8
je 0x140012307
cmp rdi, r14
jns 0x1400122d7
mov eax, r9d
sub eax, r9d
jmp 0x1400122dc
mov eax, edi
sub eax, r14d
movsxd r8, eax
test eax, eax
jns 0x140012307
mov rcx, r14
mov edi, 1
sub rcx, r9
sub rdi, r9
movzx eax, byte [rcx + rdx]
cmp byte [rdx], al
jne 0x140012307
dec rdx
dec esi
lea rax, [rdi + rdx]
cmp rax, r8
jg 0x1400122f1
mov r8, qword [rsp + 0x58]
lea rdi, [r9 + 4]
lea rcx, [r14 + 4]
mov rbx, rdi
lea rdx, [r8 - 7]
cmp rdi, rdx
jae 0x140012334
mov rax, qword [rdi]
xor rax, qword [rcx]
jne 0x1400123cf
lea rbx, [rdi + 8]
add rcx, 8
cmp rbx, rdx
jae 0x140012359
nop dword [rax]
mov rax, qword [rbx]
xor rax, qword [rcx]
jne 0x1400123e0
add rbx, 8
add rcx, 8
cmp rbx, rdx
jb 0x140012340
lea rax, [r8 - 3]
cmp rbx, rax
jae 0x140012370
mov eax, dword [rbx]
cmp dword [rcx], eax
jne 0x140012370
add rbx, 4
add rcx, 4
lea rax, [r8 - 1]
cmp rbx, rax
jae 0x140012389
movzx eax, word [rbx]
cmp word [rcx], ax
jne 0x140012389
add rbx, 2
add rcx, 2
cmp rbx, r8
jae 0x140012398
movzx eax, byte [rbx]
cmp byte [rcx], al
jne 0x140012398
inc rbx
sub ebx, edi
sub ebx, esi
add ebx, 4
cmp ebx, ebp
jle 0x140012647
movsxd rax, esi
mov ebp, ebx
mov dword [rsp + 0x24], ebx
lea rdx, [r14 + rax]
mov r14d, dword [rsp + 0x34]
lea rsi, [rax + r9]
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x70], rsi
jmp 0x140012654
mov rcx, rax
call fcn.140001010
mov r9, qword [rsp + 0x40]
mov ebx, eax
jmp 0x14001239a
mov rcx, rax
sub ebx, edi
call fcn.140001010
mov r9, qword [rsp + 0x40]
add ebx, eax
jmp 0x14001239a
mov r14d, r15d
lea eax, [rcx - 4]
sub r14d, dword [rsp + 0x64]
add r14, qword [rsp + 0x98]
cmp r15d, eax
ja 0x140012647
cmp dword [r14], r11d
jne 0x140012647
mov r10, qword [rsp + 0x58]
lea r8, [r9 + 4]
sub ecx, r15d
mov rsi, r10
add rcx, r9
mov rdi, r8
cmp rcx, r10
cmovbe rsi, rcx
lea rcx, [r14 + 4]
lea rdx, [rsi - 7]
cmp r8, rdx
jae 0x140012455
mov rax, qword [r8]
xor rax, qword [rcx]
jne 0x140012582
lea rdi, [r8 + 8]
add rcx, 8
cmp rdi, rdx
jae 0x140012479
nop word [rax + rax]
mov rax, qword [rdi]
xor rax, qword [rcx]
jne 0x14001259b
add rdi, 8
add rcx, 8
cmp rdi, rdx
jb 0x140012460
lea rax, [rsi - 3]
cmp rdi, rax
jae 0x140012490
mov eax, dword [rdi]
cmp dword [rcx], eax
jne 0x140012490
add rdi, 4
add rcx, 4
lea rax, [rsi - 1]
cmp rdi, rax
jae 0x1400124a9
movzx eax, word [rdi]
cmp word [rcx], ax
jne 0x1400124a9
add rdi, 2
add rcx, 2
cmp rdi, rsi
jae 0x1400124b8
movzx eax, byte [rdi]
cmp byte [rcx], al
jne 0x1400124b8
inc rdi
sub edi, r8d
lea ebx, [rdi + 4]
movsxd r8, ebx
add r8, r9
cmp r8, rsi
jne 0x140012560
cmp rsi, r10
jae 0x140012560
mov rax, qword [rsp + 0x38]
lea rdx, [r10 - 7]
mov rcx, rax
mov rdi, r8
cmp r8, rdx
jae 0x1400124fe
mov rcx, qword [r8]
xor rcx, qword [rax]
jne 0x1400125b7
lea rdi, [r8 + 8]
lea rcx, [rax + 8]
cmp rdi, rdx
jae 0x14001251c
mov rax, qword [rdi]
xor rax, qword [rcx]
jne 0x1400125c5
add rdi, 8
add rcx, 8
cmp rdi, rdx
jb 0x140012503
lea rax, [r10 - 3]
cmp rdi, rax
jae 0x140012533
mov eax, dword [rdi]
cmp dword [rcx], eax
jne 0x140012533
add rdi, 4
add rcx, 4
lea rax, [r10 - 1]
cmp rdi, rax
jae 0x14001254c
movzx eax, word [rdi]
cmp word [rcx], ax
jne 0x14001254c
add rdi, 2
add rcx, 2
cmp rdi, r10
jae 0x14001255b
movzx eax, byte [rdi]
cmp byte [rcx], al
jne 0x14001255b
inc rdi
sub edi, r8d
add ebx, edi
xor edx, edx
cmp qword [rsp + 0x50], rdx
je 0x14001260b
mov rcx, qword [rsp + 0x98]
cmp rcx, r14
jns 0x1400125d9
mov eax, r9d
sub eax, r9d
jmp 0x1400125de
mov rcx, rax
call fcn.140001010
mov r9, qword [rsp + 0x40]
mov edi, eax
mov r10, qword [rsp + 0x58]
jmp 0x1400124bb
mov rcx, rax
sub edi, r8d
call fcn.140001010
mov r9, qword [rsp + 0x40]
add edi, eax
mov r10, qword [rsp + 0x58]
jmp 0x1400124bb
call fcn.140001010
mov r9, qword [rsp + 0x40]
mov edi, eax
jmp 0x14001255e
mov rcx, rax
sub edi, r8d
call fcn.140001010
mov r9, qword [rsp + 0x40]
add edi, eax
jmp 0x14001255e
mov eax, ecx
sub eax, r14d
movsxd r8, eax
test eax, eax
jns 0x14001260b
sub r14, r9
lea rcx, [r9 - 1]
mov edi, 1
sub rdi, r9
movzx eax, byte [r14 + rcx]
cmp byte [rcx], al
jne 0x14001260b
dec rcx
dec edx
lea rax, [rcx + rdi]
cmp rax, r8
jg 0x1400125f4
mov r14d, dword [rsp + 0x34]
sub ebx, edx
cmp ebx, ebp
jle 0x14001264e
mov rsi, qword [rsp + 0xa0]
mov ebp, ebx
mov dword [rsp + 0x24], ebx
movsxd rax, edx
mov ebx, r15d
sub rbx, rsi
add rbx, qword [rsp + 0x38]
add rbx, rax
add rax, r9
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x70], rax
jmp 0x14001265c
mov r14d, dword [rsp + 0x34]
cmp ebx, ebp
jne 0x1400126f6
mov rsi, qword [rsp + 0xa0]
lea eax, [r15 + rbp]
cmp eax, r14d
ja 0x1400126fe
lea r11d, [rbp - 3]
xor r9d, r9d
mov ebx, 0x10
mov r10d, 1
mov edi, ebx
test r11d, r11d
jle 0x1400126fe
mov rsi, qword [rsp + 0x88]
nop
mov edx, edi
lea eax, [r15 + r9]
movzx eax, ax
inc edi
sar edx, 4
movzx ecx, word [rsi + rax*2 + 0x20000]
mov eax, r9d
cmp ecx, r10d
mov r8d, ecx
cmovbe r8d, r10d
cmovbe eax, r12d
cmova edi, ebx
mov r12d, eax
add r9d, edx
mov r10d, r8d
cmp r9d, r11d
jl 0x140012690
mov rsi, qword [rsp + 0xa0]
cmp r8d, 1
jbe 0x1400126fe
mov r14d, dword [rsp + 0x24]
mov r10d, dword [rsp + 0x28]
cmp r8d, r15d
ja 0x1400129cf
sub r15d, r8d
mov r8, qword [rsp + 0x50]
jmp 0x1400127ab
mov rsi, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x88]
movzx ebx, r15w
cmp word [r9 + rbx*2 + 0x20000], 1
jne 0x140012789
test r12d, r12d
jne 0x140012789
mov edi, dword [rsp + 0x78]
lea ebp, [r15 - 1]
test edi, edi
jne 0x1400127d4
mov r8d, dword [rsp + 0x20]
mov eax, r8d
shr eax, 0x18
mov edx, r8d
cmp r8b, al
movzx eax, r8w
sete dil
xor ecx, ecx
shr edx, 0x10
cmp eax, edx
sete cl
test ecx, edi
je 0x140012781
mov rcx, qword [rsp + 0x40]
mov r14, qword [rsp + 0x58]
add rcx, 4
mov rdx, r14
mov dword [rsp + 0x78], 2
call fcn.14000af50
mov r9, qword [rsp + 0x88]
mov r13d, eax
add r13, 4
jmp 0x1400127de
mov dword [rsp + 0x78], 1
mov r10d, dword [rsp + 0x28]
lea eax, [rbx + r12]
movzx eax, ax
movzx ecx, word [r9 + rax*2 + 0x20000]
sub r15d, ecx
mov r8, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x24]
mov r11d, dword [rsp + 0x20]
mov edx, dword [rsp + 0x2c]
mov r9, qword [rsp + 0x40]
cmp r15d, r10d
jae 0x140012244
mov rbx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x70]
jmp 0x140012a03
cmp edi, 2
jne 0x140012789
mov r14, qword [rsp + 0x58]
cmp ebp, dword [rsp + 0x28]
jb 0x140012789
mov edx, dword [rsp + 0x30]
mov eax, edx
sub eax, ebp
dec eax
cmp eax, 3
jb 0x140012789
mov r8d, dword [rsp + 0x64]
mov rax, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x98]
sub rax, rsi
sub rdi, r8
mov r8d, dword [rsp + 0x20]
cmp ebp, edx
cmovae rdi, rax
mov eax, ebp
add rdi, rax
cmp dword [rdi], r8d
jne 0x140012789
cmp ebp, edx
lea rcx, [rdi + 4]
mov rsi, r14
mov r14, qword [rsp + 0x90]
cmovb rsi, r14
mov rdx, rsi
call fcn.14000af50
mov ecx, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x20]
mov ebx, eax
add rbx, 4
cmp ebp, ecx
jae 0x14001288c
lea rax, [rbx + rdi]
cmp rax, rsi
jne 0x14001288c
mov rax, rbx
mov r8d, r15d
and eax, 3
shl rax, 3
test rax, rax
je 0x140012874
mov ecx, eax
rol r8d, cl
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
call fcn.14000af50
mov ecx, dword [rsp + 0x30]
mov eax, eax
add rbx, rax
mov rdx, qword [rsp + 0x38]
cmp ebp, ecx
mov r8d, r15d
mov rcx, rdi
cmovb rdx, qword [rsp + 0x98]
call fcn.14000afb0
mov ecx, dword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov esi, eax
cmp ebp, ecx
jb 0x1400128fa
sub rdi, rsi
cmp rdi, r11
jne 0x1400128fa
cmp dword [rsp + 0x64], ecx
jae 0x1400128fa
mov eax, esi
mov r8d, r15d
neg eax
and eax, 3
shl rax, 3
test rax, rax
je 0x1400128dc
mov ecx, eax
rol r8d, cl
mov rdx, qword [rsp + 0x98]
mov rcx, r14
call fcn.14000afb0
mov ecx, dword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov eax, eax
add rsi, rax
mov r10d, dword [rsp + 0x28]
mov edx, ebp
mov r15d, ebp
sub r15d, esi
cmp r15d, r10d
cmovbe r15d, r10d
sub edx, r15d
add rdx, rbx
cmp rdx, r13
jb 0x140012938
cmp rbx, r13
ja 0x140012938
sub ebx, r13d
mov eax, ecx
lea r15d, [rbx + rbp]
sub eax, r15d
dec eax
cmp eax, 3
cmovb r15d, ecx
jmp 0x1400127a1
mov r8, qword [rsp + 0x50]
mov eax, ecx
sub eax, r15d
dec eax
cmp eax, 3
jae 0x140012951
mov r15d, ecx
jmp 0x1400127a6
test r8, r8
jne 0x1400127a6
movsxd r14, dword [rsp + 0x24]
cmp rdx, r13
mov r9, qword [rsp + 0x40]
mov rcx, r13
cmovb rcx, rdx
cmp r14, rcx
jae 0x1400129ae
mov rsi, qword [rsp + 0xa0]
mov edi, 0xffff
mov rax, rsi
mov edx, r15d
sub rax, rdx
sub rax, r11
add rax, r9
cmp rax, rdi
ja 0x1400129d4
sub rdx, rsi
mov dword [rsp + 0x24], ecx
add rdx, r11
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x80], rdx
mov r14d, ecx
mov rcx, qword [rsp + 0x88]
movzx eax, r15w
movzx ecx, word [rcx + rax*2 + 0x20000]
cmp ecx, r15d
ja 0x1400129d4
sub r15d, ecx
jmp 0x1400127ab
mov r9, qword [rsp + 0x40]
mov r11d, dword [rsp + 0x20]
mov edx, dword [rsp + 0x2c]
mov rbx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x70]
jmp 0x140012a03
mov r14d, dword [rsp + 0x24]
mov rbx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x70]
jmp 0x140012a03
mov r14d, ebp
cmp dword [rsp + 0x1d8], 1
jne 0x140012c59
test edx, edx
jle 0x140012c59
mov r15d, dword [rsp + 0x34]
mov r13d, 0xffff
mov eax, r15d
sub eax, r10d
cmp eax, r13d
jae 0x140012c59
mov r12, qword [rsp + 0xd0]
imul ecx, dword [r9], 0x9e3779b1
mov eax, dword [r12 + 0x40018]
mov rbp, qword [r12 + 0x40000]
sub rbp, qword [r12 + 0x40008]
add rbp, rax
shr rcx, 0x11
sub r10d, ebp
mov eax, r15d
mov esi, dword [r12 + rcx*4]
add r10d, esi
sub eax, r10d
mov dword [rsp + 0x28], r10d
cmp eax, r13d
ja 0x140012c59
nop
mov eax, edx
dec edx
mov dword [rsp + 0x2c], edx
test eax, eax
je 0x140012c59
mov eax, dword [r12 + 0x40018]
mov rbx, qword [r12 + 0x40008]
sub rbx, rax
mov ecx, esi
add rbx, rcx
cmp dword [rbx], r11d
jne 0x140012c14
mov r8, qword [rsp + 0x58]
mov rax, r9
sub rax, rcx
lea rcx, [rax + rbp]
cmp rcx, r8
cmovbe r8, rcx
add r9, 4
lea rcx, [rbx + 4]
mov rdi, r9
lea rdx, [r8 - 7]
cmp r9, rdx
jae 0x140012aef
mov rax, qword [rcx]
xor rax, qword [r9]
jne 0x140012b70
lea rdi, [r9 + 8]
add rcx, 8
cmp rdi, rdx
jae 0x140012b0d
mov rax, qword [rcx]
xor rax, qword [rdi]
jne 0x140012b86
add rdi, 8
add rcx, 8
cmp rdi, rdx
jb 0x140012af4
lea rax, [r8 - 3]
cmp rdi, rax
jae 0x140012b24
mov eax, dword [rdi]
cmp dword [rcx], eax
jne 0x140012b24
add rdi, 4
add rcx, 4
lea rax, [r8 - 1]
cmp rdi, rax
jae 0x140012b3d
movzx eax, word [rdi]
cmp word [rcx], ax
jne 0x140012b3d
add rdi, 2
add rcx, 2
cmp rdi, r8
jae 0x140012b4c
movzx eax, byte [rdi]
cmp byte [rcx], al
jne 0x140012b4c
inc rdi
sub edi, r9d
cmp qword [rsp + 0x50], 0
lea r9d, [rdi + 4]
je 0x140012bd9
mov rcx, qword [r12 + 0x40008]
xor edi, edi
cmp rcx, rbx
mov edx, edi
jns 0x140012b9f
mov ecx, edi
jmp 0x140012ba1
mov rcx, rax
call fcn.140001010
mov r11d, dword [rsp + 0x20]
mov edi, eax
mov r10d, dword [rsp + 0x28]
jmp 0x140012b4f
mov rcx, rax
sub edi, r9d
call fcn.140001010
mov r11d, dword [rsp + 0x20]
add edi, eax
mov r10d, dword [rsp + 0x28]
jmp 0x140012b4f
sub ecx, ebx
movsxd rdi, ecx
test ecx, ecx
jns 0x140012bdb
mov r8, qword [rsp + 0x40]
lea rcx, [rbx - 1]
neg rbx
add r8, rbx
inc rbx
nop word [rax + rax]
movzx eax, byte [rcx]
cmp byte [r8 + rcx], al
jne 0x140012bdb
dec rcx
dec edx
lea rax, [rbx + rcx]
cmp rax, rdi
jg 0x140012bc0
jmp 0x140012bdb
xor edx, edx
sub r9d, edx
cmp r9d, r14d
jle 0x140012c1e
movsxd rax, edx
mov r14d, r9d
mov r9, qword [rsp + 0x40]
mov ebx, r10d
sub rbx, qword [rsp + 0xa0]
add rbx, qword [rsp + 0x38]
add rbx, rax
lea rdi, [rax + r9]
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x70], rdi
jmp 0x140012c30
mov rbx, qword [rsp + 0x80]
jmp 0x140012c34
mov rbx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x70]
mov r9, qword [rsp + 0x40]
mov edx, dword [rsp + 0x2c]
movzx eax, si
movzx ecx, word [r12 + rax*2 + 0x20000]
mov eax, r15d
sub r10d, ecx
sub esi, ecx
sub eax, r10d
mov dword [rsp + 0x28], r10d
cmp eax, r13d
jbe 0x140012a80
cmp r14d, 3
jle 0x140012c97
cmp dword [rsp + 0x1e0], 0
je 0x140012c86
xor eax, eax
cmp r14d, 0x24
mov ecx, eax
setle cl
cmp r14d, 0x12
setg al
test eax, ecx
mov eax, 0x12
cmovne r14d, eax
sub edi, ebx
mov dword [rsp + 0xf4], r14d
mov dword [rsp + 0xf0], edi
mov rcx, qword [rsp + 0xf0]
jmp 0x140013835
mov eax, ebx
mov qword [rsp + 0xf8], 0
sub eax, r14d
mov qword [rsp + 0x50], r15
mov ecx, r15d
mov dword [rsp + 0xa0], eax
sub ecx, edi
mov dword [rsp + 0x20], eax
mov edi, r11d
mov ebp, eax
mov r14, r15
mov rbx, r13
mov qword [rsp + 0x80], rbx
lea r8d, [rcx + r9]
cmp edx, r8d
mov dword [rsp + 0x34], r8d
mov edx, dword [rsp + 0x1b8]
lea eax, [r8 - 0xffff]
cmovbe edi, eax
mov dword [rsp + 0x2c], edx
sub r14, r11
mov dword [rsp + 0x28], edi
mov r11d, dword [r9]
add r14, r10
mov r10d, r9d
mov qword [rsp + 0x128], r14
mov r14, qword [rsp + 0x88]
sub r10d, r9d
add r9d, ecx
mov dword [rsp + 0x24], r11d
mov edi, dword [r14 + 0x40020]
cmp edi, r9d
jae 0x140012d94
mov r8d, edi
mov r11d, 0xffff
sub r8, r15
add r8, qword [rsp + 0x38]
nop word [rax + rax]
imul ecx, dword [r8], 0x9e3779b1
lea r8, [r8 + 1]
movzx eax, di
shr rcx, 0x11
lea rdx, [rcx*4]
mov ecx, edi
sub ecx, dword [r14 + rdx]
cmp rcx, r11
cmova rcx, r11
mov word [r14 + rax*2 + 0x20000], cx
mov dword [rdx + r14], edi
inc edi
cmp edi, r9d
jb 0x140012d50
mov r11d, dword [rsp + 0x24]
mov edx, dword [rsp + 0x2c]
mov dword [r14 + 0x40020], r9d
mov r9, qword [rsp + 0x40]
movsxd r8, r10d
mov rdi, r9
mov r10d, dword [rsp + 0x28]
mov qword [rsp + 0x70], r8
imul ecx, dword [r9], 0x9e3779b1
mov qword [rsp + 0x90], r9
shr rcx, 0x11
mov r15d, dword [r14 + rcx*4]
cmp r15d, r10d
jb 0x140013583
mov qword [rsp + 0x90], r9
jmp 0x140012de9
mov ebp, dword [rsp + 0x20]
mov rsi, qword [rsp + 0x50]
test edx, edx
jle 0x14001356c
xor r10d, r10d
dec edx
mov ebx, r10d
mov dword [rsp + 0x2c], edx
cmp dword [rsp + 0x1e0], r10d
je 0x140012e17
mov eax, dword [rsp + 0x34]
sub eax, r15d
cmp eax, 8
jb 0x1400131d2
mov ecx, dword [rsp + 0x30]
cmp r15d, ecx
jb 0x140012f81
mov rdi, qword [rsp + 0x38]
lea rdx, [r9 - 1]
movsxd rcx, ebp
mov r14d, r15d
mov rax, rcx
sub r14, rsi
sub rax, r8
add r14, rdi
movzx eax, word [rax + r14 - 1]
cmp word [rcx + rdx], ax
jne 0x1400131d2
cmp dword [r14], r11d
jne 0x1400131d2
mov esi, r10d
test r8, r8
je 0x140012e9d
cmp rdi, r14
jns 0x140012e6d
mov eax, r9d
sub eax, r9d
jmp 0x140012e72
mov eax, edi
sub eax, r14d
movsxd r8, eax
test eax, eax
jns 0x140012e9d
mov rcx, r14
mov edi, 1
sub rcx, r9
sub rdi, r9
movzx eax, byte [rcx + rdx]
cmp byte [rdx], al
jne 0x140012e9d
dec rdx
dec esi
lea rax, [rdx + rdi]
cmp rax, r8
jg 0x140012e87
mov r8, qword [rsp + 0x58]
lea rdi, [r9 + 4]
lea rcx, [r14 + 4]
mov rbx, rdi
lea rdx, [r8 - 7]
cmp rdi, rdx
jae 0x140012eca
mov rax, qword [rdi]
xor rax, qword [rcx]
jne 0x140012f5d
lea rbx, [rdi + 8]
add rcx, 8
cmp rbx, rdx
jae 0x140012ee9
nop
mov rax, qword [rbx]
xor rax, qword [rcx]
jne 0x140012f6e
add rbx, 8
add rcx, 8
cmp rbx, rdx
jb 0x140012ed0
lea rax, [r8 - 3]
cmp rbx, rax
jae 0x140012f00
mov eax, dword [rbx]
cmp dword [rcx], eax
jne 0x140012f00
add rbx, 4
add rcx, 4
lea rax, [r8 - 1]
cmp rbx, rax
jae 0x140012f19
movzx eax, word [rbx]
cmp word [rcx], ax
jne 0x140012f19
add rbx, 2
add rcx, 2
cmp rbx, r8
jae 0x140012f28
movzx eax, byte [rbx]
cmp byte [rcx], al
jne 0x140012f28
inc rbx
sub ebx, edi
sub ebx, esi
add ebx, 4
cmp ebx, ebp
jle 0x1400131d4
movsxd rax, esi
mov ebp, ebx
mov dword [rsp + 0x20], ebx
lea rdx, [r14 + rax]
lea rsi, [r9 + rax]
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x90], rsi
jmp 0x1400131da
mov rcx, rax
call fcn.140001010
mov r9, qword [rsp + 0x40]
mov ebx, eax
jmp 0x140012f2a
mov rcx, rax
sub ebx, edi
call fcn.140001010
mov r9, qword [rsp + 0x40]
add ebx, eax
jmp 0x140012f2a
mov r14d, r15d
lea eax, [rcx - 4]
sub r14d, dword [rsp + 0x64]
add r14, qword [rsp + 0x98]
cmp r15d, eax
ja 0x1400131d2
cmp dword [r14], r11d
jne 0x1400131d2
mov r10, qword [rsp + 0x58]
lea r8, [r9 + 4]
sub ecx, r15d
mov rsi, r10
add rcx, r9
mov rdi, r8
cmp rcx, r10
cmovbe rsi, rcx
lea rcx, [r14 + 4]
lea rdx, [rsi - 7]
cmp r8, rdx
jae 0x140012fe3
mov rax, qword [r8]
xor rax, qword [rcx]
jne 0x140013112
lea rdi, [r8 + 8]
add rcx, 8
cmp rdi, rdx
jae 0x140013009
nop dword [rax + rax]
mov rax, qword [rdi]
xor rax, qword [rcx]
jne 0x14001312b
add rdi, 8
add rcx, 8
cmp rdi, rdx
jb 0x140012ff0
lea rax, [rsi - 3]
cmp rdi, rax
jae 0x140013020
mov eax, dword [rdi]
cmp dword [rcx], eax
jne 0x140013020
add rdi, 4
add rcx, 4
lea rax, [rsi - 1]
cmp rdi, rax
jae 0x140013039
movzx eax, word [rdi]
cmp word [rcx], ax
jne 0x140013039
add rdi, 2
add rcx, 2
cmp rdi, rsi
jae 0x140013048
movzx eax, byte [rdi]
cmp byte [rcx], al
jne 0x140013048
inc rdi
sub edi, r8d
lea ebx, [rdi + 4]
movsxd r8, ebx
add r8, r9
cmp r8, rsi
jne 0x1400130f0
cmp rsi, r10
jae 0x1400130f0
mov rax, qword [rsp + 0x38]
lea rdx, [r10 - 7]
mov rcx, rax
mov rdi, r8
cmp r8, rdx
jae 0x14001308e
mov rcx, qword [r8]
xor rcx, qword [rax]
jne 0x140013147
lea rdi, [r8 + 8]
lea rcx, [rax + 8]
cmp rdi, rdx
jae 0x1400130ac
mov rax, qword [rdi]
xor rax, qword [rcx]
jne 0x140013155
add rdi, 8
add rcx, 8
cmp rdi, rdx
jb 0x140013093
lea rax, [r10 - 3]
cmp rdi, rax
jae 0x1400130c3
mov eax, dword [rdi]
cmp dword [rcx], eax
jne 0x1400130c3
add rdi, 4
add rcx, 4
lea rax, [r10 - 1]
cmp rdi, rax
jae 0x1400130dc
movzx eax, word [rdi]
cmp word [rcx], ax
jne 0x1400130dc
add rdi, 2
add rcx, 2
cmp rdi, r10
jae 0x1400130eb
movzx eax, byte [rdi]
cmp byte [rcx], al
jne 0x1400130eb
inc rdi
sub edi, r8d
add ebx, edi
xor edx, edx
cmp qword [rsp + 0x70], rdx
je 0x14001319b
mov rcx, qword [rsp + 0x98]
cmp rcx, r14
jns 0x140013169
mov eax, r9d
sub eax, r9d
jmp 0x14001316e
mov rcx, rax
call fcn.140001010
mov r9, qword [rsp + 0x40]
mov edi, eax
mov r10, qword [rsp + 0x58]
jmp 0x14001304b
mov rcx, rax
sub edi, r8d
call fcn.140001010
mov r9, qword [rsp + 0x40]
add edi, eax
mov r10, qword [rsp + 0x58]
jmp 0x14001304b
call fcn.140001010
mov r9, qword [rsp + 0x40]
mov edi, eax
jmp 0x1400130ee
mov rcx, rax
sub edi, r8d
call fcn.140001010
mov r9, qword [rsp + 0x40]
add edi, eax
jmp 0x1400130ee
mov eax, ecx
sub eax, r14d
movsxd r8, eax
test eax, eax
jns 0x14001319b
sub r14, r9
lea rcx, [r9 - 1]
mov edi, 1
sub rdi, r9
movzx eax, byte [r14 + rcx]
cmp byte [rcx], al
jne 0x14001319b
dec rcx
dec edx
lea rax, [rcx + rdi]
cmp rax, r8
jg 0x140013184
sub ebx, edx
cmp ebx, ebp
jle 0x1400131d4
mov rsi, qword [rsp + 0x50]
mov ebp, ebx
mov dword [rsp + 0x20], ebx
movsxd rax, edx
mov ebx, r15d
sub rbx, rsi
add rbx, qword [rsp + 0x38]
add rbx, rax
add rax, r9
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x90], rax
jmp 0x1400131df
cmp ebx, ebp
jne 0x140013273
mov rsi, qword [rsp + 0x50]
lea eax, [r15 + rbp]
cmp eax, dword [rsp + 0x34]
ja 0x140013278
lea r11d, [rbp - 3]
xor r9d, r9d
mov ebx, 0x10
mov r10d, 1
mov edi, ebx
test r11d, r11d
jle 0x140013278
mov rsi, qword [rsp + 0x88]
nop
mov edx, edi
lea eax, [r15 + r9]
movzx eax, ax
inc edi
sar edx, 4
movzx ecx, word [rsi + rax*2 + 0x20000]
mov eax, r9d
cmp ecx, r10d
mov r8d, ecx
cmovbe r8d, r10d
cmovbe eax, r12d
cmova edi, ebx
mov r12d, eax
add r9d, edx
mov r10d, r8d
cmp r9d, r11d
jl 0x140013210
mov rsi, qword [rsp + 0x50]
cmp r8d, 1
jbe 0x140013278
mov r14d, dword [rsp + 0x20]
mov r10d, dword [rsp + 0x28]
cmp r8d, r15d
ja 0x14001354c
sub r15d, r8d
mov r8, qword [rsp + 0x70]
jmp 0x140013325
mov rsi, qword [rsp + 0x50]
mov r9, qword [rsp + 0x88]
movzx ebx, r15w
cmp word [r9 + rbx*2 + 0x20000], 1
jne 0x140013303
test r12d, r12d
jne 0x140013303
mov edi, dword [rsp + 0x78]
lea ebp, [r15 - 1]
test edi, edi
jne 0x140013351
mov r8d, dword [rsp + 0x24]
mov eax, r8d
shr eax, 0x18
mov edx, r8d
cmp r8b, al
movzx eax, r8w
sete dil
xor ecx, ecx
shr edx, 0x10
cmp eax, edx
sete cl
test ecx, edi
je 0x1400132fb
mov rcx, qword [rsp + 0x40]
mov r14, qword [rsp + 0x58]
add rcx, 4
mov rdx, r14
mov dword [rsp + 0x78], 2
call fcn.14000af50
mov r9, qword [rsp + 0x88]
mov r13d, eax
add r13, 4
jmp 0x14001335b
mov dword [rsp + 0x78], 1
mov r10d, dword [rsp + 0x28]
lea eax, [rbx + r12]
movzx eax, ax
movzx ecx, word [r9 + rax*2 + 0x20000]
sub r15d, ecx
mov r8, qword [rsp + 0x70]
mov r14d, dword [rsp + 0x20]
mov r11d, dword [rsp + 0x24]
mov edx, dword [rsp + 0x2c]
mov r9, qword [rsp + 0x40]
cmp r15d, r10d
jae 0x140012de0
mov rbx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x90]
jmp 0x140013586
cmp edi, 2
jne 0x140013303
mov r14, qword [rsp + 0x58]
cmp ebp, dword [rsp + 0x28]
jb 0x140013303
mov edx, dword [rsp + 0x30]
mov eax, edx
sub eax, ebp
dec eax
cmp eax, 3
jb 0x140013303
mov r8d, dword [rsp + 0x64]
mov rax, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x98]
sub rax, rsi
sub rdi, r8
mov r8d, dword [rsp + 0x24]
cmp ebp, edx
cmovae rdi, rax
mov eax, ebp
add rdi, rax
cmp dword [rdi], r8d
jne 0x140013303
cmp ebp, edx
lea rcx, [rdi + 4]
mov rsi, r14
mov r14, qword [rsp + 0x128]
cmovb rsi, r14
mov rdx, rsi
call fcn.14000af50
mov ecx, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x24]
mov ebx, eax
add rbx, 4
cmp ebp, ecx
jae 0x140013409
lea rax, [rbx + rdi]
cmp rax, rsi
jne 0x140013409
mov rax, rbx
mov r8d, r15d
and eax, 3
shl rax, 3
test rax, rax
je 0x1400133f1
mov ecx, eax
rol r8d, cl
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
call fcn.14000af50
mov ecx, dword [rsp + 0x30]
mov eax, eax
add rbx, rax
mov rdx, qword [rsp + 0x38]
cmp ebp, ecx
mov r8d, r15d
mov rcx, rdi
cmovb rdx, qword [rsp + 0x98]
call fcn.14000afb0
mov ecx, dword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov esi, eax
cmp ebp, ecx
jb 0x140013477
sub rdi, rsi
cmp rdi, r11
jne 0x140013477
cmp dword [rsp + 0x64], ecx
jae 0x140013477
mov eax, esi
mov r8d, r15d
neg eax
and eax, 3
shl rax, 3
test rax, rax
je 0x140013459
mov ecx, eax
rol r8d, cl
mov rdx, qword [rsp + 0x98]
mov rcx, r14
call fcn.14000afb0
mov ecx, dword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov eax, eax
add rsi, rax
mov r10d, dword [rsp + 0x28]
mov edx, ebp
mov r15d, ebp
sub r15d, esi
cmp r15d, r10d
cmovbe r15d, r10d
sub edx, r15d
add rdx, rbx
cmp rdx, r13
jb 0x1400134b5
cmp rbx, r13
ja 0x1400134b5
sub ebx, r13d
mov eax, ecx
lea r15d, [rbx + rbp]
sub eax, r15d
dec eax
cmp eax, 3
cmovb r15d, ecx
jmp 0x14001331b
mov r8, qword [rsp + 0x70]
mov eax, ecx
sub eax, r15d
dec eax
cmp eax, 3
jae 0x1400134ce
mov r15d, ecx
jmp 0x140013320
test r8, r8
jne 0x140013320
movsxd r14, dword [rsp + 0x20]
cmp rdx, r13
mov r9, qword [rsp + 0x40]
mov rcx, r13
cmovb rcx, rdx
cmp r14, rcx
jae 0x14001352b
mov rsi, qword [rsp + 0x50]
mov edi, 0xffff
mov rax, rsi
mov edx, r15d
sub rax, rdx
sub rax, r11
add rax, r9
cmp rax, rdi
ja 0x140013551
sub rdx, rsi
mov dword [rsp + 0x20], ecx
add rdx, r11
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x80], rdx
mov r14d, ecx
mov rcx, qword [rsp + 0x88]
movzx eax, r15w
movzx ecx, word [rcx + rax*2 + 0x20000]
cmp ecx, r15d
ja 0x140013551
sub r15d, ecx
jmp 0x140013325
mov r9, qword [rsp + 0x40]
mov r11d, dword [rsp + 0x24]
mov edx, dword [rsp + 0x2c]
mov rbx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x90]
jmp 0x140013586
mov r14d, dword [rsp + 0x20]
mov rbx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x90]
jmp 0x140013586
mov r14d, ebp
cmp dword [rsp + 0x1d8], 1
jne 0x1400137eb
test edx, edx
jle 0x1400137eb
mov r15d, dword [rsp + 0x34]
mov r13d, 0xffff
mov eax, r15d
sub eax, r10d
cmp eax, r13d
jae 0x1400137eb
mov r12, qword [rsp + 0xd0]
imul ecx, dword [r9], 0x9e3779b1
mov eax, dword [r12 + 0x40018]
mov rbp, qword [r12 + 0x40000]
sub rbp, qword [r12 + 0x40008]
add rbp, rax
shr rcx, 0x11
sub r10d, ebp
mov eax, r15d
mov esi, dword [r12 + rcx*4]
add r10d, esi
sub eax, r10d
mov dword [rsp + 0x28], r10d
cmp eax, r13d
ja 0x1400137eb
nop dword [rax]
nop word [rax + rax]
mov eax, edx
dec edx
mov dword [rsp + 0x2c], edx
test eax, eax
je 0x1400137eb
mov eax, dword [r12 + 0x40018]
mov ebx, esi
sub rbx, rax
mov ecx, esi
add rbx, qword [r12 + 0x40008]
cmp dword [rbx], r11d
jne 0x1400137a3
mov r8, qword [rsp + 0x58]
mov rax, rbp
sub rax, rcx
lea rcx, [rax + r9]
cmp rcx, r8
cmovbe r8, rcx
add r9, 4
lea rcx, [rbx + 4]
mov rdi, r9
lea rdx, [r8 - 7]
cmp r9, rdx
jae 0x14001367e
mov rax, qword [rcx]
xor rax, qword [r9]
jne 0x1400136ff
lea rdi, [r9 + 8]
add rcx, 8
cmp rdi, rdx
jae 0x14001369c
mov rax, qword [rcx]
xor rax, qword [rdi]
jne 0x140013715
add rdi, 8
add rcx, 8
cmp rdi, rdx
jb 0x140013683
lea rax, [r8 - 3]
cmp rdi, rax
jae 0x1400136b3
mov eax, dword [rdi]
cmp dword [rcx], eax
jne 0x1400136b3
add rdi, 4
add rcx, 4
lea rax, [r8 - 1]
cmp rdi, rax
jae 0x1400136cc
movzx eax, word [rdi]
cmp word [rcx], ax
jne 0x1400136cc
add rdi, 2
add rcx, 2
cmp rdi, r8
jae 0x1400136db
movzx eax, byte [rdi]
cmp byte [rcx], al
jne 0x1400136db
inc rdi
sub edi, r9d
cmp qword [rsp + 0x70], 0
lea r9d, [rdi + 4]
je 0x140013768
mov rcx, qword [r12 + 0x40008]
xor edi, edi
cmp rcx, rbx
mov edx, edi
jns 0x14001372e
mov ecx, edi
jmp 0x140013730
mov rcx, rax
call fcn.140001010
mov r11d, dword [rsp + 0x24]
mov edi, eax
mov r10d, dword [rsp + 0x28]
jmp 0x1400136de
mov rcx, rax
sub edi, r9d
call fcn.140001010
mov r11d, dword [rsp + 0x24]
add edi, eax
mov r10d, dword [rsp + 0x28]
jmp 0x1400136de
sub ecx, ebx
movsxd r8, ecx
test ecx, ecx
jns 0x14001376a
mov rax, qword [rsp + 0x40]
mov edi, 1
sub rbx, rax
sub rdi, rax
lea rcx, [rax - 1]
nop dword [rax + rax]
movzx eax, byte [rbx + rcx]
cmp byte [rcx], al
jne 0x14001376a
dec rcx
dec edx
lea rax, [rcx + rdi]
cmp rax, r8
jg 0x140013750
jmp 0x14001376a
xor edx, edx
sub r9d, edx
cmp r9d, r14d
jle 0x1400137ad
movsxd rax, edx
mov r14d, r9d
mov r9, qword [rsp + 0x40]
mov ebx, r10d
sub rbx, qword [rsp + 0x50]
add rbx, qword [rsp + 0x38]
add rbx, rax
lea rdi, [rax + r9]
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x90], rdi
jmp 0x1400137c2
mov rbx, qword [rsp + 0x80]
jmp 0x1400137c6
mov rbx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x90]
mov r9, qword [rsp + 0x40]
mov edx, dword [rsp + 0x2c]
movzx eax, si
movzx ecx, word [r12 + rax*2 + 0x20000]
mov eax, r15d
sub r10d, ecx
sub esi, ecx
sub eax, r10d
mov dword [rsp + 0x28], r10d
cmp eax, r13d
jbe 0x140013610
cmp r14d, dword [rsp + 0xa0]
jle 0x14001382d
cmp dword [rsp + 0x1e0], 0
je 0x14001381c
xor eax, eax
cmp r14d, 0x24
mov ecx, eax
setle cl
cmp r14d, 0x12
setg al
test eax, ecx
mov eax, 0x12
cmovne r14d, eax
sub edi, ebx
mov dword [rsp + 0xfc], r14d
mov dword [rsp + 0xf8], edi
mov rcx, qword [rsp + 0xf8]
mov r14d, dword [rsp + 0x68]
mov rax, rcx
shr rax, 0x20
mov r10, rcx
mov qword [rsp + 0xd0], rcx
mov r9, rax
mov r8, rax
mov rdi, rax
mov rdx, rax
test eax, eax
je 0x140013be1
movsxd rax, edi
cmp rax, qword [rsp + 0x108]
ja 0x140013cae
lea eax, [r14 + r9]
mov edx, r8d
cmp eax, 0x1000
jge 0x140013cae
mov rsi, qword [rsp + 0xb8]
mov r15, qword [rsp + 0xa8]
mov r8d, dword [rsi + r15 + 0xc]
mov ebx, r8d
lea r10d, [r8 - 0xf]
cmp r8d, 0xf
jl 0x1400138c0
mov eax, 0x80808081
lea ebx, [r8 + 1]
imul r10d
add edx, r10d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add ebx, edx
lea edx, [r8 + 1]
mov r11d, edx
cmp edx, 0xf
jl 0x1400138e8
lea edi, [rdx - 0xf]
mov eax, 0x80808081
imul edi
add edx, edi
sar edx, 7
mov eax, edx
add edx, 2
shr eax, 0x1f
add edx, eax
add edx, r8d
mov r12, qword [rsp + 0xc0]
sub edx, ebx
mov r9d, dword [rsi + r15]
xor r13d, r13d
add edx, r9d
lea rax, [r12 + 1]
add rax, rax
cmp edx, dword [r15 + rax*8]
jge 0x140013925
mov dword [r15 + rax*8 + 8], 1
mov dword [r15 + rax*8 + 4], r13d
mov dword [r15 + rax*8 + 0xc], r11d
mov dword [r15 + rax*8], edx
mov r9d, dword [rsi + r15]
mov esi, r8d
cmp r8d, 0xf
jl 0x140013949
mov eax, 0x80808081
lea esi, [r8 + 1]
imul r10d
add edx, r10d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add esi, edx
lea ebx, [r11 + 1]
mov edx, ebx
cmp ebx, 0xf
jl 0x140013971
lea edi, [r11 - 0xe]
mov eax, 0x80808081
imul edi
add edx, edi
sar edx, 7
mov eax, edx
add edx, 3
shr eax, 0x1f
add edx, eax
add edx, r8d
sub edx, esi
lea rax, [r12 + 2]
mov rsi, qword [rsp + 0xb8]
add rax, rax
add edx, r9d
cmp edx, dword [r15 + rax*8]
jge 0x1400139a7
mov dword [r15 + rax*8 + 8], 1
mov dword [r15 + rax*8 + 4], r13d
mov dword [r15 + rax*8 + 0xc], ebx
mov dword [r15 + rax*8], edx
mov r9d, dword [rsi + r15]
mov ebx, r8d
cmp r8d, 0xf
jl 0x1400139cb
mov eax, 0x80808081
lea ebx, [r8 + 1]
imul r10d
add edx, r10d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add ebx, edx
lea r10d, [r11 + 2]
mov edx, r10d
cmp r10d, 0xf
jl 0x1400139f5
lea edi, [r11 - 0xd]
mov eax, 0x80808081
imul edi
add edx, edi
sar edx, 7
mov eax, edx
add edx, 4
shr eax, 0x1f
add edx, eax
add edx, r8d
sub edx, ebx
lea rax, [r12 + 3]
add rax, rax
add edx, r9d
mov r11, r15
cmp edx, dword [r15 + rax*8]
jge 0x140013a22
mov dword [r15 + rax*8 + 8], 1
mov dword [r15 + rax*8 + 4], r13d
mov dword [r15 + rax*8 + 0xc], r10d
mov dword [r15 + rax*8], edx
movsxd r15, dword [rsp + 0xd4]
mov ebp, 4
mov ebx, dword [rsp + 0x60]
cmp rbp, r15
jg 0x140013b71
lea r10, [r11 + 0x44]
mov r12d, 0xffffffed
add r10, rsi
lea r8d, [r14 + 4]
sub r12d, r14d
neg r14d
cmp dword [rsi + r11 + 8], 1
jne 0x140013ada
mov r9d, dword [rsi + r11 + 0xc]
mov eax, dword [rsp + 0x68]
cmp eax, r9d
jle 0x140013a78
sub eax, r9d
movsxd rdx, eax
add rdx, rdx
mov esi, dword [r11 + rdx*8]
jmp 0x140013a7b
mov esi, r13d
mov ebx, r9d
cmp r9d, 0xf
jl 0x140013aa1
lea edi, [r9 - 0xf]
mov eax, 0x80808081
imul edi
lea ebx, [r9 + 1]
add edx, edi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add ebx, edx
add ebx, 3
lea r11d, [r14 + r8]
cmp r11d, 0x13
jl 0x140013ac9
lea edi, [r12 + r8]
mov eax, 0x80808081
imul edi
inc ebx
add edx, edi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add ebx, edx
lea edx, [rbx + rsi]
mov rsi, qword [rsp + 0xb8]
mov ebx, dword [rsp + 0x60]
jmp 0x140013b13
lea r11d, [r14 + r8]
mov r9d, r13d
mov edx, 3
cmp r11d, 0x13
jl 0x140013b06
lea edi, [r12 + r8]
mov eax, 0x80808081
imul edi
add edx, edi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, 4
add edx, eax
mov rax, qword [rsp + 0xa8]
mov eax, dword [rsi + rax]
add edx, eax
lea eax, [rbx + 3]
cmp r8d, eax
jg 0x140013b2a
mov eax, dword [r10 - 4]
sub eax, dword [rsp + 0x1e0]
cmp edx, eax
jg 0x140013b49
cmp rbp, r15
jne 0x140013b3a
cmp ebx, r8d
cmovl ebx, r8d
mov dword [rsp + 0x60], ebx
mov dword [r10 + 4], r11d
mov dword [r10], ecx
mov dword [r10 + 8], r9d
mov dword [r10 - 4], edx
mov r11, qword [rsp + 0xa8]
inc r8d
inc rbp
add r10, 0x10
cmp rbp, r15
jle 0x140013a53
mov r14d, dword [rsp + 0x68]
mov r12, qword [rsp + 0xc0]
movsxd rdi, ebx
mov rdx, rdi
add rdx, rdx
lea rcx, [rdi + 1]
shl rcx, 4
add rcx, r11
mov dword [rcx + 8], 1
mov dword [rcx + 4], r13d
mov dword [rcx + 0xc], 1
mov eax, dword [r11 + rdx*8]
inc eax
mov dword [rcx + 0x18], 1
mov dword [rcx], eax
mov dword [rcx + 0x14], r13d
mov dword [rcx + 0x1c], 2
mov eax, dword [r11 + rdx*8]
add eax, 2
mov dword [rcx + 0x28], 1
mov dword [rcx + 0x10], eax
lea rax, [rdi + 3]
mov dword [rcx + 0x24], r13d
mov dword [rcx + 0x2c], 3
mov ecx, dword [r11 + rdx*8]
add ecx, 3
add rax, rax
mov dword [r11 + rax*8], ecx
jmp 0x140013bf8
mov r12, qword [rsp + 0xc0]
xor r13d, r13d
mov ebx, dword [rsp + 0x60]
mov r11, qword [rsp + 0xa8]
inc r14d
inc r12
mov dword [rsp + 0x68], r14d
mov qword [rsp + 0xc0], r12
cmp r14d, ebx
jl 0x140012050
movsxd rax, ebx
mov r14d, ebx
add rax, rax
mov edx, dword [r11 + rax*8 + 8]
sub r14d, edx
mov r10d, dword [r11 + rax*8 + 4]
movsxd rax, r14d
add rax, rax
mov edi, dword [r11 + rax*8 + 8]
mov r8d, dword [r11 + rax*8 + 4]
mov dword [r11 + rax*8 + 8], edx
mov edx, edi
mov dword [r11 + rax*8 + 4], r10d
cmp edi, r14d
jg 0x140013c74
nop dword [rax + rax]
sub r14d, edi
movsxd rcx, r14d
shl rcx, 4
add rcx, r11
mov edi, dword [rcx + 8]
mov eax, dword [rcx + 4]
mov dword [rcx + 8], edx
mov edx, edi
mov dword [rcx + 4], r8d
mov r8d, eax
cmp edi, r14d
jle 0x140013c50
xor esi, esi
mov ebp, esi
test ebx, ebx
jle 0x140013e72
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0xc8]
movsxd rax, ebp
add rax, rax
movsxd r14, dword [r11 + rax*8 + 8]
cmp r14d, 1
jne 0x140013cc3
mov r15, qword [rsp + 0xb0]
inc r12
jmp 0x140013e5e
mov r11, qword [rsp + 0xa8]
lea ebx, [r14 + 1]
mov dword [rsp + 0x60], ebx
jmp 0x140013c2a
mov r10, qword [rsp + 0xb0]
mov rsi, r12
movsxd rax, dword [r11 + rax*8 + 4]
mov r9, r12
sub rsi, rax
sub r9, r13
cmp dword [rsp + 0x1c8], 0
movabs rcx, 0x8080808080808081
lea rbx, [r10 + 1]
mov r8, rbx
je 0x140013d19
mov rax, rcx
mul r9
lea rax, [rbx + 8]
shr rdx, 7
add rdx, r9
add rax, rdx
cmp rax, qword [rsp + 0xd8]
ja 0x140013eaa
cmp r9, 0xf
jb 0x140013d64
lea r11, [r9 - 0xf]
mov byte [r10], 0xf0
cmp r11, 0xff
jb 0x140013d54
mov rax, rcx
mov rdi, r8
mul r11
mov eax, 0xff
shr rdx, 7
mov rcx, rdx
add r8, rdx
rep stosb byte [rdi], al
imul rax, rdx, 0xffffffffffffff01
add r11, rax
mov byte [r8], r11b
inc r8
mov r11, qword [rsp + 0xa8]
jmp 0x140013d6e
movzx eax, r9b
shl al, 4
mov byte [r10], al
mov rcx, r13
lea r15, [r9 + r8]
sub rcx, r8
nop dword [rax + rax]
mov rax, qword [r8 + rcx]
mov qword [r8], rax
add r8, 8
cmp r8, r15
jb 0x140013d80
movzx eax, r12w
lea rcx, [r14 - 4]
sub ax, si
movabs r8, 0x8080808080808081
mov word [r15], ax
add r15, 2
cmp dword [rsp + 0x1c8], 0
mov qword [rsp + 0xb0], r15
je 0x140013dde
mov rax, r8
mul rcx
lea rax, [r15 + 6]
shr rdx, 7
add rax, rdx
cmp rax, qword [rsp + 0xd8]
ja 0x140013eaa
movzx eax, byte [r10]
cmp rcx, 0xf
jb 0x140013e47
add al, 0xf
sub rcx, 0xf
mov byte [r10], al
cmp rcx, 0x1fe
jb 0x140013e20
mov rax, r8
mul rcx
shr rdx, 8
imul rax, rdx, 0xfffffffffffffe02
add rcx, rax
nop
mov word [r15], 0xffff
add r15, 2
sub rdx, 1
jne 0x140013e10
cmp rcx, 0xff
jb 0x140013e37
sub rcx, 0xff
mov byte [r15], 0xff
inc r15
mov byte [r15], cl
inc r15
mov qword [rsp + 0xb0], r15
jmp 0x140013e4c
add cl, al
mov byte [r10], cl
mov ebx, dword [rsp + 0x60]
add r12, r14
mov r13, r12
mov qword [rsp + 0xc8], r12
add ebp, r14d
mov qword [rsp + 0x48], r12
cmp ebp, ebx
jl 0x140013c80
xor esi, esi
jmp 0x140013e87
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0xc8]
mov r15, qword [rsp + 0xb0]
mov r11d, dword [rsp + 0x1c8]
cmp r12, qword [rsp + 0x110]
ja 0x140014056
mov rbp, qword [rsp + 0x88]
jmp 0x140011084
mov r11d, dword [rsp + 0x1c8]
mov ebp, r14d
cmp r11d, 2
jne 0x14001414d
mov rdi, qword [rsp + 0xd8]
lea rcx, [r9 + 0xf0]
movabs r8, 0x8080808080808081
mov r15, r10
mov rax, r8
mul rcx
lea rcx, [rdi - 3]
shr rdx, 7
inc rdx
add rdx, r9
lea rax, [rdx + r10]
cmp rax, rcx
ja 0x140014052
sub rcx, rdx
movsxd rax, ebp
sub rcx, r10
imul rcx, rcx, 0xff
add rcx, 0x12
cmp rax, rcx
mov rax, rdi
cmovbe ecx, ebp
sub rax, rdx
sub rax, r10
movsxd r11, ecx
add rax, 2
add rax, r11
cmp rax, 0xc
jl 0x140014046
cmp r9, 0xf
jb 0x140013f87
lea r8, [r9 - 0xf]
mov byte [r10], 0xf0
cmp r8, 0xff
jb 0x140013f75
mov rdi, rbx
movabs rax, 0x8080808080808081
mul r8
mov eax, 0xff
shr rdx, 7
mov rcx, rdx
add rbx, rdx
rep stosb byte [rdi], al
imul rax, rdx, 0xffffffffffffff01
add r8, rax
mov byte [rbx], r8b
inc rbx
movabs r8, 0x8080808080808081
jmp 0x140013f91
movzx eax, r9b
shl al, 4
mov byte [r10], al
lea r15, [r9 + rbx]
sub r13, rbx
nop dword [rax + rax]
mov rax, qword [rbx + r13]
mov qword [rbx], rax
add rbx, 8
cmp rbx, r15
jb 0x140013fa0
movzx eax, r12w
lea rcx, [r11 - 4]
sub ax, si
mov word [r15], ax
add r15, 2
movzx eax, byte [r10]
cmp rcx, 0xf
jb 0x14001403d
add al, 0xf
sub rcx, 0xf
mov byte [r10], al
cmp rcx, 0x1fe
jb 0x140014010
mov rax, r8
mul rcx
shr rdx, 8
imul rax, rdx, 0xfffffffffffffe02
add rcx, rax
nop dword [rax]
nop word [rax + rax]
mov word [r15], 0xffff
add r15, 2
sub rdx, 1
jne 0x140014000
cmp rcx, 0xff
jb 0x140014027
sub rcx, 0xff
mov byte [r15], 0xff
inc r15
mov byte [r15], cl
lea r13, [r11 + r12]
mov r11d, dword [rsp + 0x1c8]
inc r15
xor esi, esi
jmp 0x140014060
add cl, al
lea r13, [r11 + r12]
mov byte [r10], cl
mov r11d, dword [rsp + 0x1c8]
xor esi, esi
jmp 0x140014060
xor esi, esi
jmp 0x140014060
movabs r8, 0x8080808080808081
mov r14, qword [rsp + 0x100]
mov rax, qword [rsp + 0xd8]
sub r14, r13
cmp r11d, 2
lea rdi, [rax + 5]
cmovne rdi, rax
test r11d, r11d
je 0x1400140c5
lea rcx, [r14 + 0xf0]
mov rax, r8
mul rcx
lea rax, [r15 + 1]
shr rdx, 7
add rdx, r14
add rax, rdx
cmp rax, rdi
jbe 0x1400140c5
cmp r11d, 1
je 0x14001414f
mov r14, rdi
sub r14, r15
dec r14
lea rax, [r14 + 0xf1]
shr rax, 8
sub r14, rax
lea rbx, [r14 + r13]
cmp r14, 0xf
jb 0x140014113
mov byte [r15], 0xf0
lea r8, [r14 - 0xf]
inc r15
cmp r8, 0xff
jb 0x14001410e
mov rdi, r15
movabs rax, 0x8080808080808081
mul r8
mov eax, 0xff
shr rdx, 7
mov rcx, rdx
add r15, rdx
rep stosb byte [rdi], al
imul rax, rdx, 0xffffffffffffff01
add r8, rax
mov byte [r15], r8b
jmp 0x14001411d
movzx eax, r14b
shl al, 4
mov byte [r15], al
inc r15
mov r8, r14
mov rcx, r15
mov rdx, r13
call sub.VCRUNTIME140.dll_memcpy
sub ebx, dword [rsp + 0x130]
sub r14d, dword [rsp + 0x120]
mov rax, qword [rsp + 0x118]
lea esi, [r15 + r14]
mov dword [rax], ebx
jmp 0x14001414f
xor esi, esi
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, esi
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret