Function at 0x140057110
Capabilities:
Enumerate files on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x7a0
mov rax, qword [0x1402a76c0]
xor rax, rsp
mov qword [rsp + 0x790], rax
mov qword [rsp + 0x90], r9
mov dword [rsp + 0x70], r8d
mov r15d, edx
mov qword [rsp + 0xb0], rcx
xor r12d, r12d
mov dword [rsp + 0x30], r12d
lea rdx, str.CheckRunEnvironment::CheckMultiMediaTypeStyle
lea rcx, [rsp + 0xd0]
call fcn.14001abe0
nop
lea rdi, [0x1402a8360]
mov rcx, qword [0x1402a8360]
cmp rcx, rdi
je 0x1400571bb
test byte [rcx + 0x1c], 1
je 0x1400571bb
lea rsi, [0x1402bbdb0]
mov r9, rsi
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
lea edx, [r12 + 0x51]
lea r8, [0x1402559c8]
mov rcx, qword [rcx + 0x10]
call fcn.140001ad0
jmp 0x1400571c2
lea rsi, [0x1402bbdb0]
mov eax, r12d
mov dword [rsp + 0x48], eax
lea rcx, [rsp + 0xc0]
call fcn.1401bb788
nop
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x370]
call fcn.1401e7e40
xor edx, edx
mov r8d, 0x250
lea rcx, [rsp + 0x120]
call fcn.1401e7e40
call fcn.1401bb0c4
mov rcx, rax
test rax, rax
je 0x140057f70
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
add rax, 0x18
mov qword [rsp + 0xa0], rax
call fcn.1401bb0c4
mov rcx, rax
test rax, rax
je 0x140057f7b
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
add rax, 0x18
mov qword [rsp + 0x40], rax
call fcn.1401bb0c4
mov rcx, rax
test rax, rax
je 0x140057f86
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x38], rbx
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x580]
call fcn.1401e7e40
lea rdx, [rsp + 0x580]
call fcn.1400d96d0
lea rcx, [rsp + 0x580]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea rdx, str.InsDrv.ini
lea rcx, [rsp + 0x580]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
mov ecx, r15d
test r15d, r15d
je 0x140057326
sub ecx, 1
je 0x1400572fd
cmp ecx, 1
jne 0x14005735d
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x1400136d6.0]
mov rcx, rax
mov rax, qword [rax]
mov rax, qword [rax + 0x38]
call qword [case.0x1400136d6.0]
mov rdi, rax
jmp 0x14005734d
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x1400136d6.0]
mov rcx, rax
mov rax, qword [rax]
mov rax, qword [rax + 0x30]
call qword [case.0x1400136d6.0]
mov rdi, rax
jmp 0x14005734d
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x1400136d6.0]
mov rcx, rax
mov rax, qword [rax]
mov rax, qword [rax + 0x28]
call qword [case.0x1400136d6.0]
mov rdi, rax
test rdi, rdi
jne 0x140057478
lea rdi, [0x1402a8360]
lea rdx, [rbx - 0x18]
mov r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140057389
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400573b3
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
nop
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
sub r13d, 1
jg 0x1400573df
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
nop
call fcn.1401bb8b4
nop
lea rcx, vtable.WppTrace.0
mov qword [rsp + 0xd0], rcx
cmp byte [rsp + 0xd8], 0
jne 0x140057457
mov rcx, qword [0x1402a8360]
cmp rcx, rdi
je 0x140057457
test byte [rcx + 0x1c], 1
je 0x140057457
lea rax, [rsp + 0xe0]
cmp qword [rsp + 0xf8], 8
cmovae rax, qword [rsp + 0xe0]
cmp qword [0x1402bbdc8], 8
cmovae rsi, qword [0x1402bbdb0]
mov edx, 0xa
mov qword [rsp + 0x20], rax
mov r9, rsi
lea r8, [0x140252818]
mov rcx, qword [rcx + 0x10]
call fcn.140006c90
lea rcx, [rsp + 0x100]
call fcn.1400048a0
lea rcx, [rsp + 0xe0]
call fcn.1400048a0
xor eax, eax
jmp 0x140057f43
lea rcx, [rsp + 0x580]
mov r13, 0xffffffffffffffff
mov rax, r13
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140057490
mov r8d, eax
lea rdx, [rsp + 0x580]
lea rcx, [rsp + 0x40]
call fcn.140004e60
mov rax, r13
inc rax
cmp word [rdi + rax*2], 0
jne 0x1400574b2
mov r8d, eax
mov rdx, rdi
lea rcx, [rsp + 0x38]
call fcn.140004e60
mov edx, 0x5c
mov rbx, qword [rsp + 0x40]
mov rcx, rbx
call fcn.1401e768c
test rax, rax
jne 0x1400574e8
mov eax, r13d
jmp 0x1400574ee
sub rax, rbx
sar rax, 1
mov r8d, eax
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x40]
call fcn.140004340
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x140057567
cmp dword [rbx + 0x10], 0
jl 0x140057558
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140057558
call fcn.140004d00
mov rdi, rax
mov ecx, r13d
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14005754d
lfence
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x40], rax
jmp 0x140057567
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x40]
call fcn.140004e60
nop
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400575a0
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
nop dword [rax]
nop word [rax + rax]
mov rdi, qword [rsp + 0x38]
cmp dword [rdi - 0x10], 0
jl 0x140057802
lea rdx, [0x140255530]
mov rcx, rdi
call fcn.1401e7270
test rax, rax
je 0x140057802
sub rax, rdi
sar rax, 1
test eax, eax
jne 0x140057802
lea edx, [rax + 0x5c]
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.1401e768c
test rax, rax
jne 0x1400575ef
mov eax, r13d
jmp 0x1400575f5
sub rax, rdi
sar rax, 1
mov r14d, r12d
test eax, eax
cmovns r14d, eax
cmp r14d, dword [rdi - 0x10]
jl 0x140057621
lea rcx, [rdi - 0x18]
call fcn.140004d00
lea rbx, [rax + 0x18]
mov qword [rsp + 0x80], rbx
mov rsi, rbx
jmp 0x1400576c8
mov rcx, qword [rdi - 0x18]
test rcx, rcx
je 0x14005763f
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x1400136d6.0]
mov rcx, rax
test rax, rax
jne 0x140057660
call fcn.1401bb0c4
mov rcx, rax
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
call qword [case.0x1400136d6.0]
mov rcx, rax
test rax, rax
je 0x140057f91
lfence
mov rax, qword [rcx]
mov r8d, 2
mov edx, r14d
mov rax, qword [rax]
call qword [case.0x1400136d6.0]
test rax, rax
je 0x140057f9b
lea rbx, [rax + 0x18]
mov rsi, rbx
mov qword [rsp + 0x80], rbx
test r14d, r14d
js 0x140057fa0
cmp r14d, dword [rbx - 0xc]
jg 0x140057fa0
mov dword [rbx - 0x10], r14d
movsxd rax, r14d
lea r8, [rax + rax]
mov word [r8 + rbx], r12w
mov rdi, qword [rsp + 0x40]
test r8, r8
je 0x1400576c8
mov rdx, rdi
mov rcx, rbx
call fcn.1401e7770
or dword [rsp + 0x30], 2
lea rcx, [rsi - 0x18]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x140057738
cmp dword [rdi + 0x10], 0
jl 0x140057726
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140057726
call fcn.140004d00
mov rbx, rax
mov ecx, r13d
lock xadd dword [rdi + 0x10], ecx
sub ecx, 1
jg 0x140057713
lfence
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x40], rax
mov rbx, qword [rsp + 0x80]
jmp 0x140057738
mov r8d, dword [rsi - 0x10]
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.140004e60
nop
lea rdx, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005775c
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
mov rdi, qword [rsp + 0x38]
mov r9d, dword [rdi - 0x10]
add r9d, 0xfffffffd
mov r8d, 3
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x38]
call fcn.14002eaa0
or dword [rsp + 0x30], 1
mov rbx, qword [rsp + 0x88]
lea rcx, [rbx - 0x18]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x1400577f9
cmp dword [rdi + 0x10], 0
jl 0x1400577e7
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x1400577e7
call fcn.140004d00
mov rbx, rax
mov ecx, r13d
lock xadd dword [rdi + 0x10], ecx
sub ecx, 1
jg 0x1400577d4
lfence
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x38], rax
mov rbx, qword [rsp + 0x88]
jmp 0x1400577f9
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.140004e60
nop
lea rdx, [rbx - 0x18]
jmp 0x140057573
mov r9, rdi
mov r8, qword [rsp + 0x40]
lea rdx, [0x140252608]
lea rcx, [rsp + 0x370]
call qword [sym.imp.USER32.dll_wsprintfW]
lea rcx, [rsp + 0x370]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea rcx, [rsp + 0x370]
mov rax, r13
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140057840
mov r8d, eax
lea rdx, [rsp + 0x370]
lea rcx, [rsp + 0x40]
call fcn.140004e60
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x1400136d6.0]
mov rcx, rax
mov rax, qword [rax]
mov rax, qword [rax + 0xb8]
call qword [case.0x1400136d6.0]
mov esi, eax
mov dword [rsp + 0x50], eax
mov ebx, r12d
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x5c], r12d
call fcn.14018d2c0
mov rcx, rax
call fcn.14018c0c0
mov edx, r12d
cmp eax, r15d
sete dl
mov dword [rsp + 0x6c], edx
mov r14d, 1
mov dword [rsp + 0x68], r14d
cmp r14d, 2
ja 0x14005799c
test esi, r14d
je 0x140057da9
xor r15d, r15d
mov r12d, r15d
mov dword [rsp + 0x4c], r15d
mov dword [rsp + 0x48], r15d
mov rcx, qword [rsp + 0x40]
add rcx, 0xffffffffffffffe8
call fcn.140004d00
add rax, 0x18
mov qword [rsp + 0x60], rax
mov rcx, qword [0x1402bbf50]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x1400136d6.0]
mov rcx, rax
mov rax, qword [rax]
mov edx, ebx
mov rax, qword [rax + 0xc8]
call qword [case.0x1400136d6.0]
mov rbx, rax
test rax, rax
jne 0x14005792d
mov eax, r15d
jmp 0x14005793a
mov rax, r13
inc rax
cmp word [rbx + rax*2], 0
jne 0x140057930
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.140007390
mov eax, dword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
test eax, eax
jle 0x1400579dc
cmp dword [rsi - 0x10], eax
jl 0x1400579cc
mov r9, qword [rsp + 0x90]
mov dword [r9], 1
lea rdx, [rsi - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140057993
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
mov rdi, qword [rsp + 0x38]
mov esi, dword [rsp + 0x50]
test esi, esi
je 0x140057dd5
mov ecx, dword [rsp + 0x5c]
mov edx, dword [rsp + 0x6c]
cmp ecx, esi
jne 0x140057db7
test edx, edx
je 0x140057db7
mov r12d, 1
mov dword [rsp + 0x48], r12d
jmp 0x140057dd5
mov rax, qword [rsp + 0x90]
cmp dword [rax], 1
je 0x1400579dc
mov dword [rax], r15d
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x370]
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
mov rdx, rbx
lea rcx, [rsp + 0x370]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rcx, [rsp + 0x370]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea rdx, [0x1402557a0]
lea rcx, [rsp + 0x370]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x370]
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov r15, rax
mov qword [rsp + 0x98], rax
cmp rax, 0xffffffffffffffff
je 0x140057d78
mov eax, 1
xor r14d, r14d
mov dword [rsp + 0x54], r14d
nop dword [rax + rax]
test r12d, r12d
jne 0x140057d5c
test eax, eax
je 0x140057d5c
lea rdx, [0x140252314]
lea rcx, [rsp + 0x14c]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140057d46
lea rdx, [0x140255880]
lea rcx, [rsp + 0x14c]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x140057d46
test byte [rsp + 0x120], 0x10
je 0x140057c8c
mov rcx, qword [rsi - 0x18]
test rcx, rcx
je 0x140057ad7
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x1400136d6.0]
mov rcx, rax
test rax, rax
jne 0x140057af8
call fcn.1401bb0c4
mov rcx, rax
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
call qword [case.0x1400136d6.0]
mov rcx, rax
test rax, rax
je 0x140057fab
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [case.0x1400136d6.0]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x78], rbx
or dword [rsp + 0x30], 4
lea rax, [rsp + 0x14c]
mov r14, r13
nop
inc r14
cmp word [rax + r14*2], 0
jne 0x140057b20
movsxd r12, dword [rsi - 0x10]
lea r15d, [r12 + r14]
test r15d, r15d
js 0x140057fb6
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r15d
or eax, ecx
jge 0x140057b6d
lfence
mov edx, r15d
lea rcx, [rsp + 0x78]
call fcn.140004e00
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x78]
add r12, r12
je 0x140057b97
test rbx, rbx
jne 0x140057b89
call fcn.1401ec568
mov dword [rax], socket
call fcn.1401ec3fc
jmp 0x140057b97
mov r8, r12
mov rdx, rsi
mov rcx, rbx
call fcn.1401e7770
movsxd r8, r14d
add r8, r8
lea rcx, [r12 + rbx]
je 0x140057bc7
test rcx, rcx
jne 0x140057bba
call fcn.1401ec568
mov dword [rax], socket
call fcn.1401ec3fc
jmp 0x140057bc7
lea rdx, [rsp + 0x14c]
call fcn.1401e7770
cmp r15d, dword [rbx - 0xc]
jg 0x140057fc0
mov dword [rbx - 0x10], r15d
movsxd rax, r15d
xor ecx, ecx
mov word [rbx + rax*2], cx
lea rcx, [rbx - 0x18]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x140057c45
cmp dword [rdi + 0x10], 0
jl 0x140057c34
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140057c34
call fcn.140004d00
mov rbx, rax
mov eax, r13d
lock xadd dword [rdi + 0x10], eax
sub eax, 1
jg 0x140057c24
lfence
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x38], rax
mov rbx, qword [rsp + 0x78]
jmp 0x140057c45
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.140004e60
and dword [rsp + 0x30], 0xfffffffb
lea rdx, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140057c6e
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x54]
mov r12d, dword [rsp + 0x4c]
mov r15, qword [rsp + 0x98]
jmp 0x140057d00
lea rcx, [rsi - 0x18]
lea rbx, [rdi - 0x18]
cmp rcx, rbx
je 0x140057cf8
cmp dword [rbx + 0x10], 0
jl 0x140057ce2
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140057ce2
call fcn.140004d00
mov rdi, rax
mov eax, r13d
lock xadd dword [rbx + 0x10], eax
sub eax, 1
jg 0x140057cd2
lfence
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
add rdi, 0x18
mov qword [rsp + 0x38], rdi
mov rsi, qword [rsp + 0x60]
jmp 0x140057cf8
mov r8d, dword [rsi - 0x10]
mov rdx, rsi
lea rcx, [rsp + 0x38]
call fcn.140004e60
mov rdi, qword [rsp + 0x38]
inc r14d
mov dword [rsp + 0x54], r14d
cmp r14d, 2
jl 0x140057d20
test rdi, rdi
je 0x140057fcb
mov rdx, rdi
mov rcx, qword [rsp + 0x40]
call fcn.1401ecc18
test eax, eax
je 0x140057d46
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx]
mov rdx, rdi
mov rax, qword [rax + 0x80]
call qword [case.0x1400136d6.0]
mov r12d, eax
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x48], eax
lea rdx, [rsp + 0x120]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
jmp 0x140057a60
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindClose]
test r12d, r12d
je 0x14005796f
mov r14d, dword [rsp + 0x68]
or dword [rsp + 0x5c], r14d
lea rdx, [rsi - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140057d9c
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
mov esi, dword [rsp + 0x50]
mov ebx, dword [rsp + 0x58]
mov rdi, qword [rsp + 0x38]
add r14d, r14d
inc ebx
mov dword [rsp + 0x58], ebx
jmp 0x1400578b8
test esi, ecx
je 0x140057dcc
test edx, edx
jne 0x140057dcc
mov r12d, 1
mov dword [rsp + 0x48], r12d
jmp 0x140057dd5
xor eax, eax
mov r12d, eax
mov dword [rsp + 0x48], eax
lea rdx, [rdi - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140057dfa
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140057e24
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
nop
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
sub r13d, 1
jg 0x140057e50
lfence
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400136d6.0]
nop
jmp 0x140057e57
lea rbx, [0x1402bbdb0]
lea rdi, [0x1402a8360]
call fcn.1401bb8b4
nop
mov dl, 1
mov byte [rsp + 0xd8], dl
mov rax, qword [0x1402a8360]
cmp rax, rdi
je 0x140057ec1
test byte [rax + 0x1c], dl
je 0x140057ec1
mov r9, rbx
cmp qword [0x1402bbdc8], 8
cmovae r9, qword [0x1402bbdb0]
mov edx, 0x52
mov dword [rsp + 0x20], r12d
lea r8, [0x1402559c8]
mov rcx, qword [rax + 0x10]
call fcn.140001b40
movzx edx, byte [rsp + 0xd8]
mov rax, qword [0x1402a8360]
lea rcx, vtable.WppTrace.0
mov qword [rsp + 0xd0], rcx
test dl, dl
jne 0x140057f26
cmp rax, rdi
je 0x140057f26
test byte [rax + 0x1c], 1
je 0x140057f26
lea rcx, [rsp + 0xe0]
cmp qword [rsp + 0xf8], 8
cmovae rcx, qword [rsp + 0xe0]
cmp qword [0x1402bbdc8], 8
cmovae rbx, qword [0x1402bbdb0]
mov edx, 0xa
mov qword [rsp + 0x20], rcx
mov r9, rbx
lea r8, [0x140252818]
mov rcx, qword [rax + 0x10]
call fcn.140006c90
lea rcx, [rsp + 0x100]
call fcn.1400048a0
lea rcx, [rsp + 0xe0]
call fcn.1400048a0
mov eax, r12d
mov rcx, qword [rsp + 0x790]
xor rcx, rsp
call fcn.1401e2900
lea r11, [rsp + 0x7a0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov ecx, 0x80004005
call fcn.140001470
nop
mov ecx, 0x80004005
call fcn.140001470
nop
mov ecx, 0x80004005
call fcn.140001470
nop
mov ecx, 0x80004005
call fcn.140001470
call fcn.1400051f0
mov ecx, 0x80070057
call fcn.140001470
nop
mov ecx, 0x80004005
call fcn.140001470
int3
mov ecx, 0x80070057
call fcn.140001470
mov ecx, 0x80070057
call fcn.140001470
nop
mov ecx, 0x80004005
call fcn.140001470
int3