Function at 0x4055c0
Capabilities:
Link many functions at runtime

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
mov r13, qword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
mov rsi, rcx
mov ebp, edx
mov r12d, r8d
call r13
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetConsoleCP]
lea rcx, str.setSmallFont:_attempting_to_set_a_small_font_for__d_columns__CP_u_OutputCP_u_
mov r8d, eax
mov r9d, ebx
mov edx, ebp
call fcn.00413ac0
lea rcx, [0x004b07bc]
mov rdi, qword [sym.imp.KERNEL32.dll_LoadLibraryW]
call rdi
test rax, rax
mov qword [rsp + 0x70], rax
je 0x405d90
lea rdx, str.GetCurrentConsoleFont
mov rcx, rax
mov rbx, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rbx
test rax, rax
mov r14, rax
je 0x405d20
mov qword [rsp + 0x78], r14
lea rdx, str.GetConsoleFontSize
mov rcx, qword [rsp + 0x70]
call rbx
test rax, rax
mov r14, rax
je 0x405d00
mov qword [rsp + 0x80], r14
lea rcx, [0x004b07bc]
call rdi
test rax, rax
mov qword [rsp + 0x88], rax
je 0x405db2
lea rdx, str.GetCurrentConsoleFontEx
mov rcx, rax
call rbx
test rax, rax
mov r14, rax
je 0x405d40
mov qword [rsp + 0x90], r14
lea rdx, str.SetCurrentConsoleFontEx
mov rcx, qword [rsp + 0x88]
call rbx
test rax, rax
mov r14, rax
je 0x405d60
cmp qword [rsp + 0x78], 0
mov qword [rsp + 0x98], r14
je 0x4057e0
cmp qword [rsp + 0x80], 0
je 0x4057e0
cmp qword [rsp + 0x90], 0
je 0x4057e0
test r14, r14
je 0x4057e0
lea rbx, [rsp + 0x70]
lea r8, str.previous_font:
mov rdx, rsi
mov rcx, rbx
call fcn.00404fe0
lea rdx, str.previous_font_table:
mov rcx, rsi
call fcn.004051c0
movzx r12d, r12b
call r13
lea r13, [rsp + 0x30]
mov r9d, r12d
mov r8d, ebp
mov edx, eax
mov edi, eax
mov rcx, r13
call fcn.00404120
movzx eax, word [rsp + 0x3c]
mov r9d, dword [rsp + 0x38]
mov r8, r13
mov rdx, rsi
mov rcx, rbx
mov word [rsp + 0x20], ax
call fcn.00404db0
test al, al
jne 0x405b00
lea eax, [rdi - 0x3a4]
and eax, 0xfffffffb
je 0x405b11
sub edi, 0x3b5
cmp edi, 1
jbe 0x405b11
lea rcx, str.setSmallFontVista:_failure
call fcn.00413ac0
lea r8, str.new_font:
mov rdx, rsi
mov rcx, rbx
call fcn.00404fe0
lea rdx, str.new_font_table:
mov rcx, rsi
call fcn.004051c0
mov rbx, qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rsp + 0x88]
call rbx
mov rcx, qword [rsp + 0x70]
call rbx
nop
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x004b07bc]
call rdi
test rax, rax
mov qword [rsp + 0xa0], rax
je 0x405dfc
lea rdx, str.GetCurrentConsoleFont
mov rcx, rax
call rbx
test rax, rax
mov rbp, rax
je 0x405b98
mov qword [rsp + 0xa8], rbp
lea rdx, str.GetConsoleFontSize
mov rcx, qword [rsp + 0xa0]
call rbx
test rax, rax
mov rbp, rax
je 0x405b80
mov qword [rsp + 0xb0], rbp
lea rcx, [0x004b07bc]
call rdi
test rax, rax
mov qword [rsp + 0xb8], rax
je 0x405dd7
lea rdx, str.SetConsoleFont
mov rcx, rax
call rbx
test rax, rax
mov rdi, rax
je 0x405bb0
mov qword [rsp + 0xc0], rdi
lea rdx, str.GetNumberOfConsoleFonts
mov rcx, qword [rsp + 0xb8]
call rbx
test rax, rax
mov rbx, rax
je 0x405b68
cmp qword [rsp + 0xa8], 0
mov qword [rsp + 0xc8], rbx
je 0x405ab3
cmp qword [rsp + 0xb0], 0
je 0x405ab3
cmp qword [rsp + 0xc0], 0
je 0x405ab3
test rbx, rbx
je 0x405ab3
lea rbp, [rsp + 0xa0]
lea r8, str.previous_font:
mov rdx, rsi
mov rcx, rbp
call fcn.00404330
lea rdx, str.previous_font_table:
mov rcx, rsi
call fcn.004051c0
cmp qword [rsp + 0xa8], 0
je 0x405bd0
cmp qword [rsp + 0xb0], 0
je 0x405bd0
cmp qword [rsp + 0xc0], 0
je 0x405bd0
mov rax, qword [rsp + 0xc8]
test rax, rax
je 0x405bd0
call rax
lea rcx, str.setSmallFontXP:_number_of_console_fonts:__u
mov edx, eax
mov ebx, eax
call fcn.00413ac0
lea rcx, [rsp + 0x50]
mov r9d, ebx
mov r8, rsi
mov rdx, rbp
call fcn.004050c0
mov r14, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
cmp rdi, r14
mov rax, r14
je 0x4059eb
mov rbx, rdi
mov r8d, 0x3f
xor r9d, r9d
sub rbx, r14
mov rdx, rdi
mov rcx, r14
mov rax, rbx
sar rax, 3
bsr rax, rax
xor rax, 0x3f
cdqe
sub r8, rax
add r8, r8
call fcn.00404690
cmp rbx, 0x87
jle 0x405d80
lea rbx, [r14 + 0x80]
mov rcx, r14
mov rdx, rbx
call fcn.004045e0
cmp rdi, rbx
je 0x4059e1
nop word [rax + rax]
mov rcx, rbx
add rbx, 8
call fcn.00404570
cmp rdi, rbx
jne 0x4059d0
mov r14, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
sub rax, r14
sar rax, 3
test rax, rax
je 0x405ca1
xor ebx, ebx
lea rdi, str.setSmallFontXP:_setting_font_to__u
lea r12, str.valid__
lea r13, [rsp + 0x40]
jmp 0x405a30
mov r14, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
add rbx, 1
sub rax, r14
sar rax, 3
cmp rax, rbx
jbe 0x405ca1
lea r15, [rbx*8]
add r14, r15
cmp word [r14 + 4], 3
jle 0x405a12
mov edx, dword [r14]
mov rcx, rdi
call fcn.00413ac0
cmp qword [rsp + 0xa8], 0
je 0x405c55
cmp qword [rsp + 0xb0], 0
je 0x405c55
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x405c55
cmp qword [rsp + 0xc8], 0
je 0x405c55
mov rdx, qword [rsp + 0x50]
mov rcx, rsi
mov edx, dword [rdx + r15]
call rax
test eax, eax
jne 0x405bf5
lea rcx, str.setSmallFontXP:_SetConsoleFont_call_failed
call fcn.00413ac0
jmp 0x405a12
lea rcx, str.setSmallFont:_neither_Vista_nor_XP_APIs_detected____giving_up
call fcn.00413ac0
lea rdx, str.font_table:
mov rcx, rsi
call fcn.004051c0
mov rbx, qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rsp + 0xb8]
call rbx
mov rcx, qword [rsp + 0xa0]
call rbx
mov rcx, qword [rsp + 0x88]
call rbx
mov rcx, qword [rsp + 0x70]
call rbx
jmp 0x4057c4
lea rcx, str.setSmallFontVista:_success
call fcn.00413ac0
jmp 0x40578a
lea rcx, str.setSmallFontVista:_falling_back_to_default_codepage_font_instead
call fcn.00413ac0
lea rdi, [rsp + 0x40]
mov r9d, r12d
mov r8d, ebp
xor edx, edx
mov rcx, rdi
call fcn.00404120
movzx eax, word [rsp + 0x4c]
mov r9d, dword [rsp + 0x48]
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
mov word [rsp + 0x20], ax
call fcn.00404db0
test al, al
je 0x40577e
lea rcx, str.setSmallFontVista:_fallback_was_successful
call fcn.00413ac0
jmp 0x40578a
lea rdx, str.GetNumberOfConsoleFonts
lea rcx, [0x004b0830]
call fcn.00413ac0
jmp 0x405896
lea rdx, str.GetConsoleFontSize
lea rcx, [0x004b0830]
call fcn.00413ac0
jmp 0x405837
lea rdx, str.GetCurrentConsoleFont
lea rcx, [0x004b0830]
call fcn.00413ac0
jmp 0x405812
lea rdx, str.SetConsoleFont
lea rcx, [0x004b0830]
call fcn.00413ac0
jmp 0x405871
lea r8, str.valid__
lea rcx, str.src_agent_ConsoleFont.cc
mov edx, 0x14e
call fcn.00418fa0
mov rax, qword [rsp + 0xc8]
jmp 0x40593b
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x405c80
cmp qword [rsp + 0xb0], 0
je 0x405c80
mov r8, r13
xor edx, edx
mov rcx, rsi
call rax
test eax, eax
je 0x405e21
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + r15]
cmp dword [rsp + 0x40], eax
je 0x405e32
lea rcx, str.setSmallFontXP:_font_was_not_set
call fcn.00413ac0
lea r8, str.setSmallFontXP:_post_call_font:
mov rdx, rsi
mov rcx, rbp
call fcn.00404330
jmp 0x405a12
lea rcx, str.src_agent_ConsoleFont.cc
mov r8, r12
mov edx, 0x14d
call fcn.00418fa0
mov rax, qword [rsp + 0xc0]
jmp 0x405a8c
lea rcx, str.src_agent_ConsoleFont.cc
mov r8, r12
mov edx, 0x137
call fcn.00418fa0
mov rax, qword [rsp + 0xa8]
jmp 0x405c0d
lea rcx, str.setSmallFontXP:_failure
call fcn.00413ac0
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x405cbc
call fcn.004aaf10
lea r8, str.new_font:
mov rdx, rsi
mov rcx, rbp
call fcn.00404330
lea rdx, str.new_font_table:
mov rcx, rsi
call fcn.004051c0
mov rcx, qword [rsp + 0xb8]
mov rbx, qword [sym.imp.KERNEL32.dll_FreeLibrary]
call rbx
mov rcx, qword [rsp + 0xa0]
call rbx
jmp 0x4057b2
lea rdx, str.GetConsoleFontSize
lea rcx, [0x004b0830]
call fcn.00413ac0
jmp 0x40565d
lea rdx, str.GetCurrentConsoleFont
lea rcx, [0x004b0830]
call fcn.00413ac0
jmp 0x40563e
lea rdx, str.GetCurrentConsoleFontEx
lea rcx, [0x004b0830]
call fcn.00413ac0
jmp 0x405697
lea rdx, str.SetCurrentConsoleFontEx
lea rcx, [0x004b0830]
call fcn.00413ac0
jmp 0x4056bc
mov rdx, rdi
mov rcx, r14
call fcn.004045e0
jmp 0x4059e1
lea r8, [0x004b07d6]
lea rcx, str.src_agent_.._shared_OsModule.h
mov edx, 0x28
call fcn.00418fa0
mov rax, qword [rsp + 0x70]
jmp 0x40561f
lea r8, [0x004b07d6]
lea rcx, str.src_agent_.._shared_OsModule.h
mov edx, 0x28
call fcn.00418fa0
mov rax, qword [rsp + 0x88]
jmp 0x40567f
lea r8, [0x004b07d6]
lea rcx, str.src_agent_.._shared_OsModule.h
mov edx, 0x28
call fcn.00418fa0
mov rax, qword [rsp + 0xb8]
jmp 0x405859
lea r8, [0x004b07d6]
lea rcx, str.src_agent_.._shared_OsModule.h
mov edx, 0x28
call fcn.00418fa0
mov rax, qword [rsp + 0xa0]
jmp 0x4057fa
lea rcx, str.setSmallFontXP:_GetCurrentConsoleFont_call_failed
call fcn.00413ac0
jmp 0x405cad
lea rcx, str.setSmallFontXP:_success
call fcn.00413ac0
jmp 0x405cad