Function at 0x140113da0
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 [0x1402be5c8]
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.1400840e0
nop
mov rdx, rax
lea rcx, [rsp + 0x1a8]
call fcn.140018e70
nop
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x1a8]
call fcn.140057210
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.1401ab2e4
mov r8d, eax
test eax, eax
jne 0x140113fc2
mov ecx, dword [rsp + 0x1b8]
bt ecx, 0xa
jae 0x140113fb7
mov edx, dword [rsp + 0x1bc]
cmp edx, 0xa000000c
jne 0x140113fa8
lea ecx, [rax + 4]
jmp 0x140113fde
cmp edx, 0xa0000003
jne 0x140113fb7
mov ecx, 0xa
jmp 0x140113fde
and ecx, 0x10
or ecx, 0x20
shr ecx, 4
jmp 0x140113fde
sub eax, 2
je 0x140113fd9
sub eax, 1
je 0x140113fd9
sub eax, 0x32
je 0x140113fd9
cmp eax, 0x46
mov ecx, r14d
jne 0x140113fde
mov ecx, 1
mov dword [rsp + 0x30], r8d
lea rax, [0x1402bf5e0]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
test ecx, ecx
je 0x14011516b
cmp ecx, 1
je 0x140115174
lea r12, [rsp + 0x1c8]
cmp qword [rsp + 0x1e0], 8
cmovae r12, qword [rsp + 0x1c8]
mov r15, qword [rsp + 0x1d8]
call fcn.1401aab00
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 0x140114151
cmp r15, 0x7fffffff
ja 0x14011526c
mov dword [rsp + 0x20], r14d
xor r9d, r9d
mov r8d, r15d
mov rdx, r12
mov ecx, r13d
call fcn.1401aab70
mov rbx, rax
shr rax, 0x20
test eax, eax
jne 0x140115275
movsxd rcx, ebx
mov rdx, qword [rsp + 0x40]
cmp rcx, rdx
ja 0x1401140bd
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 0x140114118
mov rsi, rcx
sub rsi, rdx
mov r8, qword [rsp + 0x48]
mov rax, r8
sub rax, rdx
cmp rsi, rax
ja 0x1401140fd
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.1401cff00
mov byte [rdi + rsi], 0
jmp 0x140114118
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.1401aab70
shr rax, 0x20
test eax, eax
jne 0x14011527d
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x60]
lea rcx, [rsp + 0x30]
cmp rdx, 0x10
cmovae rcx, qword [rsp + 0x30]
lea rdx, [0x14024e6b0]
call fcn.1401ea4d4
mov rdi, rax
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1401141ac
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401141a7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140115285
call fcn.1401a9460
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], 0
test rdi, rdi
jne 0x1401142e9
lea rcx, str.Failed_to_open_file_to_read
call fcn.1400adc70
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 0x14011425e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x168]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140114259
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140115337
call fcn.1401a9460
mov qword [rsp + 0x178], r14
mov qword [rsp + 0x180], 7
mov word [rsp + 0x168], r14w
mov rdx, qword [rsp + 0x160]
cmp rdx, 8
jb 0x1401142c3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x148]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401142be
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140115266
call fcn.1401a9460
mov rax, rbx
mov rcx, qword [rsp + 0x3f0]
xor rcx, rsp
call fcn.1401a9440
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.1401e3598
mov rcx, rdi
call fcn.1401eaa18
movsxd r12, eax
mov dword [rsp + 0x50], r12d
mov rcx, r12
call fcn.1401a9d00
mov qword [rsp + 0x110], rax
mov rcx, rdi
call fcn.1401eaa20
mov r9, rdi
mov r8, r12
mov edx, 1
mov rcx, qword [rsp + 0x110]
call fcn.1401e3254
mov rcx, rdi
call fcn.1401df8e8
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 0x14011440c
mov r8, r14
cmp edx, r12d
jge 0x1401143df
nop dword [rax]
cmp r8, 0x1ff
jge 0x1401143df
movsxd rcx, edx
mov rax, qword [rsp + 0x110]
movzx r9d, byte [rcx + rax]
inc edx
mov dword [rsp + 0x140], edx
cmp r9b, 0x2c
je 0x1401143df
mov byte [rsp + r8 + 0x1f0], r9b
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, r12d
jl 0x1401143a0
mov byte [rsp + r8 + 0x1f0], 0
lea rdx, str.ASIC_IDs
lea rcx, [rsp + 0x1f0]
call fcn.1401eab00
test eax, eax
je 0x14011440c
mov edx, dword [rsp + 0x140]
cmp edx, r12d
jl 0x140114395
lea rcx, [rsp + 0x188]
call fcn.140100ba0
lea rcx, [rsp + 0x1f0]
call fcn.1401e8cec
mov dword [rsp + 0xa4], eax
lea rcx, [rsp + 0x188]
call fcn.140100ba0
lea rcx, [rsp + 0x1f0]
call fcn.1401e8cec
test eax, eax
jle 0x1401144ae
mov r10d, eax
nop
mov r8, r14
mov edx, dword [rsp + 0x140]
cmp edx, r12d
jge 0x14011449f
nop
cmp r8, 0x1ff
jge 0x14011449f
movsxd rcx, edx
mov rax, qword [rsp + 0x110]
movzx r9d, byte [rcx + rax]
inc edx
mov dword [rsp + 0x140], edx
cmp r9b, 0x2c
je 0x14011449f
mov byte [rsp + r8 + 0x1f0], r9b
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, r12d
jl 0x140114460
mov byte [rsp + r8 + 0x1f0], 0
sub r10, 1
jne 0x140114450
mov rax, qword [0x1402d2a20]
movsxd rcx, dword [rax + 4]
lea rbx, [0x1402d2a20]
add rcx, rbx
mov dl, 0xa
call fcn.14002b260
movzx edx, al
mov rcx, rbx
call fcn.140137b00
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 0x140114ea5
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x140114570
mov r8, r14
cmp r8, 0x1ff
jge 0x140114570
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 0x140114570
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x140114532
movsxd rax, r10d
mov byte [rax + rdi], 0
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x1401145ce
mov r8, r14
nop dword [rax + rax]
cmp r8, 0x1ff
jge 0x1401145ce
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 0x1401145ce
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x140114590
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 0x14011462e
mov r8, r14
nop
cmp r8, 0x1ff
jge 0x14011462e
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 0x14011462e
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x1401145f0
movsxd rax, r10d
mov byte [rax + rdi], 0
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x140114684
mov r8, r14
cmp r8, 0x1ff
jge 0x140114684
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 0x140114684
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x140114646
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 0x1401146c0
lea rdx, [rsp + 0x1f0]
lea rcx, [rsp + 0x30]
call fcn.140027c80
nop
call fcn.1401e39d0
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.1401e4420
cmp rbx, qword [rsp + 0x128]
je 0x14011528b
cmp dword [r15], 0x22
je 0x14011529e
mov dword [rsp + 0x90], eax
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140114769
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140114763
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140115298
call fcn.1401a9460
nop
jmp 0x14011478f
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x1401147de
mov r8, r14
cmp r8, 0x1ff
jge 0x1401147de
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 0x1401147de
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x1401147a0
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 0x140114820
lea rdx, [rsp + 0x1f0]
lea rcx, [rsp + 0x30]
call fcn.140027c80
nop
call fcn.1401e39d0
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.1401e4420
cmp rbx, qword [rsp + 0x130]
je 0x1401152ab
cmp dword [r15], 0x22
je 0x1401152be
mov dword [rsp + 0x8c], eax
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1401148c9
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401148c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401152b8
call fcn.1401a9460
nop
jmp 0x1401148ef
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x14011493e
mov r8, r14
cmp r8, 0x1ff
jge 0x14011493e
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 0x14011493e
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x140114900
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 0x140114974
lea rdx, [rsp + 0x1f0]
lea rcx, [rsp + 0x30]
call fcn.140027c80
nop
call fcn.1401e39d0
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.1401e4420
mov dword [rsp + 0x68], eax
cmp rbx, qword [rsp + 0x138]
je 0x1401152cb
cmp dword [r15], 0x22
je 0x1401152de
mov dword [rsp + 0x54], eax
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140114a1e
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140114a18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401152d8
call fcn.1401a9460
nop
jmp 0x140114a4c
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x140114a9e
mov r8, r14
nop dword [rax]
cmp r8, 0x1ff
jge 0x140114a9e
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 0x140114a9e
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x140114a60
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 0x140114ad4
lea rdx, [rsp + 0x1f0]
lea rcx, [rsp + 0x30]
call fcn.140027c80
nop
call fcn.1401e39d0
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.1401e4420
mov r13d, eax
cmp rbx, qword [rsp + 0x118]
je 0x1401152eb
cmp dword [r15], 0x22
je 0x1401152f7
mov dword [rsp + 0x6c], eax
lea rcx, [rsp + 0x30]
call fcn.140027870
nop
jmp 0x140114b7d
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x140114bce
mov r8, r14
nop
cmp r8, 0x1ff
jge 0x140114bce
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 0x140114bce
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x140114b90
movsxd rax, r10d
mov byte [rax + rdi], 0
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x140114c24
mov r8, r14
cmp r8, 0x1ff
jge 0x140114c24
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 0x140114c24
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x140114be6
movsxd rax, r10d
mov byte [rax + rdi], 0
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x140114c7e
mov r8, r14
nop dword [rax]
cmp r8, 0x1ff
jge 0x140114c7e
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 0x140114c7e
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x140114c40
movsxd rax, r10d
mov byte [rax + rdi], 0
mov r10d, r14d
mov edx, dword [rsp + 0x140]
cmp edx, esi
jge 0x140114cd4
mov r8, r14
cmp r8, 0x1ff
jge 0x140114cd4
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 0x140114cd4
mov byte [rdi + r8], r9b
inc r10d
inc r8
mov edx, dword [rsp + 0x140]
cmp edx, esi
jl 0x140114c96
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 0x140114d20
lea rdx, [rsp + 0x1f0]
lea rcx, [rsp + 0x1a8]
call fcn.140027c80
nop
call fcn.1401e39d0
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.1401e4420
mov r15d, eax
cmp rbx, qword [rsp + 0x120]
je 0x140115304
mov rax, qword [rsp + 0x30]
cmp dword [rax], 0x22
je 0x140115310
mov dword [rsp + 0x88], r15d
lea rcx, [rsp + 0x1a8]
call fcn.140027870
nop
mov ecx, dword [rsp + 0x68]
jmp 0x140114dea
mov eax, dword [rsp + 0x8c]
cmp dword [rsp + 0x448], eax
jne 0x140114e9c
mov eax, dword [rsp + 0x90]
cmp dword [rsp + 0x450], eax
jne 0x140114e9c
mov edx, dword [rsp + 0x70]
cmp dword [rsp + 0x458], r15d
jne 0x140114e3c
cmp dword [rsp + 0x468], r13d
jne 0x140114e3c
mov eax, dword [rsp + 0x78]
cmp dword [rsp + 0x460], ecx
cmove eax, edx
mov dword [rsp + 0x78], eax
test r15d, r15d
jne 0x140114e5d
cmp dword [rsp + 0x468], r13d
jne 0x140114e5d
mov eax, dword [rsp + 0x7c]
cmp dword [rsp + 0x460], ecx
cmove eax, edx
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x458], r15d
jne 0x140114e7f
test r13d, r13d
jne 0x140114e7f
mov eax, dword [rsp + 0x80]
test ecx, ecx
cmove eax, edx
mov dword [rsp + 0x80], eax
test r15d, r15d
jne 0x140114e9c
test r13d, r13d
jne 0x140114e9c
mov eax, dword [rsp + 0x84]
test ecx, ecx
cmove eax, edx
mov dword [rsp + 0x84], eax
inc dword [rsp + 0x74]
jmp 0x140114510
mov qword [rsp + 0x1e8], r14
mov eax, dword [rsp + 0x78]
cmp eax, 0xffffffff
jne 0x140114edb
mov eax, dword [rsp + 0x7c]
cmp eax, 0xffffffff
jne 0x140114edb
mov eax, dword [rsp + 0x80]
cmp eax, 0xffffffff
jne 0x140114edb
mov eax, dword [rsp + 0x84]
cmp eax, 0xffffffff
je 0x140115076
mov dword [rsp + 0x140], eax
lea rcx, [rsp + 0x188]
call fcn.140100ba0
xor r8d, r8d
mov edx, 0x200
lea rcx, [rsp + 0x1a8]
call fcn.140023b20
mov rbx, rax
lea rax, [rsp + 0x148]
cmp rax, rbx
je 0x140114f50
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.14010a630
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.1401e97cc
lea rcx, [rsp + 0x148]
cmp qword [rsp + 0x160], 8
setae r10b
mov r9, qword [rsp + 0x158]
jb 0x140114fe9
mov rcx, qword [rsp + 0x148]
mov r8, rcx
lea rax, [rcx + r9*2]
lea rdx, [rcx + r9*2]
jmp 0x140115009
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 0x140115020
nop
cmp word [r8], 0
je 0x140115020
add r8, 2
cmp r8, rax
jne 0x140115010
lea rax, [rsp + 0x148]
sub rdx, r8
sar rdx, 1
test r10b, r10b
je 0x140115038
sub r8, rcx
jmp 0x140115043
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.1401cf850
xor ecx, ecx
call fcn.1401e2cec
mov rcx, rax
call fcn.1401eb18c
movsxd rdi, r12d
test r12d, r12d
jle 0x1401150aa
mov rbx, r14
call fcn.1401eb160
mov ecx, eax
mov rax, qword [rsp + 0x110]
mov byte [rbx + rax], cl
inc rbx
cmp rbx, rdi
jl 0x140115090
xor ecx, ecx
call fcn.1401e2cec
mov rcx, rax
call fcn.1401eb18c
mov rbx, r14
nop dword [rax]
call fcn.1401eb160
mov byte [rsp + rbx + 0x1f0], al
inc rbx
cmp rbx, 0x200
jl 0x1401150c0
mov rbx, qword [rsp + 0x110]
mov rcx, rbx
call fcn.1401a9460
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 0x1401142c3
test r8d, r8d
jne 0x14011531d
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 0x1401151fe
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x168]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401151f9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140115337
call fcn.1401a9460
mov qword [rsp + 0x178], r14
mov qword [rsp + 0x180], 7
mov word [rsp + 0x168], r14w
mov rdx, qword [rsp + 0x160]
cmp rdx, 8
jb 0x1401142c3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x148]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401142be
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1401142be
call fcn.1401e37cc
nop
lea ecx, [rdx + 7]
call fcn.140068050
int3
mov ecx, eax
call fcn.140068090
int3
mov ecx, eax
call fcn.140068090
nop
call fcn.1401e37cc
nop
lea rcx, str.invalid_stoi_argument
call fcn.1401abf08
nop
call fcn.1401e37cc
nop
lea rcx, str.stoi_argument_out_of_range
call fcn.1401abf50
nop
lea rcx, str.invalid_stoi_argument
call fcn.1401abf08
nop
call fcn.1401e37cc
nop
lea rcx, str.stoi_argument_out_of_range
call fcn.1401abf50
nop
lea rcx, str.invalid_stoi_argument
call fcn.1401abf08
nop
call fcn.1401e37cc
nop
lea rcx, str.stoi_argument_out_of_range
call fcn.1401abf50
nop
lea rcx, str.invalid_stoi_argument
call fcn.1401abf08
lea rcx, str.stoi_argument_out_of_range
call fcn.1401abf50
nop
lea rcx, str.invalid_stoi_argument
call fcn.1401abf08
lea rcx, str.stoi_argument_out_of_range
call fcn.1401abf50
nop
lea r8, [rsp + 0x1c8]
lea rdx, [rsp + 0x30]
lea rcx, str.exists
call fcn.140067eb0
nop
call fcn.1401e37cc
int3