Function at 0x415a00
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, [0x004adbd8]
lea rcx, str.BFD_header_file_version__s_n
call sub.msvcrt.dll_printf
xor ecx, ecx
call fcn.0049c330
lea rdx, [rsp + 0x40]
lea rcx, [0x00415540]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x4c], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
call fcn.00424420
mov rcx, qword [rsp + 0x40]
call sub.msvcrt.dll__unlink
mov rcx, qword [rsp + 0x40]
call fcn.0049fd58
mov eax, dword [rsp + 0x48]
test eax, eax
mov dword [rsp + 0x28], eax
je 0x415a97
mov eax, dword [rsp + 0x28]
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor esi, esi
mov ebx, 2
xor edx, edx
mov ecx, ebx
call fcn.0041a2f0
mov rcx, rax
call sub.msvcrt.dll_strlen
cmp esi, eax
cmovl esi, eax
add ebx, 1
cmp ebx, 0x58
jne 0x415a9e
lea rcx, str.COLUMNS
mov dword [rsp + 0x2c], esi
call sub.msvcrt.dll_getenv
test rax, rax
je 0x415cf7
mov rcx, rax
call sub.msvcrt.dll_atoi
test eax, eax
je 0x415cf7
mov edx, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x4c]
mov r15, qword [sym.imp.msvcrt.dll___iob_func]
sub eax, edx
sub eax, 1
cmp dword [rsp + 0x28], edi
mov dword [rsp + 0x38], eax
lea eax, [rdx + 1]
mov dword [rsp + 0x3c], eax
jge 0x415cdc
mov r14d, dword [rsp + 0x28]
mov esi, dword [rsp + 0x38]
movsxd rbx, r14d
lea rax, [rbx + rbx*2]
shl rax, 5
mov qword [rsp + 0x30], rax
add rax, qword [rsp + 0x58]
mov rbp, rax
mov rcx, qword [rbp]
call sub.msvcrt.dll_strlen
lea edx, [rsi - 1]
sub edx, eax
mov esi, edx
js 0x415b4e
add r14d, 1
add rbp, 0x60
cmp edi, r14d
jne 0x415b2f
mov edx, dword [rsp + 0x3c]
lea r8, [0x004adc2d]
lea rcx, str._n_s
call sub.msvcrt.dll_printf
cmp r14d, dword [rsp + 0x28]
je 0x415ce9
mov ebp, dword [rsp + 0x28]
add rbx, 1
mov r12, qword [rsp + 0x30]
lea rdi, [0x004adc34]
not ebp
lea eax, [rbp + r14]
add rax, rbx
lea rsi, [rax + rax*2]
shl rsi, 5
mov rax, qword [rsp + 0x58]
mov rcx, rdi
mov rdx, qword [rax + r12]
add r12, 0x60
call sub.msvcrt.dll_printf
cmp r12, rsi
jne 0x415b96
mov ecx, 0xa
call sub.msvcrt.dll_putchar
lea eax, [rbp + r14]
mov ebp, 2
add rbx, rax
lea r12, [rbx + rbx*2]
shl r12, 5
jmp 0x415bdd
add ebp, 1
cmp ebp, 0x58
je 0x415cc9
xor edx, edx
mov ecx, ebp
lea rdi, [0x004adc38]
call fcn.0041a2f0
mov ecx, 9
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
je 0x415bd1
xor edx, edx
mov ecx, ebp
call fcn.0041a2f0
mov edx, dword [rsp + 0x2c]
lea rcx, str._s
mov r8, rax
call sub.msvcrt.dll_printf
cmp r14d, dword [rsp + 0x28]
je 0x415cb3
mov rsi, qword [rsp + 0x30]
lea edi, [rbp - 2]
mov rax, rsi
add rax, qword [rsp + 0x58]
cmp byte [rax + rdi + 8], 0
jne 0x415c95
nop word [rax + rax]
mov rcx, qword [rax]
call sub.msvcrt.dll_strlen
test eax, eax
je 0x415c73
lea r13d, [rax - 1]
xor ebx, ebx
add r13, 1
nop word cs:[rax + rax]
mov ecx, 0x2d
add rbx, 1
call sub.msvcrt.dll_putchar
cmp r13, rbx
jne 0x415c60
add rsi, 0x60
cmp r12, rsi
je 0x415cb3
mov ecx, 0x20
call sub.msvcrt.dll_putchar
mov rax, rsi
add rax, qword [rsp + 0x58]
cmp byte [rax + rdi + 8], 0
je 0x415c40
call r15
lea rdx, [rax + 0x30]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + rsi]
add rsi, 0x60
call sub.msvcrt.dll_fputs
cmp r12, rsi
jne 0x415c7c
mov ecx, 0xa
add ebp, 1
call sub.msvcrt.dll_putchar
cmp ebp, 0x58
jne 0x415bdd
mov dword [rsp + 0x28], r14d
mov edi, dword [rsp + 0x4c]
cmp dword [rsp + 0x28], edi
jl 0x415b0e
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x28], eax
jmp 0x415a82
mov ebp, r14d
add rbx, 1
not ebp
jmp 0x415bb0
mov eax, 0x50
jmp 0x415ae5