Function at 0x140002d3d
Capabilities:
Write file on windows

Disassembly:
jmp 0x140050cf0
push rbx
push rsi
push rdi
push r13
push r15
push rbp
sub rsp, 0x398
mov r15d, edx
mov rax, qword [0x14016fb98]
mov r13, rcx
xor rax, rsp
mov qword [rsp + 0x3e0], r8
mov qword [rsp + 0x3e8], r9
mov qword [rsp + 0x388], rax
cmp r15d, 0xfffffffb
je 0x1400532fe
mov ecx, r15d
lea rdx, [rsp + 0x88]
mov r8, r13
mov r9d, 5
call fcn.1400038dc
mov esi, eax
test esi, esi
je 0x140050dfc
lea rbx, [rsp + 0x400]
mov qword [rsp + 0x30], rbx
test byte [rsp + 0x3e0], 1
je 0x140050ddd
test byte [rsp + 0x3e3], 0x80
je 0x140050db2
mov ebx, dword [rsp + 0x3e4]
movzx ebx, bl
test bl, 0x10
je 0x140050db2
mov rbx, qword [rsp + 0x30]
lea rbp, [rbx + 8]
mov qword [rsp + 0x30], rbp
add rbx, 0x10
mov rdi, qword [rbp - 8]
mov qword [rsp + 0x30], rbx
mov rbp, qword [rbp]
cmp byte [rdi], 0x38
jne 0x140050db2
cmp byte [rdi + 2], 0x4e
je 0x140051e6a
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
movzx eax, si
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
add rsp, 0x398
pop rbp
pop r15
pop r13
pop rdi
pop rsi
pop rbx
ret
mov ecx, esi
mov edx, 2
mov r8d, r15d
lea r9, str.unknown
call fcn.1400035df
mov qword [rsp + 0x30], 0
mov rax, qword [rsp + 0x88]
xor ebx, ebx
mov dword [rsp + 0x50], 0
mov qword [rax + 0x110], rbx
mov rdx, qword [rsp + 0x88]
mov qword [rdx + 0x1b8], rbx
mov rsi, qword [rsp + 0x88]
and byte [rsi + 0x285], 0xf7
mov r9, qword [rsp + 0x88]
movzx esi, byte [rsp + 0x3e3]
mov rdi, qword [r9 + 0x160]
mov qword [r9 + 0x158], rdi
test esi, 0x80
je 0x140050f31
lea rax, [rsp + 0x400]
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x3e4]
mov dword [rsp + 0x50], eax
test al, 0x20
je 0x140050e88
mov rdx, qword [rsp + 0x88]
or byte [rdx + 0x283], 0x40
test al, 0x10
je 0x140050f20
mov rax, qword [rsp + 0x40]
lea rdx, [rax + 8]
mov qword [rsp + 0x40], rdx
add rax, 0x10
mov rdi, qword [rdx - 8]
mov qword [rsp + 0x40], rax
mov rsi, qword [rdx]
cmp byte [rdi], 0x38
je 0x1400532b2
cmp byte [rdi], 0xb
je 0x140052f37
cmp byte [rdi], 0x38
je 0x140052dba
cmp byte [rdi], 0x38
je 0x140052c6b
cmp byte [rdi], 0x38
je 0x140052ae8
cmp byte [rdi], 0x38
je 0x140052950
cmp byte [rdi], 0x38
je 0x140052801
cmp byte [rdi], 0x38
je 0x1400526b7
cmp byte [rdi], 1
je 0x140050f20
mov ecx, 8
mov edx, 2
lea r8, str.for_wseq_fmt.c
mov r9d, 0x244
mov qword [rsp + 0x40], 0
call fcn.1400035df
mov qword [rsp + 0x40], 0
movzx esi, byte [rsp + 0x3e3]
mov r9, qword [rsp + 0x88]
mov dl, byte [rsp + 0x3e0]
mov al, dl
and al, 1
mov r10b, dl
mov dil, byte [r9 + 0x27c]
and r10b, 2
and dil, 0xfe
or dil, al
mov byte [r9 + 0x27c], dil
mov rax, qword [rsp + 0x88]
mov r11b, byte [rax + 0x27c]
and r11b, 0xfd
or r11b, r10b
mov byte [rax + 0x27c], r11b
mov al, byte [rsp + 0x3e2]
mov dil, al
shr dil, 1
mov r10, qword [rsp + 0x88]
and dil, 0xe0
mov r9b, byte [r10 + 0x27e]
and r9b, 0x9f
or r9b, dil
mov edi, esi
mov byte [r10 + 0x27e], r9b
mov r10, qword [rsp + 0x88]
shl edi, 7
movzx r9d, byte [r10 + 0x27e]
and r9d, 0x7f
or r9d, edi
mov edi, esi
mov byte [r10 + 0x27e], r9b
mov r10, qword [rsp + 0x88]
shr edi, 1
and edi, 1
movzx r9d, byte [r10 + 0x27f]
shl edi, 3
and r9d, 0xfffffff7
or r9d, edi
mov byte [r10 + 0x27f], r9b
xor r9d, r9d
mov rdi, qword [rsp + 0x88]
mov dword [rdi + 0x210], r9d
mov rdi, qword [rsp + 0x88]
mov dword [rdi + 0x218], r9d
mov r9, qword [rsp + 0x88]
test byte [r9 + 0x279], 0x20
jne 0x140051331
cmp dword [r9 + 0x1d0], 0xfffffffb
je 0x140051331
shr dl, 7
shr al, 2
mov dil, byte [r9 + 0x278]
and al, 1
and dil, 0xfe
add al, al
or dil, dl
mov byte [r9 + 0x278], dil
mov r10, qword [rsp + 0x88]
mov dl, byte [r10 + 0x278]
and dl, 0xfd
or dl, al
mov eax, esi
shr eax, 3
mov byte [r10 + 0x278], dl
and eax, 1
mov rdx, qword [rsp + 0x88]
movzx r9d, byte [rdx + 0x278]
lea r11d, [rax*4]
and r9d, 0xfffffffb
or r9d, r11d
mov byte [rdx + 0x278], r9b
mov r9d, esi
mov rdi, qword [rsp + 0x88]
shr r9d, 2
and r9d, 1
movzx edx, byte [rdi + 0x278]
shl r9d, 3
and edx, 0xfffffff7
or edx, r9d
mov r9d, esi
mov byte [rdi + 0x278], dl
mov rdi, qword [rsp + 0x88]
shr r9d, 6
and r9d, 1
movzx edx, byte [rdi + 0x278]
shl r9d, 4
and edx, 0xffffffef
or edx, r9d
mov r9d, eax
mov byte [rdi + 0x278], dl
mov rdi, qword [rsp + 0x88]
shl r9d, 5
shl eax, 3
movzx edx, byte [rdi + 0x278]
and edx, 0xffffffdf
or edx, r9d
mov r9d, esi
mov byte [rdi + 0x278], dl
mov rdi, qword [rsp + 0x88]
shr r9d, 4
and r9d, 1
movzx edx, byte [rdi + 0x281]
shl r9d, 2
and edx, 0xfffffffb
or edx, r9d
mov byte [rdi + 0x281], dl
mov rdx, qword [rsp + 0x88]
shr esi, 5
and esi, 1
movzx r9d, byte [rdx + 0x281]
and r9d, 0xfffffff7
or r9d, eax
mov byte [rdx + 0x281], r9b
mov r9d, esi
mov rdx, qword [rsp + 0x88]
shl r9d, 6
shl esi, 7
movzx eax, byte [rdx + 0x278]
and eax, 0xffffffbf
or eax, r9d
mov byte [rdx + 0x278], al
mov rax, qword [rsp + 0x88]
mov dil, byte [rsp + 0x51]
movzx r9d, byte [rax + 0x278]
and r9d, 0x7f
or r9d, esi
mov byte [rax + 0x278], r9b
mov rdx, qword [rsp + 0x88]
mov r9b, byte [rsp + 0x50]
mov sil, r9b
and sil, 1
mov al, byte [rdx + 0x279]
and al, 0xfe
or al, sil
mov byte [rdx + 0x279], al
mov al, r9b
shr al, 1
and al, 1
shl al, 5
mov rsi, qword [rsp + 0x88]
mov dl, byte [rsi + 0x281]
and dl, 0xdf
or dl, al
mov al, r9b
shr al, 2
and r9b, 0x80
mov byte [rsi + 0x281], dl
and al, 3
mov rsi, qword [rsp + 0x88]
add al, al
mov dl, byte [rsi + 0x279]
and dl, 0xf9
or dl, al
mov al, dil
shr al, 1
and al, 1
shl al, 3
mov byte [rsi + 0x279], dl
mov rsi, qword [rsp + 0x88]
mov dl, byte [rsi + 0x284]
and dl, 0xf7
or dl, al
mov byte [rsi + 0x284], dl
mov rdx, qword [rsp + 0x88]
mov al, byte [rdx + 0x283]
and al, 0x7f
or al, r9b
mov byte [rdx + 0x283], al
mov rcx, qword [rsp + 0x88]
mov al, byte [rcx + 0x284]
test al, 0x10
jne 0x14005128e
shr dil, 2
and al, 0xef
and dil, 1
shl dil, 4
or al, dil
mov byte [rcx + 0x284], al
mov rcx, qword [rsp + 0x88]
mov edx, 1
mov r8d, 4
mov r9d, edx
call fcn.140001dbb
test eax, eax
je 0x140051329
mov r9, qword [rsp + 0x88]
mov rbp, qword [r9 + 0x30]
test rbp, rbp
je 0x140051ffe
test byte [rbp + 0x74], 2
je 0x140051fbf
mov dword [rbp + 0x68], eax
mov rcx, qword [rsp + 0x88]
mov rbp, qword [rcx + 0x30]
mov dword [rbp + 0x6c], eax
mov rsi, qword [rsp + 0x88]
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
je 0x140051301
mov qword [rcx + 8], rbx
mov rcx, qword [rsp + 0x88]
mov qword [rcx + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
add rsp, 0x398
pop rbp
pop r15
pop r13
pop rdi
pop rsi
pop rbx
ret
mov r9, qword [rsp + 0x88]
test byte [r9 + 0x279], 0x40
je 0x1400513c1
mov rax, qword [r9 + 0x30]
test rax, rax
je 0x140052070
test byte [rax + 0x74], 2
je 0x14005202a
mov edx, 0x2f
mov dword [rax + 0x68], edx
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax + 0x30]
mov dword [rcx + 0x6c], edx
mov rbp, qword [rsp + 0x88]
mov rax, qword [rbp + 0xd0]
test rax, rax
je 0x140051394
mov qword [rax + 8], rbx
mov rax, qword [rsp + 0x88]
mov qword [rax + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
mov eax, 0x2f
add rsp, 0x398
pop rbp
pop r15
pop r13
pop rdi
pop rsi
pop rbx
ret
test byte [r9 + 0x27a], 0x40
jne 0x140051473
cmp r15d, 0xfffffffb
je 0x140051473
test r9, r9
je 0x1400513ee
movzx eax, word [r9 + 0x264]
test eax, eax
jg 0x140051473
mov rax, qword [r9 + 0x30]
test rax, rax
je 0x1400520e5
test byte [rax + 0x74], 2
je 0x14005209f
mov dword [rax + 0x68], 0x101
mov rax, qword [rsp + 0x88]
mov rdx, qword [rax + 0x30]
mov dword [rdx + 0x6c], 0x1f
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx + 0xd0]
test rax, rax
je 0x140051446
mov qword [rax + 8], rbx
mov rax, qword [rsp + 0x88]
mov qword [rax + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
mov eax, 0x101
add rsp, 0x398
pop rbp
pop r15
pop r13
pop rdi
pop rsi
pop rbx
ret
test byte [r9 + 0x27b], 8
je 0x140051524
test byte [r9 + 0x278], 4
je 0x14005149f
je 0x140051524
cmp byte [r9 + 0x268], 1
jne 0x140051524
mov rax, qword [r9 + 0x30]
test rax, rax
je 0x14005215d
test byte [rax + 0x74], 2
je 0x140052117
mov dword [rax + 0x68], 0x103
mov rax, qword [rsp + 0x88]
mov rdx, qword [rax + 0x30]
mov dword [rdx + 0x6c], 0x1f
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx + 0xd0]
test rax, rax
je 0x1400514f7
mov qword [rax + 8], rbx
mov rax, qword [rsp + 0x88]
mov qword [rax + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
mov eax, 0x103
add rsp, 0x398
pop rbp
pop r15
pop r13
pop rdi
pop rsi
pop rbx
ret
mov rsi, qword [r9 + 0xb8]
mov eax, 0xe0
pxor xmm0, xmm0
movups xmmword [rsi + rax - 0x10], xmm0
movups xmmword [rsi + rax - 0x20], xmm0
movups xmmword [rsi + rax - 0x30], xmm0
movups xmmword [rsi + rax - 0x40], xmm0
movups xmmword [rsi + rax - 0x50], xmm0
movups xmmword [rsi + rax - 0x60], xmm0
movups xmmword [rsi + rax - 0x70], xmm0
sub rax, 0x70
jne 0x140051534
mov dl, byte [rsp + 0x51]
and dl, 1
shl dl, 3
mov dil, byte [rsi + 0xd9]
and dil, 0xf7
mov rax, qword [rsp + 0x88]
or dil, dl
mov qword [rsi], rax
mov byte [rsi + 0xd9], dil
mov rdx, qword [rsp + 0x88]
mov al, byte [rdx + 0x275]
test al, al
je 0x1400515f1
cmp al, 1
je 0x1400515d9
cmp al, 2
jne 0x1400515bb
mov al, byte [rsi + 0xd4]
or al, 4
and al, 0xe7
mov byte [rsi + 0xd4], al
mov rdx, qword [rsp + 0x88]
jmp 0x1400515f1
cmp al, 3
jne 0x1400515f1
mov al, byte [rsi + 0xd4]
and al, 0xeb
or al, 8
mov byte [rsi + 0xd4], al
mov rdx, qword [rsp + 0x88]
jmp 0x1400515f1
mov al, byte [rsi + 0xd4]
and al, 0xf3
or al, 0x10
mov byte [rsi + 0xd4], al
mov rdx, qword [rsp + 0x88]
movzx edx, byte [rdx + 0x271]
test edx, edx
je 0x140051674
dec edx
cmp edx, 4
ja 0x140051674
lea rdi, [0x140000000]
movzx eax, byte [rdi + rdx + 0x14d420]
lea rax, [rdi + rax + 0x5161c]
jmp rax
test byte [rsp + 0x3e0], 8
je 0x140051766
mov rax, qword [rsp + 0x88]
movzx r8d, byte [rax + 0x27c]
test r8d, 1
jne 0x1400516b1
test r8d, 2
jne 0x1400516b1
not r8d
and r8d, 4
shr r8d, 2
jmp 0x1400516b4
xor r8d, r8d
mov rcx, qword [rsp + 0x3f8]
lea rdx, [rsp + 0x80]
call fcn.14000440d
test eax, eax
je 0x140051751
mov r9, qword [rsp + 0x88]
mov rbp, qword [r9 + 0x30]
test rbp, rbp
je 0x1400521ce
test byte [rbp + 0x74], 2
je 0x14005218f
mov dword [rbp + 0x68], eax
mov rcx, qword [rsp + 0x88]
mov rbp, qword [rcx + 0x30]
mov dword [rbp + 0x6c], eax
mov rsi, qword [rsp + 0x88]
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
je 0x140051729
mov qword [rcx + 8], rbx
mov rcx, qword [rsp + 0x88]
mov qword [rcx + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
add rsp, 0x398
pop rbp
pop r15
pop r13
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rsp + 0x80]
mov qword [rsi + 0x10], rax
or byte [rsi + 0xd7], 2
jmp 0x140051772
mov rax, qword [rsp + 0x3f8]
mov qword [rsi + 0x10], rax
mov rsi, qword [rsp + 0x88]
test byte [rsi + 0x27b], 4
je 0x14005188b
mov rax, qword [rsi + 0x158]
cmp rax, qword [rsi + 0x160]
je 0x14005187c
test byte [rsi + 0x27d], 4
jne 0x140052476
mov rdx, qword [rsi + 0x158]
lea r8, [rsp + 0x74]
mov rcx, qword [rsi + 0x198]
xor r9d, r9d
mov qword [r8 - 4], rdx
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rsp + 0x70], eax
mov edx, eax
cmp eax, 0xffffffff
je 0x140052454
mov eax, dword [rsp + 0x74]
shl rax, 0x20
or rax, rdx
cmp rax, 0xffffffffffffffff
je 0x140052355
mov rdx, qword [rsp + 0x88]
mov rax, qword [rdx + 0x158]
mov qword [rdx + 0x160], rax
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rdi + 0x158]
mov qword [rdi + 0x168], rsi
mov r9, qword [rsp + 0x88]
mov qword [r9 + 0x170], rbx
mov r11, qword [rsp + 0x88]
mov r10, qword [r11 + 0x170]
mov qword [r11 + 0x1b0], r10
mov r15, qword [rsp + 0x88]
and byte [r15 + 0x27d], 0xfd
mov rax, qword [rsp + 0x88]
mov qword [rax + 0x138], rbx
mov rsi, qword [rsp + 0x88]
mov rax, qword [rsi + 0x100]
test rax, rax
je 0x14005187c
mov byte [rax + 0x32], 0
mov rsi, qword [rsp + 0x88]
or byte [rsi + 0x27d], 8
mov rsi, qword [rsp + 0x88]
mov rax, qword [rsi + 0x100]
test rax, rax
je 0x1400518a1
cmp byte [rax + 0x32], 0
jne 0x140051b91
test rsi, rsi
je 0x1400518b5
movzx eax, word [rsi + 0x264]
test eax, eax
jg 0x140051b71
mov rcx, rsi
xor edx, edx
call fcn.140001104
test eax, eax
je 0x14005192d
mov rax, qword [rsi + 0x30]
test rax, rax
je 0x140052240
test byte [rax + 0x74], 2
je 0x1400521fa
mov edx, 0x26
mov dword [rax + 0x68], edx
mov rax, qword [rsi + 0x30]
mov dword [rax + 0x6c], edx
mov rax, qword [rsi + 0xd0]
test rax, rax
je 0x140051900
mov qword [rax + 8], rbx
mov qword [rsi + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
mov eax, 0x26
add rsp, 0x398
pop rbp
pop r15
pop r13
pop rdi
pop rsi
pop rbx
ret
movsx edx, byte [rsi + 0x266]
cmp edx, 8
ja 0x140051a8a
lea rdi, [0x140000000]
movzx eax, byte [rdi + rdx + 0x14d42c]
lea rax, [rdi + rax + 0x51956]
jmp rax
mov ecx, 8
mov edx, 2
lea r8, str.for_wseq_fmt.c
mov r9d, 0x346
call fcn.1400035df
mov r11b, byte [rsi + 0x278]
mov rax, qword [rsi + 0x78]
test r11b, 4
je 0x140051ad2
test byte [rsi + 0x27a], 0x40
je 0x140051ad2
test byte [rsi + 0x27b], 8
je 0x140051ad2
cmp byte [rsi + 0x266], 1
je 0x140051b24
mov dl, byte [rsi + 0x268]
cmp dl, 2
jne 0x140051afb
mov dl, byte [rsi + 0x266]
cmp dl, 7
je 0x140051b24
cmp dl, 6
je 0x140051b24
cmp dl, 8
je 0x140051b24
dec qword [rsi + 0x88]
jmp 0x140051b24
cmp dl, 1
jne 0x140051b24
mov dl, byte [rsi + 0x266]
cmp dl, 7
je 0x140051b1c
cmp dl, 6
je 0x140051b1c
cmp dl, 8
je 0x140051b1c
dec qword [rsi + 0x88]
add rax, 5
mov qword [rsi + 0x78], rax
mov qword [rsi + 0x90], rax
mov qword [rsi + 0x98], 0
mov rsi, qword [rsp + 0x88]
test rsi, rsi
je 0x140051b4e
movzx eax, word [rsi + 0x264]
test eax, eax
jg 0x140051b71
mov rcx, qword [rsi + 0x78]
mov edx, 0x20
mov rsi, qword [rsi + 0x88]
sub rsi, rcx
movsxd r8, esi
call fcn.140003ad0
mov rsi, qword [rsp + 0x88]
mov rax, qword [rsi + 0x78]
mov qword [rsi + 0xa8], rax
mov rsi, qword [rsp + 0x88]
mov rdx, qword [rsi + 0x78]
mov qword [rsi + 0x98], rdx
jmp 0x140051b9c
mov rax, qword [rsi + 0x78]
mov qword [rsi + 0x90], rax
mov rdx, qword [rsp + 0x88]
mov rax, qword [rdx + 0x100]
test rax, rax
je 0x140051bef
cmp byte [rax + 0x33], 0
je 0x140051bef
mov rcx, qword [rdx + 0x198]
call qword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 2
je 0x140051bef
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx + 0x100]
test rax, rax
je 0x140051be8
mov byte [rax + 0x33], 0
mov rcx, qword [rsp + 0x88]
xor edx, edx
call fcn.140001104
test byte [rsp + 0x3e2], 8
jne 0x140051c2e
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x140051c15
movzx eax, word [rdx + 0x264]
test eax, eax
jg 0x140051e2a
mov rax, qword [rdx + 0x100]
test rax, rax
je 0x140051e2a
mov byte [rax + 0x32], 0
jmp 0x140051e2a
lea rcx, [rsp + 0x3e8]
lea rdx, [rsp + 0x3f0]
lea r8, [rsp + 0x48]
lea r9, [rsp + 0x90]
call fcn.140001e7e
test eax, eax
jne 0x140051d5e
movsxd rdi, dword [rsp + 0x60]
xor edx, edx
mov rsi, qword [rsp + 0x48]
lea r8, [rsp + 0x78]
lea rcx, [rdi + 1]
call fcn.140003fc1
test eax, eax
jne 0x140051d5e
mov r15, rbx
test rdi, rdi
jle 0x140051ca7
mov qword [rsp + 0x68], r14
movsx ecx, byte [r15 + rsi]
call fcn.140003d73
mov rdx, qword [rsp + 0x78]
mov byte [rdx + r15], al
inc r15
cmp r15, rdi
jl 0x140051c87
mov r14, qword [rsp + 0x68]
mov rax, qword [rsp + 0x78]
mov byte [rdi + rax], 0
mov rcx, qword [rsp + 0x78]
cmp byte [rcx + rdi - 1], 0x20
jne 0x140051cd6
cmp rdi, 1
jle 0x140051cd6
mov byte [rcx + rdi - 1], 0
dec rdi
mov rcx, qword [rsp + 0x78]
cmp byte [rcx + rdi - 1], 0x20
je 0x140051cbc
lea rdi, [0x14014c3e4]
mov rsi, rcx
mov dl, byte [rdi]
cmp dl, byte [rsi]
jne 0x140051d02
test dl, dl
je 0x140051cfe
mov dl, byte [rdi + 1]
cmp dl, byte [rsi + 1]
jne 0x140051d02
add rdi, 2
add rsi, 2
test dl, dl
jne 0x140051ce0
xor eax, eax
jmp 0x140051d07
sbb eax, eax
or eax, 1
test eax, eax
je 0x140051d57
lea rdi, [0x14014c3e8]
mov rsi, rcx
mov dl, byte [rdi]
cmp dl, byte [rsi]
jne 0x140051d37
test dl, dl
je 0x140051d33
mov dl, byte [rdi + 1]
cmp dl, byte [rsi + 1]
jne 0x140051d37
add rdi, 2
add rsi, 2
test dl, dl
jne 0x140051d15
xor eax, eax
jmp 0x140051d3c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140051d47
mov ebp, 1
jmp 0x140051d59
call fcn.14000231f
test eax, eax
jne 0x140051d5e
mov eax, 0x30
jmp 0x140051d66
xor ebp, ebp
call fcn.14000231f
test eax, eax
je 0x140051de6
mov r9, qword [rsp + 0x88]
mov rbp, qword [r9 + 0x30]
test rbp, rbp
je 0x140052329
test byte [rbp + 0x74], 2
je 0x1400522ea
mov dword [rbp + 0x68], eax
mov rcx, qword [rsp + 0x88]
mov rbp, qword [rcx + 0x30]
mov dword [rbp + 0x6c], eax
mov rsi, qword [rsp + 0x88]
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
je 0x140051dbe
mov qword [rcx + 8], rbx
mov rcx, qword [rsp + 0x88]
mov qword [rcx + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
add rsp, 0x398
pop rbp
pop r15
pop r13
pop rdi
pop rsi
pop rbx
ret
test ebp, ebp
je 0x140051e04
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x100]
test rax, rax
je 0x140051e2a
mov byte [rax + 0x32], 0
jmp 0x140051e2a
mov rax, qword [rsp + 0x88]
mov rdx, qword [rax + 0x100]
mov byte [rdx + 0x32], 1
mov rbx, qword [rsp + 0x88]
mov rbp, qword [rbx + 0x100]
mov qword [rbp + 0x18], rbx
mov rcx, r13
mov rdx, qword [rsp + 0x3e8]
mov r8, qword [rsp + 0x3f0]
call fcn.140002ced
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
add rsp, 0x398
pop rbp
pop r15
pop r13
pop rdi
pop rsi
pop rbx
ret
mov ecx, r15d
lea rdx, [rsp + 0x30]
call fcn.14000388c
test eax, eax
jne 0x140050db2
mov rdi, qword [rsp + 0x30]
xor ebx, ebx
mov r13b, byte [rsp + 0x3e0]
and r13b, 1
mov qword [rdi + 0x110], rbx
mov r10, qword [rsp + 0x30]
mov qword [r10 + 0x1b8], rbx
mov r11, qword [rsp + 0x30]
and byte [r11 + 0x285], 0xf7
mov rdi, qword [rsp + 0x30]
mov r15b, byte [rdi + 0x27c]
and r15b, 0xfe
or r15b, r13b
mov byte [rdi + 0x27c], r15b
mov r10, qword [rsp + 0x30]
mov rdi, qword [rbp]
mov qword [r10 + 0x1b8], rdi
mov rdi, qword [rsp + 0x30]
mov rbp, qword [rbp + 8]
mov qword [rdi + 0x110], rbp
mov r9, qword [rsp + 0x30]
mov rbp, qword [r9 + 0x30]
test rbp, rbp
je 0x140051f9a
test byte [rbp + 0x74], 2
je 0x140051f5f
mov dword [rbp + 0x68], esi
mov rbp, qword [rsp + 0x30]
mov rdi, qword [rbp + 0x30]
mov dword [rdi + 0x6c], esi
mov r10, qword [rsp + 0x30]
mov rbp, qword [r10 + 0xd0]
test rbp, rbp
je 0x140051f34
mov qword [rbp + 8], rbx
mov rbp, qword [rsp + 0x30]
mov qword [rbp + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
mov eax, esi
add rsp, 0x398
pop rbp
pop r15
pop r13
pop rdi
pop rsi
pop rbx
ret
call fcn.140003bcf
mov rbx, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, esi
mov dword [rbx + 0x20], esi
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
xor ecx, ecx
mov edx, esi
mov r8d, esi
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov rbx, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, eax
mov dword [rbx + 0x20], eax
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov ecx, 2
mov edx, eax
mov r8d, eax
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov rax, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, 0x2f
mov dword [rax + 0x20], 0x2f
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov edx, 0x2f
mov ecx, 1
mov r8d, edx
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov rax, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, 0x101
mov dword [rax + 0x20], 0x1f
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov ecx, 1
mov edx, 0x101
mov r8d, 0x1f
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov rax, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, 0x103
mov dword [rax + 0x20], 0x1f
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov ecx, 1
mov edx, 0x103
mov r8d, 0x1f
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov rbx, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, eax
mov dword [rbx + 0x20], eax
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov ecx, 1
mov edx, eax
mov r8d, eax
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov rax, rsp
mov rcx, rsi
movzx r8d, byte [rsi + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, 0x26
mov dword [rax + 0x20], 0x26
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov edx, 0x26
mov ecx, 1
mov r8d, edx
mov r9, rsi
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov rbx, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, eax
mov dword [rbx + 0x20], eax
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov ecx, 1
mov edx, eax
mov r8d, eax
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rdx, qword [rsp + 0x88]
mov dword [rdx + 0x1a0], eax
mov r9, qword [rsp + 0x88]
mov rax, qword [r9 + 0x30]
test rax, rax
je 0x140052425
test byte [rax + 0x74], 2
je 0x1400523df
mov edx, 0x26
mov dword [rax + 0x68], edx
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax + 0x30]
mov dword [rcx + 0x6c], edx
mov rbp, qword [rsp + 0x88]
mov rax, qword [rbp + 0xd0]
test rax, rax
je 0x1400523c2
mov qword [rax + 8], rbx
mov rax, qword [rsp + 0x88]
mov qword [rax + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140051918
mov rax, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, 0x26
mov dword [rax + 0x20], 0x26
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov edx, 0x26
mov ecx, 1
mov r8d, edx
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14005246c
mov qword [rsp + 0x70], 0xffffffffffffffff
jmp 0x140052355
mov rax, qword [rsp + 0x70]
jmp 0x1400517e2
mov rdx, qword [rsi + 0x70]
mov rdi, qword [rsi + 0x80]
mov r8, qword [rsi + 0x230]
sub rdi, rdx
test r8, r8
je 0x14005249b
cmp rdi, r8
jbe 0x140052539
jmp 0x1400524ae
cmp rdi, 0x20000
jbe 0x140052539
mov r8d, 0x20000
mov qword [rsp + 0x38], r12
mov r15, rdi
mov qword [rsp + 0x68], r14
mov r14, rdx
mov r12, r8
mov rax, rsp
mov rdx, r14
mov rcx, qword [rsi + 0x198]
mov r8d, r12d
lea r9, [rsp + 0x40]
mov qword [rax + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1400524f9
mov r12, qword [rsp + 0x38]
mov eax, 0xffffffff
mov r14, qword [rsp + 0x68]
jmp 0x140052568
mov r10, qword [rsi + 0x230]
mov r11d, 0x20000
test r10, r10
mov edx, dword [rsp + 0x40]
cmovne r11, r10
mov eax, 1
sub r15, rdx
add r14, rdx
cmp r15, r11
cmovb r12, r15
test r15, r15
je 0x14005252d
test rdx, rdx
ja 0x1400524c1
mov r12, qword [rsp + 0x38]
mov r14, qword [rsp + 0x68]
jmp 0x140052568
mov rax, rsp
mov r8d, edi
mov rcx, qword [rsi + 0x198]
lea r9, [rsp + 0x40]
mov qword [rax + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, 0xffffffff
test eax, eax
mov eax, 1
cmove eax, edx
mov r10, qword [rsi + 0x70]
mov rdx, qword [rsi + 0x1c0]
mov r11, qword [rsi + 0x168]
add rdi, r11
mov qword [rsi + 0x80], r10
add r10, rdx
and byte [rsi + 0x27d], 0xfb
mov qword [rsi + 0x88], r10
mov qword [rsi + 0x150], 0
mov qword [rsi + 0x168], rdi
mov qword [rsi + 0x160], rdi
cmp eax, 0xffffffff
je 0x1400525c0
mov rsi, qword [rsp + 0x88]
jmp 0x1400517a8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi + 0x1a0], eax
mov r9, qword [rsp + 0x88]
mov rax, qword [r9 + 0x30]
test rax, rax
je 0x140052688
test byte [rax + 0x74], 2
je 0x140052642
mov edx, 0x26
mov dword [rax + 0x68], edx
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax + 0x30]
mov dword [rcx + 0x6c], edx
mov rbp, qword [rsp + 0x88]
mov rax, qword [rbp + 0xd0]
test rax, rax
je 0x140052625
mov qword [rax + 8], rbx
mov rax, qword [rsp + 0x88]
mov qword [rax + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140051918
mov rax, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, 0x26
mov dword [rax + 0x20], 0x26
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov edx, 0x26
mov ecx, 1
mov r8d, edx
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
cmp byte [rdi + 2], 0x53
jne 0x140050ef6
mov rax, rsp
mov r8d, 0x53
mov rcx, qword [rsi + 8]
lea r9, [rsp + 0x30]
mov edx, dword [rsi]
mov dword [rax + 0x20], 3
call fcn.140002f18
test eax, eax
jne 0x140052725
mov rdx, qword [rsp + 0x88]
add rdi, 4
mov al, byte [rdx + 0x275]
mov byte [rdx + 0x276], al
mov rsi, qword [rsp + 0x88]
or byte [rsi + 0x283], 0x20
mov r10, qword [rsp + 0x88]
mov r9d, dword [rsp + 0x30]
mov byte [r10 + 0x275], r9b
jmp 0x140050ef6
mov r9, qword [rsp + 0x88]
mov rbp, qword [r9 + 0x30]
test rbp, rbp
je 0x1400527d5
test byte [rbp + 0x74], 2
je 0x140052796
mov dword [rbp + 0x68], eax
mov rcx, qword [rsp + 0x88]
mov rbp, qword [rcx + 0x30]
mov dword [rbp + 0x6c], eax
mov rsi, qword [rsp + 0x88]
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
je 0x140052779
mov qword [rcx + 8], rbx
mov rcx, qword [rsp + 0x88]
mov qword [rcx + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov rbx, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, eax
mov dword [rbx + 0x20], eax
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov ecx, 1
mov edx, eax
mov r8d, eax
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
cmp byte [rdi + 2], 0x51
jne 0x140050eed
mov rax, rsp
mov r8d, 0x51
mov rcx, qword [rsi + 8]
lea r9, [rsp + 0x30]
mov edx, dword [rsi]
mov dword [rax + 0x20], 3
call fcn.140002f18
test eax, eax
jne 0x140052874
mov rdx, qword [rsp + 0x88]
add rdi, 4
add rsi, 0x10
mov al, byte [rdx + 0x271]
mov byte [rdx + 0x272], al
mov r9, qword [rsp + 0x88]
or byte [r9 + 0x283], 0x10
mov r11, qword [rsp + 0x88]
mov r10d, dword [rsp + 0x30]
mov byte [r11 + 0x271], r10b
jmp 0x140050eed
mov r9, qword [rsp + 0x88]
mov rbp, qword [r9 + 0x30]
test rbp, rbp
je 0x140052924
test byte [rbp + 0x74], 2
je 0x1400528e5
mov dword [rbp + 0x68], eax
mov rcx, qword [rsp + 0x88]
mov rbp, qword [rcx + 0x30]
mov dword [rbp + 0x6c], eax
mov rsi, qword [rsp + 0x88]
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
je 0x1400528c8
mov qword [rcx + 8], rbx
mov rcx, qword [rsp + 0x88]
mov qword [rcx + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov rbx, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, eax
mov dword [rbx + 0x20], eax
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov ecx, 1
mov edx, eax
mov r8d, eax
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
cmp byte [rdi + 2], 0x3c
jne 0x140050ee4
mov rax, rsp
mov r8d, 0x3c
mov rcx, qword [rsi + 8]
lea r9, [rsp + 0x30]
mov edx, dword [rsi]
mov dword [rax + 0x20], 3
call fcn.140002f18
test eax, eax
jne 0x140052a0c
mov r9, qword [rsp + 0x88]
mov al, byte [r9 + 0x27e]
mov dl, al
shr al, 1
and dl, 0xfb
and al, 1
shl al, 2
or dl, al
mov byte [r9 + 0x27e], dl
mov r10, qword [rsp + 0x88]
or byte [r10 + 0x283], 8
mov rax, qword [rsp + 0x30]
cmp rax, 2
jne 0x1400529ec
mov al, byte [rsp + 0x3e2]
shr al, 2
mov r9, qword [rsp + 0x88]
and al, 1
add al, al
mov dl, byte [r9 + 0x27e]
and dl, 0xfd
or dl, al
mov byte [r9 + 0x27e], dl
jmp 0x1400529ff
cmp rax, 1
mov rax, qword [rsp + 0x88]
and byte [rax + 0x27e], 0xfd
add rdi, 4
add rsi, 0x10
jmp 0x140050ee4
mov r9, qword [rsp + 0x88]
mov rbp, qword [r9 + 0x30]
test rbp, rbp
je 0x140052abc
test byte [rbp + 0x74], 2
je 0x140052a7d
mov dword [rbp + 0x68], eax
mov rcx, qword [rsp + 0x88]
mov rbp, qword [rcx + 0x30]
mov dword [rbp + 0x6c], eax
mov rsi, qword [rsp + 0x88]
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
je 0x140052a60
mov qword [rcx + 8], rbx
mov rcx, qword [rsp + 0x88]
mov qword [rcx + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov rbx, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, eax
mov dword [rbx + 0x20], eax
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov ecx, 1
mov edx, eax
mov r8d, eax
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
cmp byte [rdi + 2], 0x3b
jne 0x140050edb
mov rax, rsp
mov r8d, 0x3b
mov rcx, qword [rsi + 8]
lea r9, [rsp + 0x30]
mov edx, dword [rsi]
mov dword [rax + 0x20], 3
call fcn.140002f18
test eax, eax
jne 0x140052b8f
mov rdx, qword [rsp + 0x88]
mov al, byte [rdx + 0x26b]
mov byte [rdx + 0x26c], al
mov r9, qword [rsp + 0x88]
or byte [r9 + 0x283], 4
mov rax, qword [rsp + 0x30]
cmp rax, 2
je 0x140052b73
cmp rax, 1
jne 0x140052b5c
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x26b], 0x27
jmp 0x140052b82
cmp rax, 3
jne 0x140052b73
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x26b], 0x22
jmp 0x140052b82
mov rax, qword [rsp + 0x88]
mov byte [rax + 0x26b], 0
add rdi, 4
add rsi, 0x10
jmp 0x140050edb
mov r9, qword [rsp + 0x88]
mov rbp, qword [r9 + 0x30]
test rbp, rbp
je 0x140052c3f
test byte [rbp + 0x74], 2
je 0x140052c00
mov dword [rbp + 0x68], eax
mov rcx, qword [rsp + 0x88]
mov rbp, qword [rcx + 0x30]
mov dword [rbp + 0x6c], eax
mov rsi, qword [rsp + 0x88]
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
je 0x140052be3
mov qword [rcx + 8], rbx
mov rcx, qword [rsp + 0x88]
mov qword [rcx + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov rbx, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, eax
mov dword [rbx + 0x20], eax
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov ecx, 1
mov edx, eax
mov r8d, eax
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
cmp byte [rdi + 2], 0x52
jne 0x140050ed2
mov rax, rsp
mov r8d, 0x52
mov rcx, qword [rsi + 8]
lea r9, [rsp + 0x30]
mov edx, dword [rsi]
mov dword [rax + 0x20], 3
call fcn.140002f18
test eax, eax
jne 0x140052cde
mov rdx, qword [rsp + 0x88]
add rdi, 4
add rsi, 0x10
mov al, byte [rdx + 0x273]
mov byte [rdx + 0x274], al
mov r9, qword [rsp + 0x88]
or byte [r9 + 0x283], 2
mov r11, qword [rsp + 0x88]
mov r10d, dword [rsp + 0x30]
mov byte [r11 + 0x273], r10b
jmp 0x140050ed2
mov r9, qword [rsp + 0x88]
mov rbp, qword [r9 + 0x30]
test rbp, rbp
je 0x140052d8e
test byte [rbp + 0x74], 2
je 0x140052d4f
mov dword [rbp + 0x68], eax
mov rcx, qword [rsp + 0x88]
mov rbp, qword [rcx + 0x30]
mov dword [rbp + 0x6c], eax
mov rsi, qword [rsp + 0x88]
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
je 0x140052d32
mov qword [rcx + 8], rbx
mov rcx, qword [rsp + 0x88]
mov qword [rcx + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov rbx, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, eax
mov dword [rbx + 0x20], eax
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov ecx, 1
mov edx, eax
mov r8d, eax
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
cmp byte [rdi + 2], 6
jne 0x140050ec9
mov rax, rsp
mov r8d, 6
mov rcx, qword [rsi + 8]
lea r9, [rsp + 0x30]
mov edx, dword [rsi]
mov dword [rax + 0x20], 3
call fcn.140002f18
test eax, eax
jne 0x140052e5b
mov r9, qword [rsp + 0x88]
mov al, byte [r9 + 0x27b]
mov dl, al
shr al, 5
and dl, 0xbf
and al, 1
shl al, 6
or dl, al
mov byte [r9 + 0x27b], dl
mov r10, qword [rsp + 0x88]
or byte [r10 + 0x283], 1
mov rax, qword [rsp + 0x30]
cmp rax, 1
je 0x140052e3f
cmp rax, 2
jne 0x140052e3f
mov rax, qword [rsp + 0x88]
or byte [rax + 0x27b], 0x20
jmp 0x140052e4e
mov rax, qword [rsp + 0x88]
and byte [rax + 0x27b], 0xdf
add rdi, 4
add rsi, 0x10
jmp 0x140050ec9
mov r9, qword [rsp + 0x88]
mov rbp, qword [r9 + 0x30]
test rbp, rbp
je 0x140052f0b
test byte [rbp + 0x74], 2
je 0x140052ecc
mov dword [rbp + 0x68], eax
mov rcx, qword [rsp + 0x88]
mov rbp, qword [rcx + 0x30]
mov dword [rbp + 0x6c], eax
mov rsi, qword [rsp + 0x88]
mov rcx, qword [rsi + 0xd0]
test rcx, rcx
je 0x140052eaf
mov qword [rcx + 8], rbx
mov rcx, qword [rsp + 0x88]
mov qword [rcx + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov rbx, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, eax
mov dword [rbx + 0x20], eax
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov ecx, 1
mov edx, eax
mov r8d, eax
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
cmp byte [rdi + 2], 0x4f
jne 0x140050ec0
mov r9, qword [rsp + 0x88]
test byte [r9 + 0x27b], 4
jne 0x14005306c
test byte [r9 + 0x279], 0x20
jne 0x140052fe7
mov rax, qword [r9 + 0x30]
test rax, rax
je 0x1400530eb
test byte [rax + 0x74], 2
je 0x14005309c
mov edx, Ordinal_110
mov dword [rax + 0x68], edx
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax + 0x30]
mov dword [rcx + 0x6c], edx
mov rbp, qword [rsp + 0x88]
mov rax, qword [rbp + 0xd0]
test rax, rax
je 0x140052fba
mov qword [rax + 8], rbx
mov rax, qword [rsp + 0x88]
mov qword [rax + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
mov eax, Ordinal_110
add rsp, 0x398
pop rbp
pop r15
pop r13
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [r9 + 0x30]
test rax, rax
je 0x140053172
test byte [rax + 0x74], 2
je 0x140053123
mov dword [rax + 0x68], reloc.libiomp5md.dll_Ordinal_110
mov rax, qword [rsp + 0x88]
mov rdx, qword [rax + 0x30]
mov dword [rdx + 0x6c], 0x1f
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx + 0xd0]
test rax, rax
je 0x14005303f
mov qword [rax + 8], rbx
mov rax, qword [rsp + 0x88]
mov qword [rax + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
mov eax, reloc.libiomp5md.dll_Ordinal_110
add rsp, 0x398
pop rbp
pop r15
pop r13
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rsi]
add rsi, 8
dec rax
mov qword [r9 + 0x158], rax
mov r9, qword [rsp + 0x88]
cmp qword [r9 + 0x158], 0
jl 0x1400531ad
add rdi, 4
jmp 0x140050ec0
mov rax, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, Ordinal_110
mov qword [rsp + 0x40], 0
mov dword [rax + 0x20], Ordinal_110
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov edx, Ordinal_110
mov ecx, 1
mov r8d, edx
mov qword [rsp + 0x40], 0
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov rax, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, reloc.libiomp5md.dll_Ordinal_110
mov qword [rsp + 0x40], 0
mov dword [rax + 0x20], 0x1f
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov ecx, 1
mov edx, reloc.libiomp5md.dll_Ordinal_110
mov r8d, 0x1f
mov qword [rsp + 0x40], 0
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov rax, qword [r9 + 0x30]
test rax, rax
je 0x14005327a
test byte [rax + 0x74], 2
je 0x14005322b
mov edx, 0x6f
mov dword [rax + 0x68], edx
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax + 0x30]
mov dword [rcx + 0x6c], edx
mov rbp, qword [rsp + 0x88]
mov rax, qword [rbp + 0xd0]
test rax, rax
je 0x1400531fe
mov qword [rax + 8], rbx
mov rax, qword [rsp + 0x88]
mov qword [rax + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
mov eax, 0x6f
add rsp, 0x398
pop rbp
pop r15
pop r13
pop rdi
pop rsi
pop rbx
ret
mov rax, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, 0x6f
mov qword [rsp + 0x40], 0
mov dword [rax + 0x20], 0x6f
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
mov edx, 0x6f
mov ecx, 1
mov r8d, edx
mov qword [rsp + 0x40], 0
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
cmp byte [rdi + 2], 0x4e
jne 0x140050eb7
mov rdx, qword [rsp + 0x88]
add rdi, 4
mov rax, qword [rsi]
mov qword [rdx + 0x1b8], rax
mov r10, qword [rsp + 0x88]
mov r9, qword [rsi + 8]
add rsi, 0x10
mov qword [r10 + 0x110], r9
mov r11, qword [rsp + 0x88]
and byte [r11 + 0x285], 0xf7
jmp 0x140050eb7
mov ecx, 0xfffffffa
lea rdx, [rsp + 0x88]
mov r8, r13
mov r9d, 5
call fcn.1400038dc
mov esi, eax
test esi, esi
je 0x140050dfc
lea rbx, [rsp + 0x400]
mov qword [rsp + 0x30], rbx
test byte [rsp + 0x3e0], 1
je 0x1400533a8
test byte [rsp + 0x3e3], 0x80
je 0x14005337d
mov ebx, dword [rsp + 0x3e4]
movzx ebx, bl
test bl, 0x10
je 0x14005337d
mov rbx, qword [rsp + 0x30]
lea rbp, [rbx + 8]
mov qword [rsp + 0x30], rbp
add rbx, 0x10
mov rdi, qword [rbp - 8]
mov qword [rsp + 0x30], rbx
mov rbp, qword [rbp]
cmp byte [rdi], 0x38
jne 0x14005337d
cmp byte [rdi + 2], 0x4e
je 0x1400533cf
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
movzx eax, si
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
add rsp, 0x398
pop rbp
pop r15
pop r13
pop rdi
pop rsi
pop rbx
ret
mov ecx, esi
mov edx, 2
mov r8d, 0xfffffffb
lea r9, str.unknown
call fcn.1400035df
mov qword [rsp + 0x30], 0
jmp 0x140050dfc
mov ecx, 0xfffffffb
lea rdx, [rsp + 0x30]
call fcn.14000388c
test eax, eax
jne 0x14005337d
mov rdi, qword [rsp + 0x30]
xor ebx, ebx
mov r13b, byte [rsp + 0x3e0]
and r13b, 1
mov qword [rdi + 0x110], rbx
mov r10, qword [rsp + 0x30]
mov qword [r10 + 0x1b8], rbx
mov r11, qword [rsp + 0x30]
and byte [r11 + 0x285], 0xf7
mov rdi, qword [rsp + 0x30]
mov r15b, byte [rdi + 0x27c]
and r15b, 0xfe
or r15b, r13b
mov byte [rdi + 0x27c], r15b
mov r10, qword [rsp + 0x30]
mov rdi, qword [rbp]
mov qword [r10 + 0x1b8], rdi
mov rdi, qword [rsp + 0x30]
mov rbp, qword [rbp + 8]
mov qword [rdi + 0x110], rbp
mov r9, qword [rsp + 0x30]
mov rbp, qword [r9 + 0x30]
test rbp, rbp
je 0x1400534f3
test byte [rbp + 0x74], 2
je 0x1400534b4
mov dword [rbp + 0x68], esi
mov rbp, qword [rsp + 0x30]
mov rdi, qword [rbp + 0x30]
mov dword [rdi + 0x6c], esi
mov r10, qword [rsp + 0x30]
mov rbp, qword [r10 + 0xd0]
test rbp, rbp
je 0x140053497
mov qword [rbp + 8], rbx
mov rbp, qword [rsp + 0x30]
mov qword [rbp + 0xd0], rbx
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140051f48
mov rbx, rsp
mov rcx, r9
movzx r8d, byte [r9 + 0x27c]
mov edx, 0xffffffff
and r8d, 7
mov r9d, esi
mov dword [rbx + 0x20], esi
call fcn.140001447
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd
xor ecx, ecx
mov edx, esi
mov r8d, esi
call fcn.1400026fd
mov rcx, qword [rsp + 0x388]
xor rcx, rsp
cmp rcx, qword [0x14016fb98]
jne 0x140051f5a
jmp 0x140050dcd