Function at 0x1800233b0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov edi, dword [rbp + 0x88]
mov ebx, r9d
imul eax, ebx, 0x318
mov r15, rdx
mov r9, r8
mov rdx, rcx
mov r12d, ebx
mov dword [rsp + 0x78], eax
cmp ebx, eax
ja 0x1800234be
mov r13, qword [rbp + 0x90]
xor ecx, ecx
mov esi, dword [rbp + 0x88]
mov r10d, 0x4000
mov r14, qword [rbp - 0x78]
mov r8d, 0x4800
mov ebx, dword [rbp + 0x88]
mov r11d, 0x103
nop dword [rax]
cmp r12d, 0x27a3
ja 0x1800235d2
je 0x18002359c
mov eax, r12d
sub eax, 0x5b
je 0x180023554
sub eax, 0x30
je 0x180023523
sub eax, 0x1d
je 0x1800234e9
sub eax, 0x3d
je 0x1800234db
cmp eax, 0x190e
jne 0x1800234a6
mov rax, qword [rbp - 0x80]
mov edx, 1
mov r8d, dword [rax + 0x38]
mov r9, qword [rax + 0x18]
mov rcx, qword [rax + 0x30]
call fcn.180083240
mov rdx, qword [rbp + 0x70]
mov r9, qword [rbp + 0x80]
mov r11d, 0x103
mov r10d, 0x4000
mov r8d, 0x4800
xor ecx, ecx
mov eax, dword [rbp + 0x88]
lea eax, [rax + rax*8]
lea r12d, [r12 + rax*8]
cmp r12d, dword [rsp + 0x78]
jbe 0x180023430
mov eax, edi
mov rbx, qword [rsp + 0x178]
add rsp, 0x130
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov dword [0x1800c6dd4], 1
mov edi, ecx
jmp 0x1800234a6
mov eax, dword [r13]
lea rdx, [rbp - 0x78]
mov qword [rsp + 0x30], rcx
mov r9d, 0x7b
mov qword [rsp + 0x28], rcx
xor r8d, r8d
mov dword [rsp + 0x48], eax
mov rax, qword [r15]
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x48]
mov qword [rbp - 0x78], rax
call fcn.180058fa0
jmp 0x180023487
mov esi, ecx
test r13, r13
jne 0x1800234a6
xor r9d, r9d
mov dword [rbp + 0x88], 0x10
lea r8, [rbp + 0x88]
mov rdx, r15
mov ecx, 0xf3
call fcn.18002e120
jmp 0x1800234c0
mov rdx, qword [r13]
mov qword [rbp - 0x80], rdx
mov rax, qword [rdx + 0x20]
mov rdx, qword [rdx + 0x30]
mov rcx, qword [rax]
mov rax, qword [r15]
mov r8d, dword [rax + 0x88]
test r8d, r8d
je 0x180023593
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx], al
lea rdx, [rdx + 1]
add r8d, 0xffffffff
jne 0x180023580
mov rdx, qword [rbp + 0x70]
jmp 0x18002349e
cmp dword [rdx], 0
lea rax, [rbp + 0x18]
mov r9, r15
mov edx, 0xf0
cmovne rax, r13
xor r8d, r8d
xor ecx, ecx
mov r13, rax
mov r14, rax
call fcn.18002dc10
mov qword [rsp + 0x40], rax
test rax, rax
je 0x18002352e
jmp 0x180023487
cmp r12d, 0x414d
je 0x1800234be
cmp r12d, 0x4ebb
je 0x180023a26
cmp r12d, 0x75d3
je 0x1800237bb
cmp r12d, 0x9ceb
je 0x180023717
cmp r12d, 0xc403
jne 0x1800234a6
mov rdi, qword [rsp + 0x40]
test byte [rdi + 0x14], 0x20
je 0x180023c3e
mov r13d, dword [rbp + 0x88]
mov eax, 0x33
mov r12d, dword [rbp + 0x88]
mov ebx, dword [rbp + 0x88]
mov dword [rsp + 0x48], eax
nop
sub eax, 0x33
je 0x180023c18
sub eax, 1
je 0x180023c0e
cmp eax, 1
jne 0x180023c24
mov rax, qword [rbp - 0x78]
mov dword [rsp + 0x48], 0x35
nop word [rax + rax]
mov qword [rsp + 0x40], rax
mov rdi, rax
test rax, rax
je 0x180023bf0
mov r15, rdi
test r13d, r13d
je 0x180023694
cmp qword [rdi + 0x20], 0
je 0x180023bec
mov eax, 0x120
cmp dword [rdi], eax
jne 0x180023a52
cmp word [rdi + 0x14], ax
jne 0x180023a52
mov r9, rdi
lea edx, [rax - 0x30]
xor r8d, r8d
xor ecx, ecx
call fcn.18002dc10
mov r15, rax
test rax, rax
je 0x1800236cd
test byte [rax + 0x18], 1
jne 0x180023a47
test byte [rdi + 0x18], 4
jne 0x180023bb8
test byte [rax + 0x18], 4
jne 0x180023bb8
mov eax, 0x101
cmp word [r15 + 0x14], ax
je 0x180023bb8
xor r9d, r9d
mov dword [rbp + 0x88], 6
lea r8, [rbp + 0x88]
mov rdx, rdi
lea ecx, [rax - 0xe]
call fcn.18002e120
sub eax, esi
jmp 0x1800234c0
mov ecx, dword [rdx]
test ecx, ecx
je 0x180023723
movsxd rax, ebx
add r14, rax
mov r8, qword [rsp + 0x40]
movzx edx, word [r8 + 0x14]
cmp edx, 5
je 0x180023c70
movzx eax, word [r8 + 0x18]
test r10w, ax
je 0x180023593
mov r8d, 0x120
cmp dx, r8w
jae 0x180023593
mov dword [rbp - 0x60], ecx
lea r8, [rbp - 0x68]
mov ecx, dword [rsp + 0x70]
and ax, 0x20
add ecx, dword [r9]
lea r9, [rsp + 0x50]
mov word [rsp + 0x50], ax
lea rax, [rbp - 0x70]
mov dword [rbp - 0x70], ecx
mov rcx, r14
mov dword [rbp - 0x68], edx
lea rdx, [rbp - 0x60]
mov dword [rsp + 0x28], 0x1f
mov qword [rsp + 0x20], rax
call fcn.1800652b0
mov r9, qword [rbp + 0x80]
add esi, eax
mov rdx, qword [rbp + 0x70]
mov rbx, rax
add dword [r9], 4
cmp dword [rdx], 0
je 0x180023492
cdqe
add r14, rax
jmp 0x180023492
movzx eax, word [r15 + 0x14]
mov ecx, 0x120
cmp ax, cx
jb 0x1800239cc
mov ecx, dword [r15]
cmp ecx, eax
je 0x180023c77
cmp ecx, 1
je 0x180023c77
movzx eax, word [r15 + 0x18]
and ax, r8w
mov r8d, 0x800
cmp ax, r8w
jne 0x180023800
cmp ecx, 0x40
jge 0x180023c77
mov ebx, 0x58
cmp ebx, 0x58
je 0x18002381b
cmp ebx, 0x1de8
je 0x180023c70
jmp 0x1800239ba
mov ecx, dword [r15]
cmp ecx, 1
je 0x180023928
mov eax, dword [rdx]
lea r8, [rbp - 0x50]
mov dword [rbp - 0x48], eax
lea rdx, [rbp - 0x48]
xor eax, eax
mov dword [rbp - 0x50], ecx
mov word [rsp + 0x58], ax
mov rcx, r14
mov eax, dword [r9]
lea r9, [rsp + 0x58]
mov dword [rbp - 0x58], eax
lea rax, [rbp - 0x58]
mov dword [rsp + 0x28], 0x1f
mov qword [rsp + 0x20], rax
call fcn.1800652b0
mov rcx, qword [rbp + 0x70]
mov rsi, rax
mov ecx, dword [rcx]
test ecx, ecx
je 0x180023875
movsxd rax, esi
add r14, rax
movzx edx, word [r15 + 0x14]
mov eax, 0x120
cmp dx, ax
jbe 0x180023917
mov r10d, 0x4000
test word [r15 + 0x18], r10w
je 0x1800238fb
xor eax, eax
mov dword [rbp - 0x30], ecx
mov word [rsp + 0x60], ax
lea r9, [rsp + 0x60]
mov rax, qword [rbp + 0x80]
lea r8, [rbp - 0x38]
mov dword [rsp + 0x28], 0x1f
mov rcx, r14
mov eax, dword [rax]
mov dword [rbp - 0x40], eax
mov eax, edx
and eax, 0xfffffedf
lea rdx, [rbp - 0x30]
mov dword [rbp - 0x38], eax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
call fcn.1800652b0
mov rdx, qword [rbp + 0x70]
cmp dword [rdx], 0
je 0x1800238ea
movsxd rcx, eax
add r14, rcx
mov r9, qword [rbp + 0x80]
add esi, eax
add dword [r9], 4
mov ecx, dword [rdx]
jmp 0x180023906
mov rdx, qword [rbp + 0x70]
mov r9, qword [rbp + 0x80]
mov r11d, 0x103
test ecx, ecx
je 0x180023928
mov byte [r14 - 2], 0x77
jmp 0x180023928
mov rdx, qword [rbp + 0x70]
mov r11d, 0x103
mov r9, qword [rbp + 0x80]
mov rcx, qword [rsp + 0x40]
mov eax, 0x800
test word [r15 + 0x18], ax
je 0x18002396b
cmp word [rcx + 0x14], r11w
jne 0x18002396b
mov eax, dword [rdx]
mov r8, rcx
mov dword [rbp - 0x28], eax
lea rdx, [rbp - 0x28]
mov eax, dword [r9]
lea rcx, [rbp - 0x20]
add eax, 4
mov dword [rsp + 0x20], 0xa2
mov r9, r14
mov dword [rbp - 0x20], eax
call fcn.18001aec0
jmp 0x180023994
mov eax, dword [rdx]
lea r8, [rbp - 0x18]
mov dword [rbp - 0x10], eax
mov rdx, rcx
mov eax, dword [r9]
lea rcx, [rbp - 0x10]
add eax, 4
mov qword [rsp + 0x20], r14
mov r9d, 0x8b
mov dword [rbp - 0x18], eax
call fcn.1800233b0
test eax, eax
js 0x180023710
mov rdx, qword [rbp + 0x70]
add esi, eax
mov r9, qword [rbp + 0x80]
mov r11d, 0x103
cmp dword [rdx], 0
je 0x1800239ba
movsxd rcx, eax
add r14, rcx
add ebx, 0x1d90
cmp ebx, 0x3b20
jbe 0x180023805
mov eax, dword [rdx]
lea r8, [rbp]
mov dword [rbp + 8], eax
lea rdx, [rbp + 8]
movzx eax, word [r15 + 0x18]
mov ecx, 0x2000
and ax, cx
mov dword [rsp + 0x28], 0x1f
mov word [rsp + 0x68], ax
mov rcx, r14
mov eax, dword [r9]
lea r9, [rsp + 0x68]
mov dword [rbp - 8], eax
mov eax, dword [r15]
mov dword [rbp], eax
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
call fcn.1800652b0
mov ebx, eax
mov dword [rsp + 0x70], 4
add esi, eax
jmp 0x180023487
mov rax, qword [rsp + 0x40]
test byte [rax + 0x18], 1
jne 0x1800234a6
test byte [r15 + 0x18], 4
je 0x180023caa
mov eax, ecx
jmp 0x1800234c0
mov rdx, qword [rbp + 0x70]
mov r9, qword [rbp + 0x80]
test r12d, r12d
je 0x180023b70
test byte [rdi + 0x18], 1
jne 0x180023a6c
test byte [r15 + 0x18], 1
je 0x180023b70
mov eax, dword [r9]
add esi, 5
add esi, eax
cmp dword [rdx], 0
je 0x180023b70
mov dword [rbp + 0x88], eax
mov ecx, 0xc6
nop dword [rax + rax]
mov eax, ecx
sub eax, 0x9a
je 0x180023af2
sub eax, 0x2c
je 0x180023aa9
cmp eax, 0x11
je 0x180023b6a
jmp 0x180023ae5
mov byte [r14], 0xa
lea rbx, [r14 + 1]
mov eax, dword [rbp + 0x88]
add eax, 4
je 0x180023ada
nop dword [rax]
dec eax
mov dword [rbp + 0x88], eax
mov byte [rbx], 0x20
inc rbx
mov eax, dword [rbp + 0x88]
test eax, eax
jne 0x180023ac0
xor eax, eax
dec eax
mov dword [rbp + 0x88], eax
sub ebx, r14d
add ecx, 0x11
cmp ecx, 0xf9
jb 0x180023a90
jmp 0x180023b6a
mov edi, 0xf7
mov eax, edi
sub eax, 0xf6
je 0x180023b5a
cmp eax, 1
jne 0x180023b43
test r14, r14
je 0x180023b56
movzx eax, byte [r14]
mov rbx, r14
test al, al
je 0x180023b3f
nop word [rax + rax]
movsx edx, al
lea rcx, [rbp + 0x88]
call fcn.1800788f0
test rax, rax
je 0x180023b4f
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x180023b20
xor eax, eax
mov ebx, eax
dec edi
cmp edi, 0xf5
ja 0x180023af7
jmp 0x180023b5a
mov ebx, 1
jmp 0x180023b5a
xor eax, eax
mov ebx, eax
mov r9, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x70]
mov rdi, qword [rsp + 0x40]
movsxd rax, ebx
add r14, rax
mov eax, dword [rdx]
lea r8, [rsp + 0x78]
mov ecx, dword [rsp + 0x70]
mov rdx, r15
add ecx, dword [r9]
mov r9d, 0x8b
mov dword [rsp + 0x78], ecx
lea rcx, [rbp + 0x10]
mov dword [rbp + 0x10], eax
mov qword [rsp + 0x20], r14
call fcn.1800233b0
test eax, eax
js 0x180023710
mov rcx, qword [rbp + 0x70]
add r12d, eax
add esi, eax
cmp dword [rcx], 0
je 0x180023bb8
movsxd rcx, eax
add r14, rcx
lea r8, [rbp - 0x80]
mov dword [rbp - 0x80], 1
mov edx, 0x128
mov rcx, rdi
call fcn.180009010
mov rdx, qword [rbp + 0x70]
mov rdi, rax
mov r9, qword [rbp + 0x80]
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x180023681
mov rax, qword [rbp - 0x78]
test r13d, r13d
je 0x180023c06
mov rax, qword [rax + 0x20]
mov qword [rbp - 0x78], rax
test rax, rax
jne 0x180023670
mov byte [r14], 0
xor ecx, ecx
jmp 0x180023c24
lea rax, [rdi + 0x38]
mov qword [rbp - 0x78], rax
jmp 0x180023c24
movzx r13d, word [rdi + 0x18]
mov r12d, ecx
and r13d, 8
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
cmp eax, 0x36
jb 0x180023640
mov eax, esi
jmp 0x1800234c0
mov eax, dword [rdx]
mov r8, r15
mov ecx, dword [rsp + 0x70]
lea rdx, [rbp + 0x88]
add ecx, dword [r9]
mov r9, r14
mov dword [rbp - 0x80], ecx
lea rcx, [rbp - 0x80]
mov dword [rbp + 0x88], eax
mov dword [rsp + 0x20], 0xa2
call fcn.18001aec0
add esi, eax
mov eax, esi
jmp 0x1800234c0
mov eax, dword [rdx]
lea r8, [rbp + 0x88]
mov rdx, qword [rsp + 0x40]
lea rcx, [rbp - 0x80]
mov dword [rbp - 0x80], eax
mov eax, dword [r9]
mov r9d, 0x8b
mov dword [rbp + 0x88], eax
mov qword [rsp + 0x20], r13
call fcn.1800233b0
jmp 0x1800234c0
xor r9d, r9d
mov dword [rbp + 0x88], 6
lea r8, [rbp + 0x88]
mov rdx, r15
mov ecx, 0xf3
call fcn.18002e120
jmp 0x1800234c0