Function at 0x140114550
Capabilities:
Read file on windows

Disassembly:
mov r11, rsp
mov dword [r11 + 0x20], r9d
mov dword [r11 + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x400
mov rax, qword [0x1402bf5c8]
xor rax, rsp
mov qword [rsp + 0x3f0], rax
mov rbx, rcx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x98], rcx
xor r14d, r14d
mov dword [r11 - 0x398], r14d
mov qword [r11 - 0x2f0], r14
mov qword [r11 - 0x2e0], r14
mov qword [r11 - 0x2d8], 7
mov word [r11 - 0x2f0], r14w
xor r8d, r8d
mov edx, 0x104
lea rcx, [r11 - 0x2d0]
call fcn.140023b20
nop
lea rdx, [rsp + 0x168]
cmp qword [rsp + 0x180], 8
cmovae rdx, qword [rsp + 0x168]
xor ecx, ecx
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea rax, str.amdicdxx.dat
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0xc
xor r8d, r8d
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xd0]
call fcn.140039280
nop
lea rdx, [rsp + 0x168]
cmp qword [rsp + 0x180], 8
cmovae rdx, qword [rsp + 0x168]
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xc8], 7
mov word [rsp + 0xb0], r14w
mov r8, qword [rsp + 0x178]
lea rcx, [rsp + 0xb0]
call fcn.140018360
nop
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0xb0]
call fcn.1400847d0
nop
mov rdx, rax
lea rcx, [rsp + 0x1a8]
call fcn.140018e70
nop
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x1a8]
call fcn.1400575b0
mov rdx, rax
lea rcx, [rsp + 0x1c8]
call fcn.140018e70
nop
lea rcx, [rsp + 0x1a8]
call fcn.1400272a0
nop
lea rcx, [rsp + 0xf0]
call fcn.1400272a0
nop
lea rcx, [rsp + 0xb0]
call fcn.1400272a0
nop
lea rcx, [rsp + 0xd0]
call fcn.1400272a0
lea rcx, [rsp + 0x1c8]
cmp qword [rsp + 0x1e0], 8
cmovae rcx, qword [rsp + 0x1c8]
mov r9d, 0xffffffff
lea r8d, [r14 + 3]
lea rdx, [rsp + 0x1a8]
call fcn.1401ab8d4
mov r8d, eax
test eax, eax
jne 0x140114772
mov ecx, dword [rsp + 0x1b8]
bt ecx, 0xa
jae 0x140114767
mov edx, dword [rsp + 0x1bc]
cmp edx, 0xa000000c
jne 0x140114758
lea ecx, [rax + 4]
jmp 0x14011478e
cmp edx, 0xa0000003
jne 0x140114767
mov ecx, 0xa
jmp 0x14011478e
and ecx, 0x10
or ecx, 0x20
shr ecx, 4
jmp 0x14011478e
sub eax, 2
je 0x140114789
sub eax, 1
je 0x140114789
sub eax, 0x32
je 0x140114789
cmp eax, 0x46
mov ecx, r14d
jne 0x14011478e
mov ecx, 1
mov dword [rsp + 0x30], r8d
lea rax, [0x1402c05e0]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
test ecx, ecx
je 0x14011591b
cmp ecx, 1
je 0x140115924
lea r12, [rsp + 0x1c8]
cmp qword [rsp + 0x1e0], 8
cmovae r12, qword [rsp + 0x1c8]
mov r15, qword [rsp + 0x1d8]
call fcn.1401ab0f0
mov r13d, eax
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x40], r14
mov edx, 0xf
mov qword [rsp + 0x48], rdx
mov byte [rsp + 0x30], 0
mov dword [rsp + 0xa0], reloc.msi.dll_MsiEnumComponentsExW
test r15, r15
je 0x140114901
cmp r15, 0x7fffffff
ja 0x140115a1c
mov dword [rsp + 0x20], r14d
xor r9d, r9d
mov r8d, r15d
mov rdx, r12
mov ecx, r13d
call fcn.1401ab160
mov rbx, rax
shr rax, 0x20
test eax, eax
jne 0x140115a25
movsxd rcx, ebx
mov rdx, qword [rsp + 0x40]
cmp rcx, rdx
ja 0x14011486d
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rcx
mov byte [rax + rcx], 0
jmp 0x1401148c8
mov rsi, rcx
sub rsi, rdx
mov r8, qword [rsp + 0x48]
mov rax, r8
sub rax, rdx
cmp rsi, rax
ja 0x1401148ad
mov qword [rsp + 0x40], rcx
lea rdi, [rsp + 0x30]
cmp r8, 0x10
cmovae rdi, qword [rsp + 0x30]
add rdi, rdx
mov r8, rsi
xor edx, edx
mov rcx, rdi
call fcn.1401d04f0
mov byte [rdi + rsi], 0
jmp 0x1401148c8
mov byte [rsp + 0x20], 0
mov r9, rsi
movzx r8d, byte [rsp + 0x58]
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.14002ef60
lea r9, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae r9, qword [rsp + 0x30]
mov dword [rsp + 0x20], ebx
mov r8d, r15d
mov rdx, r12
mov ecx, r13d
call fcn.1401ab160
shr rax, 0x20
test eax, eax
jne 0x140115a2d
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x60]
lea rcx, [rsp + 0x30]
cmp rdx, 0x10
cmovae rcx, qword [rsp + 0x30]
lea rdx, [0x14024f6b0]
call fcn.1401eaac4
mov rdi, rax
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14011495c
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140114957
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140115a35
call fcn.1401a9a50
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
test rdi, rdi
jne 0x140114a99
lea rcx, str.Failed_to_open_file_to_read
call fcn.1400ae340
movups xmm0, xmmword [rsp + 0x148]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rsp + 0x158]
movups xmmword [rbx + 0x10], xmm1
mov qword [rsp + 0x158], r14
mov qword [rsp + 0x160], 7
mov word [rsp + 0x148], r14w
lea rcx, [rsp + 0x1c8]
call fcn.1400272a0
nop
mov rdx, qword [rsp + 0x180]
cmp rdx, 8
jb 0x140114a0e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x168]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140114a09
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140115ae7
call fcn.1401a9a50
mov qword [rsp + 0x178], r14
mov qword [rsp + 0x180], 7
mov word [rsp + 0x168], r14w
mov rdx, qword [rsp + 0x160]
cmp rdx, 8
jb 0x140114a73
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x148]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140114a6e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140115a16
call fcn.1401a9a50
mov rax, rbx
mov rcx, qword [rsp + 0x3f0]
xor rcx, rsp
call fcn.1401a9a30
add rsp, 0x400
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
xor edx, edx
lea r8d, [rdx + 2]
mov rcx, rdi
call fcn.1401e3b88
mov rcx, rdi
call fcn.1401eb008
movsxd r12, eax
mov dword [rsp + 0x50], r12d
mov rcx, r12
call fcn.1401aa2f0
mov qword [rsp + 0x110], rax
mov rcx, rdi
call fcn.1401eb010
mov r9, rdi
mov r8, r12
mov edx, 1
mov rcx, qword [rsp + 0x110]
call fcn.1401e3844
mov rcx, rdi
call fcn.1401dfed8
mov edx, r14d
mov dword [rsp + 0x140], edx
lea rdi, [rsp + 0x1f0]
mov qword [rsp + 0x188], rdi
lea rax, [rsp + 0x110]
mov qword [rsp + 0x190], rax
lea rax, [rsp + 0x140]
mov qword [rsp + 0x198], rax
mov esi, r12d
mov dword [rsp + 0x1a0], r12d
mov dword [rsp + 0xa8], r12d
test r12d, r12d
jle 0x140114bbc
mov r8, r14
cmp edx, r12d
jge 0x140114b8f
nop dword [rax]
cmp r8, 0x1ff
jge 0x140114b8f
movsxd rcx, edx
mov rax, qword [rsp + 0x110]
movzx r9d, byte [rcx + rax]
inc edx
mov dword [rsp + 0x140], edx
cmp r9b, 0x2c
je 0x140114b8f
mov byte [rsp + r8 + 0x1f0], r9b
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, r12d
jl 0x140114b50
mov byte [rsp + r8 + 0x1f0], 0
lea rdx, str.ASIC_IDs
lea rcx, [rsp + 0x1f0]
call fcn.1401eb0f0
test eax, eax
je 0x140114bbc
mov edx, dword [rsp + 0x140]
cmp edx, r12d
jl 0x140114b45
lea rcx, [rsp + 0x188]
call fcn.140101350
lea rcx, [rsp + 0x1f0]
call fcn.1401e92dc
mov dword [rsp + 0xa4], eax
lea rcx, [rsp + 0x188]
call fcn.140101350
lea rcx, [rsp + 0x1f0]
call fcn.1401e92dc
test eax, eax
jle 0x140114c5e
mov r10d, eax
nop
mov r8, r14
mov edx, dword [rsp + 0x140]
cmp edx, r12d
jge 0x140114c4f
nop
cmp r8, 0x1ff
jge 0x140114c4f
movsxd rcx, edx
mov rax, qword [rsp + 0x110]
movzx r9d, byte [rcx + rax]
inc edx
mov dword [rsp + 0x140], edx
cmp r9b, 0x2c
je 0x140114c4f
mov byte [rsp + r8 + 0x1f0], r9b
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, r12d
jl 0x140114c10
mov byte [rsp + r8 + 0x1f0], 0
sub r10, 1
jne 0x140114c00
mov rax, qword [0x1402d3a20]
movsxd rcx, dword [rax + 4]
lea rbx, [0x1402d3a20]
add rcx, rbx
mov dl, 0xa
call fcn.14002b260
movzx edx, al
mov rcx, rbx
call fcn.1401380f0
mov rcx, rbx
call fcn.14002a3a0
mov dword [rsp + 0x78], 0xffffffff
mov dword [rsp + 0x7c], 0xffffffff
mov dword [rsp + 0x80], 0xffffffff
mov dword [rsp + 0x84], 0xffffffff
mov dword [rsp + 0x74], r14d
nop dword [rax + rax]
mov eax, dword [rsp + 0xa4]
cmp dword [rsp + 0x74], eax
jge 0x140115655
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x140114d20
mov r8, r14
cmp r8, 0x1ff
jge 0x140114d20
movsxd rcx, edx
mov rax, qword [rsp + 0x110]
movzx r9d, byte [rcx + rax]
lea eax, [rdx + 1]
mov dword [rsp + 0x140], eax
cmp r9b, 0x2c
je 0x140114d20
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x140114ce2
movsxd rax, r10d
mov byte [rax + rdi], 0
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x140114d7e
mov r8, r14
nop dword [rax + rax]
cmp r8, 0x1ff
jge 0x140114d7e
movsxd rcx, edx
mov rax, qword [rsp + 0x110]
movzx r9d, byte [rcx + rax]
lea eax, [rdx + 1]
mov dword [rsp + 0x140], eax
cmp r9b, 0x2c
je 0x140114d7e
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x140114d40
movsxd rax, r10d
mov byte [rax + rdi], 0
mov edx, dword [rsp + 0x140]
mov dword [rsp + 0x70], edx
mov r10d, r14d
cmp edx, dword [rsp + 0xa8]
jge 0x140114dde
mov r8, r14
nop
cmp r8, 0x1ff
jge 0x140114dde
movsxd rcx, edx
mov rax, qword [rsp + 0x110]
movzx r9d, byte [rcx + rax]
lea eax, [rdx + 1]
mov dword [rsp + 0x140], eax
cmp r9b, 0x2c
je 0x140114dde
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x140114da0
movsxd rax, r10d
mov byte [rax + rdi], 0
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x140114e34
mov r8, r14
cmp r8, 0x1ff
jge 0x140114e34
movsxd rcx, edx
mov rax, qword [rsp + 0x110]
movzx r9d, byte [rcx + rax]
lea eax, [rdx + 1]
mov dword [rsp + 0x140], eax
cmp r9b, 0x2c
je 0x140114e34
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x140114df6
movsxd rax, r10d
mov byte [rax + rdi], 0
mov dword [rsp + 0x90], 0xffffffff
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
lea rax, [rsp + 0x1f0]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140114e70
lea rdx, [rsp + 0x1f0]
lea rcx, [rsp + 0x30]
call fcn.140027c80
nop
call fcn.1401e3fc0
mov r15, rax
lea rbx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rbx, qword [rsp + 0x30]
mov dword [rax], r14d
xor r8d, r8d
lea rdx, [rsp + 0x128]
mov rcx, rbx
call fcn.1401e4a10
cmp rbx, qword [rsp + 0x128]
je 0x140115a3b
cmp dword [r15], 0x22
je 0x140115a4e
mov dword [rsp + 0x90], eax
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140114f19
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140114f13
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140115a48
call fcn.1401a9a50
nop
jmp 0x140114f3f
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x140114f8e
mov r8, r14
cmp r8, 0x1ff
jge 0x140114f8e
movsxd rcx, edx
mov rax, qword [rsp + 0x110]
movzx r9d, byte [rcx + rax]
lea eax, [rdx + 1]
mov dword [rsp + 0x140], eax
cmp r9b, 0x2c
je 0x140114f8e
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x140114f50
movsxd rax, r10d
mov byte [rax + rdi], 0
mov dword [rsp + 0x8c], 0xffffffff
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
lea rax, [rsp + 0x1f0]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140114fd0
lea rdx, [rsp + 0x1f0]
lea rcx, [rsp + 0x30]
call fcn.140027c80
nop
call fcn.1401e3fc0
mov r15, rax
lea rbx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rbx, qword [rsp + 0x30]
mov dword [rax], r14d
xor r8d, r8d
lea rdx, [rsp + 0x130]
mov rcx, rbx
call fcn.1401e4a10
cmp rbx, qword [rsp + 0x130]
je 0x140115a5b
cmp dword [r15], 0x22
je 0x140115a6e
mov dword [rsp + 0x8c], eax
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140115079
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140115073
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140115a68
call fcn.1401a9a50
nop
jmp 0x14011509f
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x1401150ee
mov r8, r14
cmp r8, 0x1ff
jge 0x1401150ee
movsxd rcx, edx
mov rax, qword [rsp + 0x110]
movzx r9d, byte [rcx + rax]
lea eax, [rdx + 1]
mov dword [rsp + 0x140], eax
cmp r9b, 0x2c
je 0x1401150ee
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x1401150b0
movsxd rax, r10d
mov byte [rax + rdi], 0
mov dword [rsp + 0x54], 0xffffffff
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
lea rax, [rsp + 0x1f0]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140115124
lea rdx, [rsp + 0x1f0]
lea rcx, [rsp + 0x30]
call fcn.140027c80
nop
call fcn.1401e3fc0
mov r15, rax
lea rbx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rbx, qword [rsp + 0x30]
mov dword [rax], r14d
xor r8d, r8d
lea rdx, [rsp + 0x138]
mov rcx, rbx
call fcn.1401e4a10
mov dword [rsp + 0x68], eax
cmp rbx, qword [rsp + 0x138]
je 0x140115a7b
cmp dword [r15], 0x22
je 0x140115a8e
mov dword [rsp + 0x54], eax
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1401151ce
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401151c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140115a88
call fcn.1401a9a50
nop
jmp 0x1401151fc
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x14011524e
mov r8, r14
nop dword [rax]
cmp r8, 0x1ff
jge 0x14011524e
movsxd rcx, edx
mov rax, qword [rsp + 0x110]
movzx r9d, byte [rcx + rax]
lea eax, [rdx + 1]
mov dword [rsp + 0x140], eax
cmp r9b, 0x2c
je 0x14011524e
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x140115210
movsxd rax, r10d
mov byte [rax + rdi], 0
mov dword [rsp + 0x6c], 0xffffffff
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
lea rax, [rsp + 0x1f0]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140115284
lea rdx, [rsp + 0x1f0]
lea rcx, [rsp + 0x30]
call fcn.140027c80
nop
call fcn.1401e3fc0
mov r15, rax
lea rbx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rbx, qword [rsp + 0x30]
mov dword [rax], r14d
xor r8d, r8d
lea rdx, [rsp + 0x118]
mov rcx, rbx
call fcn.1401e4a10
mov r13d, eax
cmp rbx, qword [rsp + 0x118]
je 0x140115a9b
cmp dword [r15], 0x22
je 0x140115aa7
mov dword [rsp + 0x6c], eax
lea rcx, [rsp + 0x30]
call fcn.140027870
nop
jmp 0x14011532d
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x14011537e
mov r8, r14
nop
cmp r8, 0x1ff
jge 0x14011537e
movsxd rcx, edx
mov rax, qword [rsp + 0x110]
movzx r9d, byte [rcx + rax]
lea eax, [rdx + 1]
mov dword [rsp + 0x140], eax
cmp r9b, 0x2c
je 0x14011537e
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x140115340
movsxd rax, r10d
mov byte [rax + rdi], 0
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x1401153d4
mov r8, r14
cmp r8, 0x1ff
jge 0x1401153d4
movsxd rcx, edx
mov rax, qword [rsp + 0x110]
movzx r9d, byte [rcx + rax]
lea eax, [rdx + 1]
mov dword [rsp + 0x140], eax
cmp r9b, 0x2c
je 0x1401153d4
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x140115396
movsxd rax, r10d
mov byte [rax + rdi], 0
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x14011542e
mov r8, r14
nop dword [rax]
cmp r8, 0x1ff
jge 0x14011542e
movsxd rcx, edx
mov rax, qword [rsp + 0x110]
movzx r9d, byte [rcx + rax]
lea eax, [rdx + 1]
mov dword [rsp + 0x140], eax
cmp r9b, 0x2c
je 0x14011542e
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x1401153f0
movsxd rax, r10d
mov byte [rax + rdi], 0
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x140115484
mov r8, r14
cmp r8, 0x1ff
jge 0x140115484
movsxd rcx, edx
mov rax, qword [rsp + 0x110]
movzx r9d, byte [rcx + rax]
lea eax, [rdx + 1]
mov dword [rsp + 0x140], eax
cmp r9b, 0x2c
je 0x140115484
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x140115446
movsxd rax, r10d
mov byte [rax + rdi], 0
mov dword [rsp + 0x88], 0xffffffff
mov qword [rsp + 0x1a8], r14
mov qword [rsp + 0x1b8], r14
mov qword [rsp + 0x1c0], 0xf
mov byte [rsp + 0x1a8], 0
lea rax, [rsp + 0x1f0]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1401154d0
lea rdx, [rsp + 0x1f0]
lea rcx, [rsp + 0x1a8]
call fcn.140027c80
nop
call fcn.1401e3fc0
mov qword [rsp + 0x30], rax
lea rbx, [rsp + 0x1a8]
cmp qword [rsp + 0x1c0], 0x10
cmovae rbx, qword [rsp + 0x1a8]
mov dword [rax], r14d
xor r8d, r8d
lea rdx, [rsp + 0x120]
mov rcx, rbx
call fcn.1401e4a10
mov r15d, eax
cmp rbx, qword [rsp + 0x120]
je 0x140115ab4
mov rax, qword [rsp + 0x30]
cmp dword [rax], 0x22
je 0x140115ac0
mov dword [rsp + 0x88], r15d
lea rcx, [rsp + 0x1a8]
call fcn.140027870
nop
mov ecx, dword [rsp + 0x68]
jmp 0x14011559a
mov eax, dword [rsp + 0x8c]
cmp dword [rsp + 0x448], eax
jne 0x14011564c
mov eax, dword [rsp + 0x90]
cmp dword [rsp + 0x450], eax
jne 0x14011564c
mov edx, dword [rsp + 0x70]
cmp dword [rsp + 0x458], r15d
jne 0x1401155ec
cmp dword [rsp + 0x468], r13d
jne 0x1401155ec
mov eax, dword [rsp + 0x78]
cmp dword [rsp + 0x460], ecx
cmove eax, edx
mov dword [rsp + 0x78], eax
test r15d, r15d
jne 0x14011560d
cmp dword [rsp + 0x468], r13d
jne 0x14011560d
mov eax, dword [rsp + 0x7c]
cmp dword [rsp + 0x460], ecx
cmove eax, edx
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x458], r15d
jne 0x14011562f
test r13d, r13d
jne 0x14011562f
mov eax, dword [rsp + 0x80]
test ecx, ecx
cmove eax, edx
mov dword [rsp + 0x80], eax
test r15d, r15d
jne 0x14011564c
test r13d, r13d
jne 0x14011564c
mov eax, dword [rsp + 0x84]
test ecx, ecx
cmove eax, edx
mov dword [rsp + 0x84], eax
inc dword [rsp + 0x74]
jmp 0x140114cc0
mov qword [rsp + 0x1e8], r14
mov eax, dword [rsp + 0x78]
cmp eax, 0xffffffff
jne 0x14011568b
mov eax, dword [rsp + 0x7c]
cmp eax, 0xffffffff
jne 0x14011568b
mov eax, dword [rsp + 0x80]
cmp eax, 0xffffffff
jne 0x14011568b
mov eax, dword [rsp + 0x84]
cmp eax, 0xffffffff
je 0x140115826
mov dword [rsp + 0x140], eax
lea rcx, [rsp + 0x188]
call fcn.140101350
xor r8d, r8d
mov edx, 0x200
lea rcx, [rsp + 0x1a8]
call fcn.140023b20
mov rbx, rax
lea rax, [rsp + 0x148]
cmp rax, rbx
je 0x140115700
lea rcx, [rsp + 0x148]
call fcn.1400272a0
movups xmm0, xmmword [rbx]
movups xmmword [rsp + 0x148], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rsp + 0x158], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
nop dword [rax + rax]
lea rcx, [rsp + 0x1a8]
call fcn.1400272a0
mov r8d, 0x100
lea rdx, [rsp + 0x1f0]
lea rcx, str.llatsniita
call fcn.14010ade0
lea rdx, [rsp + 0x148]
cmp qword [rsp + 0x160], 8
cmovae rdx, qword [rsp + 0x148]
mov qword [rsp + 0x20], 0x100
lea r9, [rsp + 0x1f0]
mov r8d, 0x100
lea rcx, [rsp + 0x1e8]
call fcn.1401e9dbc
lea rcx, [rsp + 0x148]
cmp qword [rsp + 0x160], 8
setae r10b
mov r9, qword [rsp + 0x158]
jb 0x140115799
mov rcx, qword [rsp + 0x148]
mov r8, rcx
lea rax, [rcx + r9*2]
lea rdx, [rcx + r9*2]
jmp 0x1401157b9
lea rdx, [rcx + r9*2]
lea rax, [rsp + 0x148]
lea rax, [rax + r9*2]
lea r8, [rsp + 0x148]
mov rcx, qword [rsp + 0x148]
cmp r8, rax
je 0x1401157d0
nop
cmp word [r8], 0
je 0x1401157d0
add r8, 2
cmp r8, rax
jne 0x1401157c0
lea rax, [rsp + 0x148]
sub rdx, r8
sar rdx, 1
test r10b, r10b
je 0x1401157e8
sub r8, rcx
jmp 0x1401157f3
sub r8, rax
lea rcx, [rsp + 0x148]
sar r8, 1
mov rax, r9
sub rax, r8
cmp rax, rdx
cmovb rdx, rax
lea rcx, [rcx + r8*2]
sub r9, rdx
mov qword [rsp + 0x158], r9
lea rdx, [rcx + rdx*2]
sub r9, r8
lea r8, [r9*2 + 2]
call fcn.1401cfe40
xor ecx, ecx
call fcn.1401e32dc
mov rcx, rax
call fcn.1401eb77c
movsxd rdi, r12d
test r12d, r12d
jle 0x14011585a
mov rbx, r14
call fcn.1401eb750
mov ecx, eax
mov rax, qword [rsp + 0x110]
mov byte [rbx + rax], cl
inc rbx
cmp rbx, rdi
jl 0x140115840
xor ecx, ecx
call fcn.1401e32dc
mov rcx, rax
call fcn.1401eb77c
mov rbx, r14
nop dword [rax]
call fcn.1401eb750
mov byte [rsp + rbx + 0x1f0], al
inc rbx
cmp rbx, 0x200
jl 0x140115870
mov rbx, qword [rsp + 0x110]
mov rcx, rbx
call fcn.1401a9a50
mov rax, qword [rsp + 0x110]
mov ecx, 0x8123
test rbx, rbx
cmovne rax, rcx
mov qword [rsp + 0x110], rax
mov rbx, qword [rsp + 0x60]
movups xmm0, xmmword [rsp + 0x148]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rsp + 0x158]
movups xmmword [rbx + 0x10], xmm1
mov qword [rsp + 0x158], r14
mov qword [rsp + 0x160], 7
mov word [rsp + 0x148], r14w
lea rcx, [rsp + 0x1c8]
call fcn.1400272a0
nop
lea rcx, [rsp + 0x168]
call fcn.1400272a0
nop
lea rcx, [rsp + 0x148]
call fcn.1400272a0
jmp 0x140114a73
test r8d, r8d
jne 0x140115acd
movups xmm0, xmmword [rsp + 0x148]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rsp + 0x158]
movups xmmword [rbx + 0x10], xmm1
mov qword [rsp + 0x158], r14
mov qword [rsp + 0x160], 7
mov word [rsp + 0x148], r14w
lea rcx, [rsp + 0x1c8]
call fcn.1400272a0
nop
mov rdx, qword [rsp + 0x180]
cmp rdx, 8
jb 0x1401159ae
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x168]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401159a9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140115ae7
call fcn.1401a9a50
mov qword [rsp + 0x178], r14
mov qword [rsp + 0x180], 7
mov word [rsp + 0x168], r14w
mov rdx, qword [rsp + 0x160]
cmp rdx, 8
jb 0x140114a73
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x148]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140114a6e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140114a6e
call fcn.1401e3dbc
nop
lea ecx, [rdx + 7]
call fcn.140068650
int3
mov ecx, eax
call fcn.140068690
int3
mov ecx, eax
call fcn.140068690
nop
call fcn.1401e3dbc
nop
lea rcx, str.invalid_stoi_argument
call fcn.1401ac4f8
nop
call fcn.1401e3dbc
nop
lea rcx, str.stoi_argument_out_of_range
call fcn.1401ac540
nop
lea rcx, str.invalid_stoi_argument
call fcn.1401ac4f8
nop
call fcn.1401e3dbc
nop
lea rcx, str.stoi_argument_out_of_range
call fcn.1401ac540
nop
lea rcx, str.invalid_stoi_argument
call fcn.1401ac4f8
nop
call fcn.1401e3dbc
nop
lea rcx, str.stoi_argument_out_of_range
call fcn.1401ac540
nop
lea rcx, str.invalid_stoi_argument
call fcn.1401ac4f8
lea rcx, str.stoi_argument_out_of_range
call fcn.1401ac540
nop
lea rcx, str.invalid_stoi_argument
call fcn.1401ac4f8
lea rcx, str.stoi_argument_out_of_range
call fcn.1401ac540
nop
lea r8, [rsp + 0x1c8]
lea rdx, [rsp + 0x30]
lea rcx, str.exists
call fcn.1400684b0
nop
call fcn.1401e3dbc
int3