Function at 0x180023570
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xde8
mov rax, qword [0x180173200]
xor rax, rsp
mov qword [rsp + 0xdd0], rax
mov dword [rsp + 0x138], 0
mov rax, qword [rsp + 0xe30]
cmp dword [rax + 0x298], 0
jne 0x1800235e9
mov rax, qword [rsp + 0xe30]
add rax, 0x298
mov rcx, rax
call fcn.18006a660
mov rcx, qword [rsp + 0xe30]
mov qword [rcx + 0x290], rax
cmp qword [rsp + 0xe60], 0
je 0x1800235ff
mov rax, qword [rsp + 0xe60]
mov byte [rax], 0
mov rax, qword [rsp + 0xe48]
movsx eax, byte [rax]
test eax, eax
je 0x180023640
mov eax, dword [rsp + 0xe38]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x5e0]
mov r8, qword [rsp + 0xe50]
mov rdx, qword [rsp + 0xe48]
mov rcx, qword [rsp + 0xe30]
call fcn.180025680
jmp 0x180023662
lea rcx, [rsp + 0x5e0]
call fcn.180025a70
mov rdx, qword [rsp + 0xe40]
lea rcx, [rsp + 0x5e0]
call fcn.1800faec0
lea rdx, [0x180154b10]
lea rcx, [rsp + 0x5e0]
call fcn.180021670
mov qword [rsp + 0x130], rax
cmp qword [rsp + 0x130], 0
jne 0x1800236bd
mov rax, qword [rsp + 0xe30]
mov dword [rax + 0x228], 0xffffff83
mov rax, qword [rsp + 0xe30]
mov dword [rax + 0x244], 0xffffffd2
mov dword [rsp + 0x138], 1
jmp 0x18002408e
mov r9, qword [rsp + 0x130]
mov r8d, 4
mov edx, 1
lea rcx, [rsp + 0x1d0]
call fcn.1800fd0bc
lea r8, [rsp + 0x128]
lea rdx, [0x180154b14]
lea rcx, [rsp + 0x1d0]
call fcn.1800052e0
cmp dword [rsp + 0x128], 0x400
jle 0x18002373a
mov rax, qword [rsp + 0xe30]
mov dword [rax + 0x228], 0xffffff83
mov rax, qword [rsp + 0xe30]
mov dword [rax + 0x244], 0xffffffd1
mov dword [rsp + 0x138], 1
jmp 0x18002408e
movsxd rax, dword [rsp + 0x128]
mov ecx, 1
imul rcx, rcx, 4
lea rcx, [rsp + rcx + 0x1d0]
mov r9, qword [rsp + 0x130]
mov r8, rax
mov edx, 1
call fcn.1800fd0bc
mov dword [rsp + 0x140], eax
mov eax, dword [rsp + 0x128]
cmp dword [rsp + 0x140], eax
je 0x1800237b3
mov rax, qword [rsp + 0xe30]
mov dword [rax + 0x228], 0xffffff83
mov rax, qword [rsp + 0xe30]
mov dword [rax + 0x244], 0xffffffd0
mov dword [rsp + 0x138], 1
jmp 0x180024081
mov rax, qword [rsp + 0xe68]
add rax, 0x68
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0xe68]
mov rcx, qword [rsp + 0x150]
mov qword [rax + 0x60], rcx
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x120], rax
mov eax, 1
imul rax, rax, 4
lea rax, [rsp + rax + 0x1d0]
mov r8d, dword [rsp + 0x128]
mov rdx, rax
mov rcx, qword [rsp + 0xe30]
call fcn.1800257c0
mov eax, dword [rsp + 0x128]
add eax, 4
cdqe
mov qword [rsp + 0x158], rax
cmp qword [rsp + 0x158], 0x405
jae 0x180023838
jmp 0x18002383d
call fcn.1800e9a54
mov rax, qword [rsp + 0x158]
mov byte [rsp + rax + 0x1d0], 0
mov rax, qword [rsp + 0x120]
add rax, 0x330
mov rcx, qword [rsp + 0x120]
add rcx, 0x204
mov rdx, qword [rsp + 0x120]
add rdx, 0xe31
mov r8, qword [rsp + 0x120]
add r8, 0x402
mov r9, qword [rsp + 0x120]
add r9, 0x2d2
mov r10, qword [rsp + 0x120]
add r10, 0x291
mov r11, qword [rsp + 0x120]
add r11, 0x250
mov rbx, qword [rsp + 0x120]
add rbx, 0x17c
mov rdi, qword [rsp + 0x120]
add rdi, 0xd30
mov rsi, qword [rsp + 0x120]
add rsi, 0x340
mov rbp, qword [rsp + 0x120]
add rbp, 0x170
mov r14d, 1
imul r14, r14, 0
lea r14, [rsp + r14 + 0x9d0]
mov r15, qword [rsp + 0x120]
add r15, 0x44
mov r12, qword [rsp + 0x120]
add r12, 0x1b
mov r13, qword [rsp + 0x120]
add r13, 0x5a
mov qword [rsp + 0x160], r13
mov r13, qword [rsp + 0xe68]
add r13, 0xec8
mov qword [rsp + 0x168], r13
mov r13, qword [rsp + 0x120]
add r13, 0x314
mov qword [rsp + 0x170], r13
mov r13, qword [rsp + 0x120]
add r13, 0x34c
mov qword [rsp + 0x178], r13
mov r13, qword [rsp + 0x120]
add r13, 0x24c
mov qword [rsp + 0x180], r13
mov r13, qword [rsp + 0x120]
add r13, 0x32c
mov qword [rsp + 0x188], r13
mov r13, qword [rsp + 0x120]
add r13, 0x328
mov qword [rsp + 0x190], r13
mov r13, qword [rsp + 0x120]
add r13, 0x33c
mov qword [rsp + 0x198], r13
mov r13, qword [rsp + 0x120]
add r13, 0x200
mov qword [rsp + 0x1a0], r13
mov r13, qword [rsp + 0x120]
add r13, 0x338
mov qword [rsp + 0x1a8], r13
mov r13, qword [rsp + 0x120]
add r13, 0x334
mov qword [rsp + 0x1b0], r13
mov r13, qword [rsp + 0x120]
add r13, 0x74
mov qword [rsp + 0x1b8], r13
mov r13, qword [rsp + 0xe68]
add r13, 0x49
mov qword [rsp + 0x1c0], r13
mov r13, qword [rsp + 0xe68]
add r13, 0x20
mov qword [rsp + 0x1c8], r13
mov r13d, 1
imul r13, r13, 4
lea r13, [rsp + r13 + 0x1d0]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0xf0], r9
mov qword [rsp + 0xe8], r10
mov qword [rsp + 0xe0], r11
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xc8], rsi
mov qword [rsp + 0xc0], rbp
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0xb0], r15
mov qword [rsp + 0xa8], r12
mov rax, qword [rsp + 0xe70]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0xe60]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x188]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x1a8]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xe58]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x1c0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x148]
lea r8, [rsp + 0x13c]
lea rdx, str._x_x_______x_x_x_x_x_x_x_x_x_x_x_x______________________________________________x_x
mov rcx, r13
call fcn.1800052e0
mov dword [rsp + 0x144], eax
cmp dword [rsp + 0x144], 0x21
jne 0x180023c0d
cmp dword [rsp + 0x13c], 0xb
jl 0x180023c0d
cmp dword [rsp + 0x13c], 0xb
jne 0x180023c4d
cmp dword [rsp + 0x148], 0
jge 0x180023c4d
mov rax, qword [rsp + 0xe30]
mov dword [rax + 0x228], 0xffffff83
mov rax, qword [rsp + 0xe30]
mov dword [rax + 0x244], 0xffffffcf
mov rcx, qword [rsp + 0x130]
call fcn.1800fea4c
mov eax, 1
jmp 0x180024095
mov rax, qword [rsp + 0xe30]
mov eax, dword [rax + 0x10]
cmp dword [rsp + 0x13c], eax
je 0x180023e77
mov rax, qword [rsp + 0xe68]
add rax, 0x20
mov rcx, rax
call fcn.1800fb030
mov dword [rsp + 0x128], eax
cmp dword [rsp + 0x128], 0
jle 0x180023c94
cmp dword [rsp + 0x128], 0x28
jle 0x180023ccf
mov rax, qword [rsp + 0xe30]
mov dword [rax + 0x228], 0xffffff83
mov rax, qword [rsp + 0xe30]
mov dword [rax + 0x244], 0xffffffcd
mov rcx, qword [rsp + 0x130]
call fcn.1800fea4c
mov eax, 1
jmp 0x180024095
mov rax, qword [rsp + 0x120]
add rax, 0x1b
mov rcx, rax
call fcn.1800fb030
mov dword [rsp + 0x128], eax
cmp dword [rsp + 0x128], 0
jle 0x180023cfe
cmp dword [rsp + 0x128], 0x28
jle 0x180023d39
mov rax, qword [rsp + 0xe30]
mov dword [rax + 0x228], 0xffffff83
mov rax, qword [rsp + 0xe30]
mov dword [rax + 0x244], 0xffffffce
mov rcx, qword [rsp + 0x130]
call fcn.1800fea4c
mov eax, 1
jmp 0x180024095
mov rax, qword [rsp + 0x120]
add rax, 0x44
mov rcx, rax
call fcn.1800fb030
mov dword [rsp + 0x128], eax
cmp dword [rsp + 0x128], 0
jle 0x180023d68
cmp dword [rsp + 0x128], 0xa
jle 0x180023da3
mov rax, qword [rsp + 0xe30]
mov dword [rax + 0x228], 0xffffff83
mov rax, qword [rsp + 0xe30]
mov dword [rax + 0x244], 0xffffffcc
mov rcx, qword [rsp + 0x130]
call fcn.1800fea4c
mov eax, 1
jmp 0x180024095
mov rax, qword [rsp + 0xe68]
add rax, 0x49
mov rcx, rax
call fcn.1800fb030
mov dword [rsp + 0x128], eax
cmp dword [rsp + 0x128], 0
jle 0x180023dd2
cmp dword [rsp + 0x128], 0xa
jle 0x180023e0d
mov rax, qword [rsp + 0xe30]
mov dword [rax + 0x228], 0xffffff83
mov rax, qword [rsp + 0xe30]
mov dword [rax + 0x244], 0xffffffcb
mov rcx, qword [rsp + 0x130]
call fcn.1800fea4c
mov eax, 1
jmp 0x180024095
mov rax, qword [rsp + 0x120]
add rax, 0x5a
mov rcx, rax
call fcn.1800fb030
mov dword [rsp + 0x128], eax
cmp dword [rsp + 0x128], 0
jle 0x180023e3c
cmp dword [rsp + 0x128], 0xb
jle 0x180023e77
mov rax, qword [rsp + 0xe30]
mov dword [rax + 0x228], 0xffffff83
mov rax, qword [rsp + 0xe30]
mov dword [rax + 0x244], 0xffffffca
mov rcx, qword [rsp + 0x130]
call fcn.1800fea4c
mov eax, 1
jmp 0x180024095
mov rax, qword [rsp + 0x120]
add rax, 0x170
lea rdx, [0x180154bb8]
mov rcx, rax
call fcn.1800fb190
test eax, eax
jne 0x180023eb1
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x120]
mov byte [rcx + rax + 0x170], 0
mov rax, qword [rsp + 0x120]
add rax, 0x340
lea rdx, [0x180154bbc]
mov rcx, rax
call fcn.1800fb190
test eax, eax
jne 0x180023eeb
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x120]
mov byte [rcx + rax + 0x340], 0
mov rax, qword [rsp + 0x120]
add rax, 0xd30
lea rdx, [0x180154bc0]
mov rcx, rax
call fcn.1800fb190
test eax, eax
jne 0x180023f25
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x120]
mov byte [rcx + rax + 0xd30], 0
mov rax, qword [rsp + 0x120]
add rax, 0x17c
lea rdx, [0x180154bc4]
mov rcx, rax
call fcn.1800fb190
test eax, eax
jne 0x180023f5f
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x120]
mov byte [rcx + rax + 0x17c], 0
mov rax, qword [rsp + 0x120]
add rax, 0x250
lea rdx, [0x180154bc8]
mov rcx, rax
call fcn.1800fb190
test eax, eax
jne 0x180023f99
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x120]
mov byte [rcx + rax + 0x250], 0
mov rax, qword [rsp + 0x120]
add rax, 0x291
lea rdx, [0x180154bcc]
mov rcx, rax
call fcn.1800fb190
test eax, eax
jne 0x180023fd3
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x120]
mov byte [rcx + rax + 0x291], 0
mov rax, qword [rsp + 0x120]
add rax, 0x2d2
lea rdx, [0x180154bd0]
mov rcx, rax
call fcn.1800fb190
test eax, eax
jne 0x18002400d
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x120]
mov byte [rcx + rax + 0x2d2], 0
mov rax, qword [rsp + 0x120]
add rax, 0x402
lea rdx, [0x180154bd4]
mov rcx, rax
call fcn.1800fb190
test eax, eax
jne 0x180024047
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x120]
mov byte [rcx + rax + 0x402], 0
mov rax, qword [rsp + 0x120]
add rax, 0xe31
lea rdx, reloc.WLDAP32.dll_Ordinal_32
mov rcx, rax
call fcn.1800fb190
test eax, eax
jne 0x180024081
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x120]
mov byte [rcx + rax + 0xe31], 0
mov rcx, qword [rsp + 0x130]
call fcn.1800fea4c
mov eax, dword [rsp + 0x138]
mov rcx, qword [rsp + 0xdd0]
xor rcx, rsp
call fcn.1800e95d0
add rsp, 0xde8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret