Function at 0x14004a430
Capabilities:
Query environment variable
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rbp
sub rsp, 0x58
mov rbx, rcx
mov r14, rdx
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x14004a495
cmp rax, 1
jne 0x14004a45f
and byte [r14 + 0x247], 0xdf
jmp 0x14004a495
cmp rax, 2
jne 0x14004a46f
or byte [r14 + 0x247], 0x20
jmp 0x14004a495
mov edx, 0x23d
mov eax, Ordinal_52
test byte [r14 + 0x244], 0x20
cmovne eax, edx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rdx, qword [rbx + 0x30]
test rdx, rdx
je 0x14004a546
cmp rdx, 1
je 0x14004a4da
cmp rdx, 2
je 0x14004a4da
cmp rdx, 3
je 0x14004a4da
mov edx, 0x2f2
mov eax, Ordinal_52
test byte [r14 + 0x244], 0x20
cmovne eax, edx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov byte [r14 + 0x232], dl
mov rax, qword [rbx + 0x30]
test rax, rax
je 0x14004a546
movsx eax, byte [r14 + 0x231]
cmp eax, 2
je 0x14004a546
cmp eax, 3
je 0x14004a546
movzx eax, byte [r14 + 0x247]
test al, 8
jne 0x14004a546
test al, 0x10
jne 0x14004a546
movzx eax, byte [r14 + 0x24c]
test al, 1
jne 0x14004a546
test al, 2
jne 0x14004a546
movzx eax, byte [r14 + 0x246]
test eax, 0x80
jne 0x14004a546
movsx rax, dl
cmp eax, 3
je 0x14004a53e
mov byte [r14 + 0x230], 6
jmp 0x14004a546
mov byte [r14 + 0x230], 5
mov rax, qword [rbx + 0xe0]
test rax, rax
je 0x14004a5a6
cmp rax, 2
je 0x14004a59e
cmp rax, 1
jne 0x14004a568
mov byte [r14 + 0x235], Ordinal_45
jmp 0x14004a5a6
cmp rax, 3
jne 0x14004a578
mov byte [r14 + 0x235], reloc.LMGR10.dll_Ordinal_34
jmp 0x14004a5a6
mov edx, 0x2ef
mov eax, Ordinal_52
test byte [r14 + 0x244], 0x20
cmovne eax, edx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov byte [r14 + 0x235], 0
mov rax, qword [rbx + 0xe8]
test rax, rax
je 0x14004a60f
cmp rax, 2
jne 0x14004a5d9
movzx edx, byte [r14 + 0x24a]
movzx eax, byte [r14 + 0x244]
and edx, 0xfffffffd
and eax, 2
or edx, eax
mov byte [r14 + 0x24a], dl
jmp 0x14004a60f
cmp rax, 1
jne 0x14004a5e9
and byte [r14 + 0x24a], 0xfd
jmp 0x14004a60f
mov edx, 0x2f1
mov eax, Ordinal_52
test byte [r14 + 0x244], 0x20
cmovne eax, edx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
movzx eax, byte [r14 + 0x246]
test eax, 0x80
jne 0x14004a62e
movzx eax, byte [r14 + 0x24c]
test al, 1
jne 0x14004a62e
test al, 2
je 0x14004a641
mov rcx, r14
mov rdx, rbx
call fcn.14004b950
test eax, eax
jne 0x14004b450
cmp dword [r14 + 0x208], 1
je 0x14004aa39
cmp dword [0x1400fc280], 0
je 0x14004a68c
movzx eax, byte [r14 + 0x24c]
test eax, 0x80
mov rdx, qword [r14 + 0x218]
je 0x14004a678
cmp rdx, 0xfffffffffffffffa
je 0x14004aa39
cmp rdx, 1
je 0x14004aa39
cmp rdx, 2
je 0x14004aa39
test byte [r14 + 0x246], 0x40
je 0x14004aa39
movsx eax, byte [r14 + 0x230]
test eax, eax
jne 0x14004aa39
mov r13d, dword [r14 + 0x1b0]
cmp dword [0x1400e4fb0], 0
jne 0x14004a9a4
lea rcx, str.FOR_FMT_TERMINATOR
call fcn.14003fb28
mov rbp, rax
xor r15d, r15d
xor r12d, r12d
test rbp, rbp
mov dword [0x1400e4fb8], r15d
mov dword [0x1400e4fb4], r15d
mov dword [0x1400e4fbc], r15d
mov dword [0x1400e4fb0], 1
je 0x14004aa25
movsx eax, byte [rbp]
test eax, eax
je 0x14004aa25
mov rdi, rbp
lea rsi, [0x1400b2a5c]
mov dl, byte [rdi]
cmp dl, byte [rsi]
jne 0x14004a733
test dl, dl
je 0x14004a72f
mov dl, byte [rdi + 1]
cmp dl, byte [rsi + 1]
jne 0x14004a733
add rdi, 2
add rsi, 2
test dl, dl
jne 0x14004a711
xor eax, eax
jmp 0x14004a738
sbb eax, eax
or eax, 1
test eax, eax
je 0x14004aa15
mov rdi, rbp
lea rsi, [0x1400b2a58]
mov dl, byte [rdi]
cmp dl, byte [rsi]
jne 0x14004a76c
test dl, dl
je 0x14004a768
mov dl, byte [rdi + 1]
cmp dl, byte [rsi + 1]
jne 0x14004a76c
add rdi, 2
add rsi, 2
test dl, dl
jne 0x14004a74a
xor eax, eax
jmp 0x14004a771
sbb eax, eax
or eax, 1
test eax, eax
je 0x14004aa03
mov rdi, rbp
lea rsi, str.CRLF
mov dl, byte [rdi]
cmp dl, byte [rsi]
jne 0x14004a7a5
test dl, dl
je 0x14004a7a1
mov dl, byte [rdi + 1]
cmp dl, byte [rsi + 1]
jne 0x14004a7a5
add rdi, 2
add rsi, 2
test dl, dl
jne 0x14004a783
xor eax, eax
jmp 0x14004a7aa
sbb eax, eax
or eax, 1
test eax, eax
je 0x14004a9f1
mov rcx, rbp
mov edx, reloc.LMGR10.dll_Ordinal_59
call fcn.140040b00
mov rsi, rax
test rsi, rsi
je 0x14004a823
mov rcx, rbp
lea rdx, [0x1400b2a6c]
call fcn.1400a6948
cmp rbp, rax
je 0x14004b535
mov rcx, rbp
lea rdx, [0x1400b2a68]
call fcn.1400a6948
cmp rbp, rax
je 0x14004b520
mov rcx, rbp
lea rdx, str.CRLF_
call fcn.1400a6948
cmp rbp, rax
jne 0x14004a984
mov dword [0x1400e4fb8], 8
mov r15d, 8
lea rbp, [rsi + 1]
mov rcx, rbp
mov edx, Ordinal_61
call fcn.140040b00
mov rsi, rax
test rsi, rsi
je 0x14004b516
mov rcx, rbp
lea rdx, [0x1400b2a7c]
call fcn.1400a6948
cmp rbp, rax
je 0x14004b50c
mov rcx, rbp
lea rdx, [0x1400b2a78]
call fcn.1400a6948
cmp rbp, rax
je 0x14004b502
mov rcx, rbp
lea rdx, str.CRLF:
call fcn.1400a6948
cmp rbp, rax
jne 0x14004a984
mov eax, 8
lea rbp, [rsi + 1]
xor edx, edx
cmp eax, r15d
mov r15d, 0
movsx ecx, byte [rbp]
cmovne r15d, eax
cmove eax, edx
test ecx, ecx
je 0x14004a984
xor esi, esi
movsx ecx, byte [rbp]
test ecx, ecx
je 0x14004a937
test esi, esi
je 0x14004a917
cmp esi, 2
je 0x14004a917
cmp esi, 1
jne 0x14004a8ec
cmp ecx, 0x2c
je 0x14004b942
cmp ecx, 0x2d
jne 0x14004a8fe
lea rdi, [0x140000000]
mov dword [rdi + r12*4 + 0xe4da0], edx
je 0x14004b49b
jmp 0x14004a8f5
cmp esi, 3
jne 0x14004a984
cmp ecx, 0x2c
je 0x14004b4d4
cmp ecx, 0x30
jl 0x14004a984
cmp ecx, 0x39
jg 0x14004a984
lea edx, [rdx + rdx*4]
lea edx, [rcx + rdx*2]
add edx, 0xffffffd0
jmp 0x14004a926
cmp ecx, 0x30
jl 0x14004a984
cmp ecx, 0x39
jg 0x14004a984
inc esi
lea edx, [rcx - 0x30]
inc rbp
cmp r12, 0x40
jl 0x14004a8ad
movsx ecx, byte [rbp]
test ecx, ecx
jne 0x14004a984
movsx ecx, byte [rbp - 1]
cmp ecx, 0x2c
je 0x14004a984
cmp ecx, 0x2d
je 0x14004a984
cmp esi, 1
je 0x14004b4a5
lea rcx, [0x140000000]
cmp edx, dword [rcx + r12*4 + 0xe4da0]
jl 0x14004a984
mov dword [0x1400e4fb4], eax
lea rax, [0x140000000]
mov dword [rax + r12*4 + 0xe4ea0], edx
inc r12d
mov dword [0x1400e4fbc], r12d
jmp 0x14004a9ab
xor eax, eax
mov ecx, 0x60
xor edx, edx
mov dword [0x1400e4fb8], eax
mov dword [0x1400e4fb4], eax
mov dword [0x1400e4fbc], eax
call fcn.14006765c
mov r15d, dword [0x1400e4fb4]
test r15d, r15d
je 0x14004a9e8
movsxd rax, dword [0x1400e4fbc]
xor edx, edx
test rax, rax
jle 0x14004a9e8
lea rcx, [0x140000000]
cmp r13d, dword [rcx + rdx*4 + 0xe4da0]
jl 0x14004a9e0
lea rcx, [0x140000000]
cmp r13d, dword [rcx + rdx*4 + 0xe4ea0]
jle 0x14004aa25
inc rdx
cmp rdx, rax
jl 0x14004a9be
mov r15d, dword [0x1400e4fb8]
jmp 0x14004aa25
mov dword [0x1400e4fb8], 8
mov r15d, 8
jmp 0x14004aa25
mov dword [0x1400e4fb8], 6
mov r15d, 6
jmp 0x14004aa25
mov dword [0x1400e4fb8], 7
mov r15d, 7
test r15d, r15d
je 0x14004aa39
mov byte [r14 + 0x230], r15b
mov byte [r14 + 0x232], 3
mov qword [r14 + 0xc8], 0
mov rax, qword [rbx]
dec rax
cmp rax, 4
ja case.default.0x14004aa66
movsxd rdx, eax
lea rax, [0x140000000]
mov rcx, qword [rax + rdx*8 + 0xb22c0]
jmp rcx
test byte [r14 + 0x247], 4
jne case.default.0x14004aa66
lea rdx, str.ACCESS
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test byte [r14 + 0x247], 0x10
jne case.default.0x14004aa66
lea rdx, str.ACCESS
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test byte [r14 + 0x247], 2
je 0x14004aa76
test byte [r14 + 0x248], 8
je 0x14004aa76
xor edx, edx
lea r8, [rsp + 0x54]
mov qword [rsp + 0x50], rdx
mov rcx, qword [r14 + 0x178]
mov r9d, 2
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rsp + 0x50], eax
cmp eax, 0xffffffff
mov edx, eax
je 0x14004b56d
mov eax, dword [rsp + 0x54]
shl rax, 0x20
or rax, rdx
test rax, rax
jle 0x14004ab42
lea rdx, str.ACCESS
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
cmp rax, 0xffffffffffffffff
je 0x14004b54a
jmp case.default.0x14004aa66
test byte [r14 + 0x247], 8
jne case.default.0x14004aa66
lea rdx, str.ACCESS
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
movzx eax, byte [r14 + 0x247]
test al, 2
je 0x14004ab8c
test al, 4
je case.default.0x14004aa66
lea rdx, str.ACCESS
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rbx + 0xd8]
cmp rax, 1
je 0x14004ac2f
cmp rax, 3
jne 0x14004abf1
test byte [r14 + 0x24a], 1
jne 0x14004ac39
lea rdx, str.ACTION
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
cmp rax, 2
jne 0x14004ac39
test byte [r14 + 0x245], 0x40
jne 0x14004ac0b
test byte [r14 + 0x24a], 1
je 0x14004ac39
lea rdx, str.ACTION
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test byte [r14 + 0x245], 0x40
je 0x14004abcd
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x14004ac5f
mov al, byte [r14 + 0x233]
cmp al, byte [rbx + 0x10]
jne 0x14004b477
cmp rdx, qword [r14 + 0xa0]
jne 0x14004b477
mov rax, qword [rbx + 0x140]
cmp rax, 1
je 0x14004b934
cmp rax, 2
je 0x14004b903
mov rax, qword [rbx + 0x138]
cmp rax, 1
je 0x14004b8f0
cmp rax, 2
je 0x14004b749
mov rax, qword [rbx + 0x50]
dec rax
cmp rax, 5
ja case.default.0x14004acb8
movsxd rdx, eax
lea rax, [0x140000000]
mov rcx, qword [rax + rdx*8 + 0xb24a0]
jmp rcx
test byte [r14 + 0x246], 0x20
jne case.default.0x14004acb8
lea rdx, str.DISPOSE
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test byte [r14 + 0x246], 0x10
jne case.default.0x14004acb8
lea rdx, str.DISPOSE
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test byte [r14 + 0x246], 8
jne case.default.0x14004acb8
lea rdx, str.DISPOSE
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test byte [r14 + 0x246], 4
je case.default.0x14004acb8
lea rdx, str.DISPOSE
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rbx + 0x68]
cmp rax, 1
je 0x14004ae04
cmp rax, 2
jne 0x14004add0
movzx eax, byte [r14 + 0x246]
test eax, 0x80
jne 0x14004ae0e
movzx eax, byte [r14 + 0x244]
test eax, 0x80
jne 0x14004ae0e
lea rdx, str.FORM
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
cmp rax, 4
jne 0x14004ae0e
test byte [r14 + 0x24c], 2
jne 0x14004ae0e
lea rdx, str.FORM
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test byte [r14 + 0x246], 0x40
je 0x14004adac
mov rax, qword [rbx + 0x108]
test rax, rax
je 0x14004ae73
cmp dword [0x1400fc280], 0
je 0x14004ae5d
mov rax, qword [rbx + 0x110]
test rax, rax
je 0x14004ae73
test byte [r14 + 0x24d], 1
jne 0x14004ae73
lea rdx, str.IOFOCUS
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov eax, 0x232
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rbx + 0x78]
test rax, rax
je 0x14004aea9
cmp rax, qword [r14 + 0x160]
je 0x14004aea9
lea rdx, str.MAXREC
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rbx + 0x118]
cmp rax, 1
je 0x14004af28
cmp rax, 3
jne 0x14004aeea
test byte [r14 + 0x24a], 1
jne 0x14004af32
lea rdx, str.MODE
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
cmp rax, 2
jne 0x14004af32
test byte [r14 + 0x245], 0x40
jne 0x14004af04
test byte [r14 + 0x24a], 1
je 0x14004af32
lea rdx, str.MODE
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test byte [r14 + 0x245], 0x40
je 0x14004aec6
mov rax, qword [rbx + 0xa0]
test rax, rax
je 0x14004af6c
test byte [r14 + 0x246], 1
je 0x14004af6c
lea rdx, str.NOSHARED
mov eax, 0x67
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rbx + 0x80]
cmp rax, 1
je 0x14004afe5
cmp rax, 2
jne 0x14004afb1
cmp byte [r14 + 0x231], 2
je 0x14004b013
lea rdx, str.ORGANIZATION
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
cmp rax, 3
jne 0x14004b013
cmp byte [r14 + 0x231], 3
je 0x14004b013
lea rdx, str.ORGANIZATION
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
cmp byte [r14 + 0x231], 1
je 0x14004b013
lea rdx, str.ORGANIZATION
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rbx + 0xf0]
test rax, rax
je 0x14004b09e
cmp rax, 2
je 0x14004b09e
xor esi, esi
test byte [r14 + 0x248], 8
jne 0x14004b039
xor ebp, ebp
jmp 0x14004b074
xor eax, eax
lea r8, [rsp + 0x3c]
mov r9d, 1
mov edx, eax
mov rcx, qword [r14 + 0x178]
mov qword [rsp + 0x38], rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rsp + 0x38], eax
cmp eax, 0xffffffff
mov edx, eax
je 0x14004b71d
mov ebp, dword [rsp + 0x3c]
shl rbp, 0x20
or rbp, rdx
movzx eax, byte [r14 + 0x247]
test al, 8
jne 0x14004b088
test al, 0x10
je 0x14004b58c
mov eax, 0x2e
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rbx + 0x88]
test rax, rax
je 0x14004b0d8
test byte [r14 + 0x245], 0x40
jne 0x14004b0d8
lea rdx, str.READONLY
mov eax, 0x67
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rbx + 0x90]
test rax, rax
je 0x14004b111
cmp rax, qword [r14 + 0x1a8]
je 0x14004b111
lea rdx, str.RECL
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rbx + 0x98]
test rax, rax
je 0x14004b182
cmp rax, 2
jne 0x14004b151
cmp byte [r14 + 0x230], 4
je 0x14004b182
lea rdx, str.RECORDTYPE
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
movsx rax, al
cmp al, byte [r14 + 0x230]
je 0x14004b182
lea rdx, str.RECORDTYPE
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rbx + 0x120]
dec rax
cmp rax, 4
ja case.default.0x14004b1a8
movsxd rdx, eax
lea rax, [0x140000000]
mov rcx, qword [rax + rdx*8 + 0xb24d0]
jmp rcx
test byte [r14 + 0x246], 1
jne 0x14004b1d0
movzx eax, byte [r14 + 0x24c]
test al, 4
jne 0x14004b1d0
test al, 8
jne 0x14004b1d0
test al, 0x10
jne 0x14004b1d0
test al, 0x20
jne case.default.0x14004b1a8
lea rdx, str.SHARE
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test byte [r14 + 0x246], 1
jne 0x14004b21a
movzx eax, byte [r14 + 0x24c]
test al, 4
jne 0x14004b21a
test al, 8
jne 0x14004b21a
test al, 0x10
je 0x14004b21a
test al, 0x20
je case.default.0x14004b1a8
lea rdx, str.SHARE
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test byte [r14 + 0x246], 1
jne 0x14004b260
movzx eax, byte [r14 + 0x24c]
test al, 4
jne 0x14004b260
test al, 8
je 0x14004b260
test al, 0x10
jne 0x14004b260
test al, 0x20
je case.default.0x14004b1a8
lea rdx, str.SHARE
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test byte [r14 + 0x246], 1
je 0x14004b2a6
movzx eax, byte [r14 + 0x24c]
test al, 4
je 0x14004b2a6
test al, 8
jne 0x14004b2a6
test al, 0x10
jne 0x14004b2a6
test al, 0x20
je case.default.0x14004b1a8
lea rdx, str.SHARE
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rbx + 0xa8]
test rax, rax
je 0x14004b304
test byte [r14 + 0x246], 1
jne 0x14004b304
lea rdx, str.SHARED
mov eax, 0x67
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rbx + 0xb0]
test rax, rax
jl 0x14004b316
cmp rax, 1
jle 0x14004b350
cmp rax, 4
je 0x14004b350
cmp rax, 3
jne 0x14004b32c
test byte [r14 + 0x246], 4
jne 0x14004b350
lea rdx, str.STATUS
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [rbx + 0x128]
test rax, rax
je 0x14004b3f6
cmp dword [0x1400fc280], 0
je 0x14004b461
mov rcx, qword [r14 + 0x218]
cmp rcx, 0x40
jae 0x14004b398
mov eax, 1
shl rax, cl
test rax, 7
je 0x14004b398
call fcn.1400a7760
mov ecx, eax
call fcn.1400a7740
jmp 0x14004b3a4
mov ecx, dword [r14 + 0x178]
call fcn.1400a7740
mov rsi, rax
test rsi, rsi
je 0x14004b3f6
mov rdx, rsi
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x14004b3d7
mov rax, rdx
add rdx, rcx
call fcn.14009ef90
movsxd r8, dword [rbx + 0x130]
cmp rax, r8
jne 0x14004b43d
mov rcx, rsi
mov rdx, qword [rbx + 0x128]
call fcn.14003ec50
test eax, eax
jne 0x14004b43d
mov eax, dword [rbx + 0x160]
mov byte [r14 + 0x23b], al
xor eax, eax
mov edx, dword [rbx + 0x168]
mov byte [r14 + 0x23d], dl
mov ecx, dword [rbx + 0x170]
mov byte [r14 + 0x23f], cl
mov ebx, dword [rbx + 0x178]
mov byte [r14 + 0x241], bl
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
lea rax, str.TITLE
mov qword [r14 + 0xc8], rax
mov eax, 0x68
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov eax, 0x234
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
lea rdx, str.ASSOCIATEVARIABLE
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov esi, 2
jmp 0x14004a926
mov dword [0x1400e4fb4], eax
lea rax, [0x140000000]
mov rcx, rax
mov dword [rax + r12*4 + 0xe4da0], edx
mov dword [rcx + r12*4 + 0xe4ea0], edx
inc r12d
mov dword [0x1400e4fbc], r12d
jmp 0x14004a9ab
lea rcx, [0x140000000]
cmp edx, dword [rcx + r12*4 + 0xe4da0]
jl 0x14004a984
lea rcx, [0x140000000]
xor esi, esi
mov dword [rcx + r12*4 + 0xe4ea0], edx
inc r12
jmp 0x14004a926
mov eax, 6
jmp 0x14004a889
mov eax, 7
jmp 0x14004a889
mov eax, 7
jmp 0x14004a88d
mov dword [0x1400e4fb8], 6
mov r15d, 6
jmp 0x14004a81f
mov dword [0x1400e4fb8], 7
mov r15d, 7
jmp 0x14004a81f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14 + 0x180], eax
mov eax, 0x78
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14004b582
mov qword [rsp + 0x50], 0xffffffffffffffff
jmp 0x14004b54a
mov rax, qword [rsp + 0x50]
jmp 0x14004ab19
mov rax, qword [rbx + 0xf0]
cmp rax, 1
jne 0x14004b5e4
test byte [r14 + 0x248], 8
je 0x14004b62c
xor eax, eax
lea r8, [rsp + 0x24]
mov r9d, 2
mov edx, eax
mov rcx, qword [r14 + 0x178]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rsp + 0x20], eax
cmp eax, 0xffffffff
mov edx, eax
je 0x14004b6a3
mov esi, dword [rsp + 0x24]
shl rsi, 0x20
or rsi, rdx
jmp 0x14004b622
cmp rax, 3
jne 0x14004b62c
xor eax, eax
lea r8, [rsp + 0x34]
xor r9d, r9d
mov edx, eax
mov rcx, qword [r14 + 0x178]
mov qword [rsp + 0x30], rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rsp + 0x30], eax
cmp eax, 0xffffffff
mov edx, eax
je 0x14004b6cf
mov esi, dword [rsp + 0x34]
shl rsi, 0x20
or rsi, rdx
cmp rsi, 0xffffffffffffffff
je 0x14004b54a
cmp rbp, 0xffffffffffffffff
je 0x14004b54a
cmp rsi, rbp
je 0x14004b09e
mov qword [rsp + 0x28], rbp
mov rcx, qword [r14 + 0x178]
mov edx, ebp
xor r9d, r9d
lea r8, [rsp + 0x2c]
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rsp + 0x28], eax
cmp eax, 0xffffffff
mov edx, eax
je 0x14004b6fb
mov eax, dword [rsp + 0x2c]
shl rax, 0x20
or rax, rdx
cmp rax, 0xffffffffffffffff
je 0x14004b54a
lea rdx, str.POSITION
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14004b6c5
mov qword [rsp + 0x20], 0xffffffffffffffff
movabs rsi, 0xffffffffffffffff
jmp 0x14004b622
mov rsi, qword [rsp + 0x20]
jmp 0x14004b622
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14004b6f1
mov qword [rsp + 0x30], 0xffffffffffffffff
movabs rsi, 0xffffffffffffffff
jmp 0x14004b622
mov rsi, qword [rsp + 0x30]
jmp 0x14004b622
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14004b713
mov qword [rsp + 0x28], 0xffffffffffffffff
jmp 0x14004b54a
mov rax, qword [rsp + 0x28]
jmp 0x14004b675
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14004b73f
mov qword [rsp + 0x38], 0xffffffffffffffff
movabs rbp, 0xffffffffffffffff
jmp 0x14004b074
mov rbp, qword [rsp + 0x38]
jmp 0x14004b074
test byte [r14 + 0x24d], 0x40
jne 0x14004ac95
mov r15, qword [r14 + 0xb8]
mov rdx, r15
xor r13d, r13d
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x14004b78c
mov rax, rdx
add rdx, rcx
call fcn.14009ef90
dec rax
mov r12, rax
js 0x14004b7aa
movsx edx, byte [rax + r15]
dec rax
cmp edx, 0x2e
je 0x14004b8d6
test rax, rax
jns 0x14004b794
cmp r12, 0x40
jae case.0x14004b865.69
mov eax, 1
mov ecx, r12d
shl rax, cl
test rax, 0x6c
je case.0x14004b865.69
inc r12
lea rcx, [rsp + 0x40]
mov rdx, r15
mov r8, r12
call fcn.14002de50
xor ebp, ebp
lea rsi, [0x1400b1c20]
mov byte [rsp + r12 + 0x40], 0
xor edi, edi
lea rdx, [rsi + rdi]
lea rcx, [rsp + 0x40]
call fcn.14002da1c
test eax, eax
je 0x14004b842
inc rbp
add rdi, 0x10
cmp rbp, 0x11
jl 0x14004b7e7
test byte [r14 + 0x247], 8
je 0x14004b81e
test byte [r14 + 0x244], 4
jne 0x14004ac95
lea rdx, str.BUFFERED
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test r13d, r13d
je case.0x14004b865.68
movsx eax, byte [r15]
add eax, 0xffffffbd
cmp eax, 0x32
ja case.0x14004b865.68
movsxd rax, eax
lea rdx, [0x140000000]
mov rcx, qword [rdx + rax*8 + 0xb2300]
jmp rcx
lea rdx, str.CONOUT_
lea rcx, [rsp + 0x40]
call fcn.14002da1c
test eax, eax
je case.0x14004b865.69
lea rdx, [0x1400b2c80]
lea rcx, [rsp + 0x40]
call fcn.14002da1c
test eax, eax
je case.0x14004b865.69
lea rax, [0x140000000]
mov rbp, rax
mov byte [r12 + r15], 0
movzx ecx, byte [r14 + 0x24e]
movzx edx, byte [rax + rdi + 0xb1c2c]
and ecx, 0xfffffffe
and edx, 1
or ecx, edx
mov byte [r14 + 0x24e], cl
cmp byte [rbp + rdi + 0xb1c2a], 0xff
je case.0x14004b865.69
jmp 0x14004ac95
dec r12
mov edx, 1
xor r13d, r13d
cmp rax, r12
mov r12, rax
cmovl r13d, edx
jmp 0x14004b7aa
test byte [r14 + 0x24d], 0x40
jne 0x14004b81e
jmp 0x14004ac95
mov rax, qword [r14 + 0x30]
test rax, rax
jne 0x14004ac7a
lea rdx, str.ASYNCHRONOUS
mov eax, 0x68
mov qword [r14 + 0xc8], rdx
add rsp, 0x58
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rax, qword [r14 + 0x30]
test rax, rax
jne 0x14004b910
jmp 0x14004ac7a
cmp ecx, 0x2d
jmp 0x14004a8d5