Function at 0x140057d50
Capabilities:
Delete file

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x438]
sub rsp, 0x538
mov rax, qword [0x14014e0c0]
xor rax, rsp
mov qword [rbp + 0x420], rax
mov rsi, r9
mov qword [rsp + 0x50], r9
mov rdi, r8
mov qword [rsp + 0x60], r8
mov r15, rdx
mov r12, rcx
mov qword [rbp + 0x1d0], rdx
mov qword [rbp + 0x140], r9
xor r13d, r13d
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x210], xmm1
xor edx, edx
mov r8d, 0x180
lea rcx, [rbp + 0x2a0]
call fcn.1400bb630
lea rcx, [rbp + 0x2a0]
call fcn.14005c0b0
nop
mov qword [rbp + 0x1c8], r13
mov r8b, 1
mov rdx, rdi
lea rcx, [rbp + 0x2a0]
call fcn.14005c320
mov rcx, qword [rbp + 0x2b0]
test rcx, rcx
je 0x140057e04
jle 0x140057dfd
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov qword [rbp + 0x2b0], r13
mov rcx, qword [rbp + 0x2a8]
test rcx, rcx
je 0x140057e1f
jle 0x140057e18
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x2a8], r13
mov rcx, qword [rbp + 0x2a0]
test rcx, rcx
je 0x140057e3a
jle 0x140057e33
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x2a0], r13
mov rcx, qword [rbp + 0x2e8]
test rcx, rcx
je 0x140057e55
jle 0x140057e4e
call qword [sym.imp.KERNEL32.dll_ReleaseActCtx]
mov qword [rbp + 0x2e8], r13
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x2c0], xmm0
mov qword [rbp + 0x3a8], r13
lea rax, [rbp + 0x398]
cmp qword [rbp + 0x3b0], 7
cmova rax, qword [rbp + 0x398]
mov word [rax], r13w
cmp byte [rbp + 0x2bc], 0
je 0x140057ea8
lea rcx, [rbp + 0x3b8]
cmp qword [rbp + 0x3d0], 7
cmova rcx, qword [rbp + 0x3b8]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov qword [rbp + 0x3c8], r13
lea rax, [rbp + 0x3b8]
cmp qword [rbp + 0x3d0], 7
cmova rax, qword [rbp + 0x3b8]
mov word [rax], r13w
mov ebx, r13d
cmp byte [rbp + 0x2b9], r13b
setne bl
mov rdx, rdi
lea rcx, [rbp + 0x1e8]
call fcn.140055c80
nop
lea r14, [0x1401359dc]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [rbp + 0x1e8]
lea rdx, [rsp + 0x40]
mov rcx, r12
call fcn.1400566e0
nop
mov rdx, qword [rbp + 0x200]
cmp rdx, 7
jbe 0x140057f55
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057f50
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140058e3a
call fcn.14008bfa0
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp + 0x210], xmm0
movq rax, xmm0
test rax, rax
je 0x140057fc6
psrldq xmm0, 8
movq rbx, xmm0
test rbx, rbx
je 0x140057f89
lock inc dword [rbx + 8]
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
mov dword [r15], 0xc000010e
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], rbx
mov byte [r15 + 0x18], 1
lea rcx, [rbp + 0x2a0]
call fcn.14005c1d0
nop
mov r14d, 0xffffffff
test rbx, rbx
je 0x14005843b
mov eax, r14d
lock xadd dword [rbx + 8], eax
jmp 0x140058410
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], 4
xor r9d, r9d
mov r8d, 0x1000
mov rdx, qword [r12 + 8]
lea rcx, [rbp + 0x120]
call fcn.140062810
nop
mov eax, dword [rbp + 0x120]
test eax, eax
jns 0x14005800b
mov dword [r15], eax
mov byte [r15 + 0x18], 0
mov r14d, 0xffffffff
jmp 0x1400583b0
mov ebx, 8
mov rax, qword [rbp + 0x138]
cmp byte [rbp + 0x2b9], 0
jne 0x1400580bb
mov qword [rbp + 0x1d0], r13
test al, al
je 0x140058e40
mov rdx, qword [rbp + 0x128]
test rdx, rdx
je 0x140058071
mov rax, qword [rdx + 0x18]
mov rax, qword [rax + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov qword [rsp + 0x20], r13
mov r9d, ebx
lea r8, [rbp + 0x1d0]
mov rdx, qword [rdx]
call qword [rax + 0x20]
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x128]
test al, al
je 0x140058e40
mov r8, rdi
cmp qword [rdi + 0x18], 7
jbe 0x140058086
mov r8, qword [rdi]
mov r9, qword [rdi + 0x10]
add r9, r9
test rdx, rdx
je 0x1400580af
mov rax, qword [rdx + 0x18]
mov rdx, qword [rdx]
add rdx, rbx
mov rax, qword [rax + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov qword [rsp + 0x20], r13
call qword [rax + 0x20]
mov qword [rbp + 0x1d0], rbx
jmp 0x140058155
xorps xmm0, xmm0
movups xmmword [rbp + 0x1b0], xmm0
test al, al
je 0x140058e34
mov ebx, 0x10
mov qword [rbp + 0x1d0], rbx
mov rdx, qword [rbp + 0x128]
test rdx, rdx
je 0x140058117
mov rax, qword [rdx + 0x18]
mov rax, qword [rax + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov qword [rsp + 0x20], r13
mov r9d, ebx
lea r8, [rbp + 0x1b0]
mov rdx, qword [rdx]
call qword [rax + 0x20]
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x128]
test al, al
je 0x140058e34
mov r8, rdi
cmp qword [rdi + 0x18], 7
jbe 0x14005812c
mov r8, qword [rdi]
mov r9, qword [rdi + 0x10]
add r9, r9
test rdx, rdx
je 0x140058155
mov rax, qword [rdx + 0x18]
mov rdx, qword [rdx]
add rdx, rbx
mov rax, qword [rax + 0x70]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov qword [rsp + 0x20], r13
call qword [rax + 0x20]
mov rax, qword [r12 + 0x10]
mov rcx, qword [rax + 0x10]
cmp byte [rbp + 0x2b9], 0
je 0x140058326
cmp byte [rcx + 0x15], 0
je 0x140058330
mov byte [rsp + 0x30], 0
mov ebx, r13d
cmp byte [rbp + 0x2b9], r13b
setne bl
xorps xmm0, xmm0
movups xmmword [rbp + 0x1e8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1f8], xmm1
mov r8d, 0xc
lea rdx, str.kernel32.dll
lea rcx, [rbp + 0x1e8]
call fcn.140053c20
nop
lea rdx, [rbp + 0x1e8]
lea rcx, [rbp + 0x220]
call fcn.140055c80
nop
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [rbp + 0x220]
lea rdx, [rbp + 0x1b0]
mov rcx, r12
call fcn.1400566e0
nop
mov rdx, qword [rbp + 0x238]
cmp rdx, 7
jbe 0x140058234
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x220]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005822e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140058e46
call fcn.14008bfa0
nop
mov qword [rsp + 0x20], r14
lea r9, [0x140135c98]
mov r8, qword [rbp + 0x1b0]
lea rdx, [rbp + 0x240]
mov rcx, r12
call fcn.140056d40
nop
mov r14d, 0xffffffff
mov rcx, qword [rbp + 0x1b8]
test rcx, rcx
je 0x1400582a0
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400582a0
mov rbx, qword [rbp + 0x1b8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400582a0
mov rcx, qword [rbp + 0x1b8]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rbp + 0x200]
cmp rdx, 7
jbe 0x1400582e6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400582e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140058e4c
call fcn.14008bfa0
movdqa xmm0, xmmword [0x140137380]
movdqu xmmword [rbp + 0x1f8], xmm0
mov word [rbp + 0x1e8], r13w
mov rax, qword [r12]
mov rcx, qword [rax + 0x10]
movzx edx, byte [rcx + 0x15]
movzx eax, byte [rbp + 0x2b9]
test dl, dl
jne 0x14005833a
test al, al
jne 0x14005833a
mov dword [r15], 0xc0000359
mov byte [r15 + 0x18], al
jmp 0x14005839a
cmp byte [rcx + 0x15], 1
jne 0x140058175
mov byte [rsp + 0x30], 1
jmp 0x14005817a
mov ecx, 1
test dl, dl
je 0x140058349
test al, al
cmovne r13d, ecx
xor edi, edi
mov r9d, edi
test al, al
setne r9b
mov dword [rsp + 0x20], ecx
lea r8, str.LdrLoadDll
lea rdx, [rbp + 0x150]
mov rcx, r12
call fcn.140057b30
nop
mov eax, dword [rbp + 0x150]
test eax, eax
jns 0x14005847f
mov dword [r15], eax
mov byte [r15 + 0x18], dil
cmp byte [rbp + 0x1a8], dil
je 0x14005839a
lea rcx, [rbp + 0x158]
call fcn.140052f70
nop
cmp byte [rbp + 0x298], 0
je 0x1400583b0
lea rcx, [rbp + 0x248]
call fcn.140052f70
nop
cmp byte [rbp + 0x138], 0
je 0x1400583f1
mov rbx, qword [rbp + 0x130]
test rbx, rbx
je 0x1400583f1
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400583f1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400583f1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
lea rcx, [rbp + 0x2a0]
call fcn.14005c1d0
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14005843b
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14005843b
mov rbx, qword [rsp + 0x48]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14005843b
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rbx, qword [rsi + 8]
test rbx, rbx
je 0x140058e08
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140058e08
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x140058e08
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
jmp 0x140058e08
cmp r13d, 1
jne 0x1400585f2
cmp byte [r12 + 0x80], 0
jne 0x1400585f2
mov eax, dword [0x1401555cc]
test eax, eax
je 0x1400585f2
mov rcx, qword [0x1401555d0]
cmp eax, 6
ja 0x1400584cd
jb 0x1400585f2
cmp ecx, r13d
ja 0x1400584cd
jb 0x1400585f2
cmp word [0x1401556dc], 0
jbe 0x1400584e1
cmp eax, 6
ja 0x1400585f2
jb 0x1400584e1
cmp ecx, 1
ja 0x1400585f2
mov dword [rbp + 0x1b0], 0x90909090
mov word [rbp + 0x1b4], 0x9090
mov rbx, qword [0x1401553e0]
test rbx, rbx
je 0x1400585e9
mov dword [rbp + 0x1e0], edi
mov rax, qword [r12 + 8]
mov r9d, 0x40
lea rcx, [rax + 0x70]
mov esi, 4
cmp dword [rax + 0x78], 1
jne 0x14005852f
mov rax, qword [rcx]
cmp byte [rax + 0x18], 1
cmovne r9d, esi
mov rax, qword [rcx]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
lea rdx, [rbp + 0x1e0]
mov qword [rsp + 0x20], rdx
mov r8d, 6
mov rdx, rbx
call qword [rax + 0x10]
mov rax, qword [r12 + 8]
mov rcx, qword [rax + 0x70]
mov rcx, qword [rcx + 0x10]
mov rax, qword [rcx]
mov qword [rsp + 0x20], rdi
mov r9d, 6
lea r8, [rbp + 0x1b0]
mov rdx, rbx
call qword [rax + 0x20]
mov rax, qword [r12 + 8]
mov dword [rbp + 0x1c0], edi
mov r9d, dword [rbp + 0x1e0]
mov ecx, r9d
lea rdx, [rax + 0x70]
cmp dword [rax + 0x78], 1
jne 0x1400585c7
mov rax, qword [rdx]
cmp byte [rax + 0x18], 1
je 0x1400585c7
cmp ecx, 0x20
jne 0x1400585ae
mov r9d, 2
jmp 0x1400585c7
cmp ecx, 0x40
jne 0x1400585b8
mov r9d, esi
jmp 0x1400585c7
cmp ecx, 0x80
mov eax, 8
cmove r9d, eax
mov rax, qword [rdx]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
lea rdx, [rbp + 0x1c0]
mov qword [rsp + 0x20], rdx
mov r8d, 6
mov rdx, rbx
call qword [rax + 0x10]
mov byte [r12 + 0x80], 1
xor esi, esi
mov qword [rbp + 0x1c0], rsi
mov edx, esi
cmp byte [rbp + 0x2b9], sil
setne dl
lea rcx, [rbp + 0x1c0]
call fcn.14004bd20
nop
mov rbx, qword [rbp + 0x1c0]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x18]
mov qword [rbp - 0x30], 0xffffffffffff0001
mov qword [rbp - 0x28], 0xff
movabs rdx, 0xffffffff00000003
mov qword [rbp - 0x20], rdx
mov r8d, 0xffffffff
mov qword [rbp - 0x18], r8
mov qword [rbp - 8], rsi
xorps xmm0, xmm0
movdqa xmmword [rbp], xmm0
mov qword [rbp + 0x10], rsi
mov dword [rbp - 0x40], 2
mov r10d, 4
mov qword [rbp - 0x38], r10
mov qword [rbp - 0x10], rsi
mov qword [rbp + 0x28], 0xffffffffffff0001
mov qword [rbp + 0x30], 0xff
mov qword [rbp + 0x38], rdx
mov qword [rbp + 0x40], r8
mov qword [rbp + 0x50], rsi
mov qword [rbp + 0x58], rsi
movdqa xmmword [rbp + 0x60], xmm0
mov dword [rbp + 0x18], 2
mov qword [rbp + 0x20], r10
mov qword [rbp + 0x48], rsi
cmp byte [rbp + 0x138], sil
je 0x140058e52
mov rax, qword [rbp + 0x128]
test rax, rax
je 0x1400586c1
mov rcx, qword [rax]
jmp 0x1400586c7
mov rcx, rsi
mov rax, rsi
mov qword [rbp + 0x80], 0xffffffffffff0001
mov qword [rbp + 0x88], 0xff
mov qword [rbp + 0x90], rdx
mov qword [rbp + 0x98], r8
mov qword [rbp + 0xa8], rsi
movdqa xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], rsi
mov dword [rbp + 0x70], 2
mov r9d, 8
mov qword [rbp + 0x78], r9
mov qword [rbp + 0xa0], rcx
test rax, rax
je 0x140058723
mov rax, qword [rax]
jmp 0x140058726
mov rax, rsi
add rax, 0x800
mov qword [rbp + 0xd8], 0xffffffffffff0001
mov qword [rbp + 0xe0], 0xff
mov qword [rbp + 0xe8], rdx
mov qword [rbp + 0xf0], r8
mov qword [rbp + 0x100], rsi
mov qword [rbp + 0x108], rsi
movdqa xmmword [rbp + 0x110], xmm0
mov dword [rbp + 0xc8], 2
mov qword [rbp + 0xd0], r9
mov qword [rbp + 0xf8], rax
lea rcx, [rbp - 0x40]
lea rax, [rbp + 0x120]
movdqu xmmword [rbp + 0x1e8], xmm0
mov qword [rbp + 0x1f8], rsi
mov qword [rbp + 0x1b0], rax
mov qword [rbp + 0x1e0], rcx
lea r9, [rbp + 0x1b0]
lea r8, [rbp + 0x1e0]
mov rdx, r10
lea rcx, [rbp + 0x1e8]
call fcn.140053a30
nop
cmp byte [rbp + 0x1a8], 0
je 0x140058e58
mov qword [rsp + 0x78], 0xffffffffffff0001
mov qword [rbp - 0x80], 0xff
movabs rax, 0xffffffff00000003
mov qword [rbp - 0x78], rax
mov eax, 0xffffffff
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x60], rsi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], rsi
mov dword [rsp + 0x68], 2
mov eax, 8
mov qword [rsp + 0x70], rax
mov rax, qword [rbp + 0x158]
mov qword [rbp - 0x68], rax
mov r9d, 1
lea r8, [rbp + 0x1e8]
lea rdx, [rsp + 0x68]
mov rcx, rbx
call rdi
nop
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x140058884
mov rdx, qword [rbp - 0x48]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140058873
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140058e5e
call fcn.14008bfa0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], rsi
lea rcx, [rbp + 0x1e8]
call fcn.140053480
nop
lea r9, [0x14004bbe0]
mov edx, 0x58
mov r8d, 4
lea rcx, [rbp - 0x40]
call fcn.14008c130
lea rcx, [rbx + 0xa8]
mov rax, qword [rcx]
lea r8, sym.fweet_loader.exe_struct_asmjit::Operand_const_asmjit::noOperand
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r8
mov r9, r8
mov edx, 0x21c
call qword [rax + 0x30]
mov rdi, qword [r12]
add rdi, 0x240
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov qword [rbp + 0x1b0], rdi
lea rdx, [rdi + 0x48]
mov r9d, 0x40
mov r8d, 0x1000
lea rcx, [rbp + 0x1b0]
call fcn.140065a40
test eax, eax
js 0x14005899d
lea rdx, [rdi + 0x58]
mov r9d, 0x40
mov r8d, 0x1000
lea rcx, [rbp + 0x1b0]
call fcn.140065a40
test eax, eax
js 0x14005899d
lea rdx, [rdi + 0x68]
mov r9d, 0x40
mov r8d, 0x1000
lea rcx, [rbp + 0x1b0]
call fcn.140065a40
test eax, eax
js 0x14005899d
lea rdx, [rdi + 0x78]
mov r9d, 4
mov r8d, 0x4000
lea rcx, [rbp + 0x1b0]
call fcn.140065a40
test eax, eax
js 0x14005899d
lea rdx, [rdi + 0x88]
mov r9d, 4
mov r8d, 0x4000
lea rcx, [rbp + 0x1b0]
call fcn.140065a40
test eax, eax
js 0x14005899d
mov edx, esi
mov rcx, rdi
call fcn.140064e10
mov rsi, qword [r12]
mov rcx, qword [rsp + 0x50]
cmp qword [rcx], 0
je 0x140058a7d
mov rax, qword [rsi + 0x268]
test rax, rax
je 0x1400589c7
lock inc dword [rax + 8]
mov rbx, qword [rbp + 0x1c0]
mov r13, qword [rsi + 0x260]
mov rdi, qword [rsi + 0x268]
mov rcx, qword [rcx]
mov qword [rbp + 0x1b0], rcx
test rdi, rdi
je 0x140058a16
mov eax, r14d
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140058a0f
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, r14d
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x140058a0f
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov rbx, qword [rbp + 0x1c0]
mov rsi, qword [r12]
mov edi, dword [rbx + 0x108]
lea rcx, [rbx + 0xa8]
sub rdi, qword [rbx + 0xf0]
mov rax, qword [rcx]
add rdi, qword [rbx + 0x100]
call qword [rax + 8]
lea r9, [rbp + 0x1c8]
mov r8, rdi
mov rdx, rax
lea rcx, [rsi + 0x240]
cmp qword [rbp + 0x1b0], r13
jne 0x140058a68
call fcn.140063890
mov r13, qword [rsp + 0x50]
mov edi, eax
test eax, eax
jmp 0x140058ac5
mov r13, qword [rsp + 0x50]
mov qword [rsp + 0x20], r13
call fcn.140063a00
mov edi, eax
test eax, eax
jmp 0x140058ac5
mov edi, dword [rbx + 0x108]
sub rdi, qword [rbx + 0xf0]
add rdi, qword [rbx + 0x100]
lea rcx, [rbx + 0xa8]
mov rax, qword [rcx]
call qword [rax + 8]
mov dword [rsp + 0x20], r13d
lea r9, [rbp + 0x1c8]
mov r8, rdi
mov rdx, rax
lea rcx, [rsi + 0x240]
call fcn.1400630a0
mov edi, eax
mov r13, qword [rsp + 0x50]
test eax, eax
js 0x140058ad7
mov edi, dword [rbp + 0x1c8]
mov eax, edi
test eax, eax
jns 0x140058c5a
cmp dword [rbp + 0x240], 0
jl 0x140058c5a
cmp byte [rsp + 0x30], 0
je 0x140058c5a
mov rcx, qword [r12]
add rcx, 0x240
cmp byte [rbp + 0x138], 0
je 0x140058e64
mov rax, qword [rbp + 0x128]
test rax, rax
je 0x140058b18
mov rdx, qword [rax]
jmp 0x140058b1a
xor edx, edx
mov r8, qword [rbp + 0x1d0]
add r8, rdx
cmp byte [rbp + 0x298], 0
je 0x140058e64
mov rdx, qword [rbp + 0x248]
call fcn.140064460
test eax, eax
jne 0x140058c5a
mov dword [r15], edi
mov byte [r15 + 0x18], al
test rbx, rbx
je 0x140058b5f
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
nop
cmp byte [rbp + 0x1a8], 0
je 0x140058b75
lea rcx, [rbp + 0x158]
call fcn.140052f70
nop
cmp byte [rbp + 0x298], 0
je 0x140058b8b
lea rcx, [rbp + 0x248]
call fcn.140052f70
nop
cmp byte [rbp + 0x138], 0
je 0x140058bcc
mov rbx, qword [rbp + 0x130]
test rbx, rbx
je 0x140058bcc
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140058bcc
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140058bcc
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
lea rcx, [rbp + 0x2a0]
call fcn.14005c1d0
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140058c16
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140058c16
mov rbx, qword [rsp + 0x48]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140058c16
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rbx, qword [r13 + 8]
test rbx, rbx
je 0x140058e08
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140058e08
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x140058e08
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
jmp 0x140058e08
xor edi, edi
cmp byte [rbp + 0x2b9], dil
setne dil
mov rdx, qword [rsp + 0x60]
lea rcx, [rbp + 0x220]
call fcn.140055c80
nop
lea rax, [0x1401359dc]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [rbp + 0x220]
lea rdx, [rbp + 0x1d0]
mov rcx, r12
call fcn.1400566e0
nop
mov rdx, qword [rbp + 0x238]
cmp rdx, 7
jbe 0x140058ce9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x220]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140058ce4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140058e2e
call fcn.14008bfa0
mov dword [r15], 0
mov rax, qword [rbp + 0x1d0]
mov qword [r15 + 8], rax
mov rax, qword [rbp + 0x1d8]
mov qword [r15 + 0x10], rax
mov byte [r15 + 0x18], 1
test rbx, rbx
je 0x140058d1e
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
nop
cmp byte [rbp + 0x1a8], 0
je 0x140058d34
lea rcx, [rbp + 0x158]
call fcn.140052f70
nop
cmp byte [rbp + 0x298], 0
je 0x140058d4a
lea rcx, [rbp + 0x248]
call fcn.140052f70
nop
cmp byte [rbp + 0x138], 0
je 0x140058d8b
mov rbx, qword [rbp + 0x130]
test rbx, rbx
je 0x140058d8b
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140058d8b
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140058d8b
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
lea rcx, [rbp + 0x2a0]
call fcn.14005c1d0
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140058dd5
mov eax, r14d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140058dd5
mov rbx, qword [rsp + 0x48]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r14d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140058dd5
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rbx, qword [r13 + 8]
test rbx, rbx
je 0x140058e08
mov eax, r14d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140058e08
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx]
lock xadd dword [rbx + 0xc], r14d
cmp r14d, 1
jne 0x140058e08
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 8]
mov rax, r15
mov rcx, qword [rbp + 0x420]
xor rcx, rsp
call fcn.14008bd40
add rsp, 0x538
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140092088
nop
call fcn.14004ba40
nop
call fcn.140092088
nop
call fcn.14004ba40
nop
call fcn.140092088
nop
call fcn.140092088
nop
call fcn.14004ba40
nop
call fcn.14004ba40
int3
call fcn.140092088
nop
call fcn.14004ba40
int3