Function at 0x41f470
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
lea rdx, [0x004e8afb]
lea rcx, str.BFD_header_file_version__s_n
call sub.msvcrt.dll_printf
xor ecx, ecx
call fcn.004d09b0
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x48], 0
lea rcx, [0x0041efa0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
call fcn.0042c6e0
mov rcx, qword [rsp + 0x40]
call sub.msvcrt.dll__unlink
mov rcx, qword [rsp + 0x40]
call fcn.004d4f88
mov eax, dword [rsp + 0x48]
test eax, eax
mov dword [rsp + 0x38], eax
je 0x41f500
mov eax, dword [rsp + 0x38]
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor r14d, r14d
mov ebx, 2
nop dword [rax + rax]
xor edx, edx
mov ecx, ebx
call fcn.00423d30
mov rcx, rax
call sub.msvcrt.dll_strlen
cmp r14d, eax
cmovl r14d, eax
add ebx, 1
cmp ebx, 0x5f
jne 0x41f510
lea rcx, str.COLUMNS
call sub.msvcrt.dll_getenv
test rax, rax
je 0x41f551
mov rcx, rax
call sub.msvcrt.dll_atoi
test eax, eax
mov dword [rsp + 0x3c], eax
jne 0x41f559
mov dword [rsp + 0x3c], 0x50
mov ebp, dword [rsp + 0x4c]
cmp dword [rsp + 0x38], ebp
mov r13, qword [fcn.004d5190]
jge 0x41f74c
movsxd r12, dword [rsp + 0x38]
mov ebx, dword [rsp + 0x3c]
lea rax, [r12 + r12*2]
mov dword [rsp + 0x2c], r12d
lea rax, [r12 + rax*4]
sub ebx, r14d
shl rax, 3
sub ebx, 1
mov qword [rsp + 0x30], rax
add rax, qword [rsp + 0x58]
mov rsi, rax
nop dword [rax + rax]
mov rcx, qword [rsi]
sub ebx, 1
call sub.msvcrt.dll_strlen
sub ebx, eax
js 0x41f5c0
add dword [rsp + 0x2c], 1
add rsi, 0x68
mov eax, dword [rsp + 0x2c]
cmp ebp, eax
jne 0x41f5a0
lea edx, [r14 + 1]
lea r8, [0x004e8b33]
lea rcx, str._n_s
call sub.msvcrt.dll_printf
mov ebx, dword [rsp + 0x2c]
mov esi, dword [rsp + 0x38]
cmp dword [rsp + 0x38], ebx
not esi
je 0x41f759
mov eax, dword [rsp + 0x2c]
add r12, 1
mov rdi, qword [rsp + 0x30]
lea rbp, [0x004e8b3a]
add eax, esi
add rax, r12
lea rdx, [rax + rax*2]
lea rbx, [rax + rdx*4]
shl rbx, 3
mov rax, qword [rsp + 0x58]
mov rcx, rbp
mov rdx, qword [rax + rdi]
add rdi, 0x68
call sub.msvcrt.dll_printf
cmp rbx, rdi
jne 0x41f610
mov ecx, 0xa
mov ebx, 2
call sub.msvcrt.dll_putchar
mov eax, dword [rsp + 0x2c]
add eax, esi
add r12, rax
lea rax, [r12 + r12*2]
lea rbp, [r12 + rax*4]
lea r12, [0x004e8b3e]
shl rbp, 3
jmp 0x41f66c
add ebx, 1
cmp ebx, 0x5f
je 0x41f736
xor edx, edx
mov ecx, ebx
mov rdi, r12
call fcn.00423d30
mov ecx, 9
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
je 0x41f660
xor edx, edx
mov ecx, ebx
call fcn.00423d30
lea rcx, str._s
mov edx, r14d
mov r8, rax
call sub.msvcrt.dll_printf
mov edi, dword [rsp + 0x2c]
cmp dword [rsp + 0x38], edi
je 0x41f720
mov rsi, qword [rsp + 0x30]
lea edi, [rbx - 2]
jmp 0x41f6df
mov ecx, 1
call r13
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rdx + rsi]
mov rdx, rax
call sub.msvcrt.dll_fputs
add rsi, 0x68
cmp rbp, rsi
je 0x41f720
mov ecx, 0x20
call sub.msvcrt.dll_putchar
mov rax, qword [rsp + 0x58]
add rax, rsi
cmp byte [rax + rdi + 8], 0
jne 0x41f6b3
mov rcx, qword [rax]
call sub.msvcrt.dll_strlen
lea r15d, [rax - 1]
test eax, eax
je 0x41f6cc
nop
mov ecx, 0x2d
sub r15d, 1
call sub.msvcrt.dll_putchar
cmp r15d, 0xffffffff
jne 0x41f700
add rsi, 0x68
cmp rbp, rsi
jne 0x41f6d5
nop dword [rax]
mov ecx, 0xa
add ebx, 1
call sub.msvcrt.dll_putchar
cmp ebx, 0x5f
jne 0x41f66c
mov eax, dword [rsp + 0x2c]
mov ebp, dword [rsp + 0x4c]
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], ebp
jl 0x41f56e
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x38], eax
jmp 0x41f4eb
add r12, 1
jmp 0x41f62a