Function at 0x180024b00
Capabilities:
Read file on windows
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1fd0]
mov eax, 0x20d0
call fcn.180077ba0
sub rsp, rax
mov rax, qword [0x1800923a0]
xor rax, rsp
mov qword [rbp + 0x1fc0], rax
mov r12, qword [rbp + 0x2030]
lea r11, [0x180000000]
mov r15d, r8d
mov qword [rsp + 0x78], r9
mov r14, r9
mov qword [rsp + 0x68], rdx
xor r9d, r9d
mov r8, rdx
mov r13, rcx
mov edi, r15d
lea esi, [r15 + 0xb]
cmp r15d, esi
jae 0x180024e70
mov ebx, dword [rsp + 0x60]
lea eax, [rdi - 0x109]
cmp eax, 0x2c
ja case.0x180024b94.275
movzx eax, byte [r11 + rax + 0x25158]
mov ecx, dword [r11 + rax*4 + 0x2512c]
add rcx, r11
jmp rcx
mov dword [rbp - 0x58], 0x6e0064
mov dword [rbp - 0x54], 0x610073
jmp case.0x180024b94.275
xor r8d, r8d
mov qword [rsp + 0x20], r9
mov r9, r14
xor ecx, ecx
lea edx, [r8 + 0x4d]
call fcn.18006de50
test al, al
je 0x1800250b7
cmp qword [r14 + 0x30], 0
jne 0x180024c0d
mov ecx, dword [r14 + 0x28]
xor r9d, r9d
mov rdx, qword [r14 + 0x10]
mov qword [r14 + 0x30], rdx
lea rax, [rcx + rcx*2]
lea r8d, [rcx + rcx*2]
shl rax, 4
add rax, rdx
shl r8d, 4
lea ecx, [r9 + 8]
mov qword [r14 + 0x38], rax
call qword [r14 + 0x20]
test eax, eax
jne 0x1800250b7
lea ecx, [rax + 0x64]
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [r14 + 0x28]
xor r9d, r9d
mov rdx, qword [r14 + 0x38]
lea r8d, [rax + rax*2]
shl r8d, 4
lea ecx, [r9 + 8]
call qword [r14 + 0x20]
test eax, eax
jne 0x1800250b7
xor ecx, ecx
mov dword [rsp + 0x30], 0xf4
mov qword [rsp + 0x28], rcx
mov r9, r14
xor r8d, r8d
mov qword [rsp + 0x20], rcx
xor edx, edx
call fcn.180033d10
mov rcx, qword [r14 + 0x30]
lea r11, [0x180000000]
mov rax, qword [r14 + 0x38]
xor r9d, r9d
mov r8, qword [rsp + 0x68]
mov qword [r14 + 0x30], rax
mov qword [r14 + 0x38], rcx
jmp case.0x180024b94.275
mov ecx, dword [r14]
lea eax, [rcx - 1]
cmp eax, 1
ja 0x180024d77
cmp ecx, 2
jne 0x180024d1c
mov rcx, qword [r8 + 8]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
lea ecx, [rax - 1]
cmp ecx, 0x24
ja 0x180024ce5
xor ecx, ecx
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x50], rcx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x48], rcx
xor r9d, r9d
mov qword [rsp + 0x40], rcx
xor r8d, r8d
mov qword [rsp + 0x38], rax
xor edx, edx
mov dword [rsp + 0x30], 0xf8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
call fcn.180041300
mov rbx, rax
jmp 0x180024da3
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rdi, qword [rsp + 0x68]
lea rdx, str.Create_font_in__s__font:__X_len:__u
mov r8, qword [0x1800924e0]
mov rcx, rax
mov dword [rsp + 0x20], 0x25
mov r9, qword [rdi + 8]
call fcn.180077230
jmp 0x180024d9e
mov edi, r9d
nop
mov qword [rsp + 0x50], r9
lea rax, [rsp + 0x60]
mov qword [rsp + 0x48], r9
xor r8d, r8d
mov qword [rsp + 0x40], r9
xor edx, edx
mov qword [rsp + 0x38], rax
xor ecx, ecx
mov dword [rsp + 0x30], 0xf8
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r9
xor r9d, r9d
mov dword [rsp + 0x60], edi
call fcn.180041300
test eax, eax
jle 0x180024d66
inc ebx
jmp 0x180024d68
js 0x180024d9e
inc edi
mov r9d, 0
cmp edi, 0x26
jb 0x180024d20
jmp 0x180024da3
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r8, qword [0x1800924e0]
lea rdx, str.value_returned_in_constructor
mov rcx, rax
mov r9d, 0x25
call fcn.180077230
mov ebx, 1
mov r8, qword [rsp + 0x68]
lea r11, [0x180000000]
mov edi, 0x121
mov dword [rsp + 0x60], ebx
xor r9d, r9d
jmp case.0x180024b94.275
mov rcx, qword [0x1800924e0]
mov edx, 0x2f
call sub.VCRUNTIME140.dll_strrchr
test rax, rax
je 0x180024de2
inc rax
mov qword [0x1800924e0], rax
jmp 0x180024e0b
mov rcx, qword [0x1800924e0]
mov edx, 0x5c
call sub.VCRUNTIME140.dll_strrchr
test rax, rax
je 0x180024e04
inc rax
mov qword [0x1800924e0], rax
jmp 0x180024e0b
mov rax, qword [0x1800924e0]
mov r8, qword [rsp + 0x68]
lea r11, [0x180000000]
xor r9d, r9d
mov qword [r8], rax
jmp case.0x180024b94.275
mov byte [rsp + 0x60], 1
jmp case.0x180024b94.275
mov eax, dword [r14]
mov edx, eax
mov ecx, dword [r8]
add eax, eax
sar edx, 0x1f
xor edx, eax
shr edx, cl
lea eax, [rcx + 1]
add eax, edx
mov dword [rsp + 0x60], eax
jmp case.0x180024b94.275
mov rax, qword [r8]
mov ebx, r9d
mov qword [0x1800924e0], rax
jmp case.0x180024b94.275
mov dword [rbp - 0x50], 0x690070
mov dword [rbp - 0x4c], 0x64002e
mov dword [rbp - 0x48], 0x6c006c
inc edi
cmp edi, esi
jb 0x180024b71
lea edi, [r15 + 0xd1]
cmp r15d, edi
jae case.0x180024ec0.1
mov r12, qword [rsp + 0x70]
lea ebx, [r15 - 0x114]
mov r14, qword [rsp + 0x70]
mov edx, 0x6e
mov esi, dword [rsp + 0x60]
lea r10d, [rdx + 5]
nop
cmp ebx, 0x85
ja case.0x180024ec0.10
movzx eax, byte [r11 + rbx + 0x251b4]
mov ecx, dword [r11 + rax*4 + 0x25188]
add rcx, r11
jmp rcx
mov rax, qword [r13]
test rax, rax
jle 0x180024f2e
mov rdi, qword [rsp + 0x68]
mov esi, 0x2000
nop word [rax + rax]
cmp rax, rsi
lea rcx, [rbp - 0x40]
mov r9, r14
mov edx, 1
cmova rax, rsi
mov r8, rax
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, rbx
jne 0x180024f49
mov r9, rdi
lea rcx, [rbp - 0x40]
mov r8, rbx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rax, rbx
jne 0x180024f38
mov rax, qword [r13]
sub rax, rbx
mov qword [r13], rax
test rax, rax
jg 0x180024ee0
mov eax, 1
jmp 0x180025101
xor ecx, ecx
mov dword [r12], 8
mov eax, ecx
jmp 0x180025101
xor ecx, ecx
mov dword [r12], 6
mov eax, ecx
jmp 0x180025101
mov dword [rbp - 0x6e], 0x73006e
jmp case.0x180024ec0.10
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
cmp dword [rax], 1
jne 0x18002509f
mov dword [rsp + 0x60], 1
jmp case.0x180024ec0.10
mov word [rbp - 0x44], r9w
jmp case.0x180024ec0.10
mov eax, dword [str.DnsQ]
mov dword [rbp - 0x80], eax
movzx eax, word [0x18008a5f8]
mov word [rbp - 0x7c], ax
mov eax, dword [str.ry_A]
mov dword [rbp - 0x7a], eax
movzx eax, byte [0x18008a600]
mov byte [rbp - 0x76], al
mov eax, 0x64
mov word [rbp - 0x70], ax
jmp case.0x180024ec0.10
mov word [rbp - 0x5c], r9w
lea r8, str.DnsFree
xor r9d, r9d
lea rdx, [rbp - 0x58]
mov ecx, 0x8b
call fcn.18001eff0
xor r9d, r9d
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x70]
mov ecx, 0x8b
mov r12, rax
call fcn.18001eff0
mov edx, 0x6e
mov dword [r13], 0xffffffff
mov r14, rax
lea r10d, [rdx + 5]
jmp case.0x180024ec0.10
mov rcx, qword [rsp + 0x78]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], r9
mov edx, 1
mov r9, r8
mov qword [rsp + 0x20], rax
lea r8d, [rdx + 0x67]
call r14
mov edx, 0x6e
mov esi, eax
lea r10d, [rdx + 5]
jmp case.0x180024ec0.10
test esi, esi
jne 0x1800250b7
mov rax, qword [rsp + 0x70]
test rax, rax
je case.0x180024ec0.10
nop dword [rax]
cmp word [rax + 0x10], 1
je 0x1800250a4
mov rax, qword [rax]
test rax, rax
jne 0x180025050
jmp case.0x180024ec0.10
mov eax, 0x64
mov dword [rbp - 0x6a], 0x700061
mov word [rbp - 0x62], ax
mov dword [rbp - 0x66], 0x2e0069
mov dword [rbp - 0x60], 0x6c006c
add r15d, 0x13
add ebx, 0x13
cmp r15d, edi
jae case.0x180024ec0.1
mov r8, qword [rsp + 0x68]
lea r11, [0x180000000]
xor r9d, r9d
jmp 0x180024ea0
mov eax, r9d
jmp 0x180025101
mov ecx, dword [rax + 0x20]
mov eax, 0x89
add eax, 0xbf
mov dword [r13], ecx
jmp 0x1800250c3
mov byte [rsp + 0x60], 0
jmp case.0x180024ec0.1
mov eax, 0x89
cmp eax, 0x207
jae case.0x180024ec0.1
cmp eax, 0x89
jne 0x1800250d8
add eax, 0xbf
jmp 0x1800250c3
cmp eax, 0x148
je 0x1800250e6
add eax, 0xbf
jmp 0x1800250c3
mov rcx, qword [rsp + 0x70]
mov edx, 1
call r12
cmp dword [r13], 0xffffffff
setne byte [rsp + 0x60]
mov eax, dword [rsp + 0x60]
mov rcx, qword [rbp + 0x1fc0]
xor rcx, rsp
call fcn.180077c10
mov rbx, qword [rsp + 0x2120]
add rsp, 0x20d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret