Function at 0x140083e10
Capabilities:
Enumerate files on windows

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1620
call fcn.1400ea040
sub rsp, rax
mov qword [rsp + 0x168], 0xfffffffffffffffe
mov qword [rsp + 0x1658], rbx
mov qword [rsp + 0x1660], rbp
mov qword [rsp + 0x1668], rsi
mov rax, qword [0x14012df80]
xor rax, rsp
mov qword [rsp + 0x1610], rax
mov r15, rcx
mov qword [rsp + 0x50], rcx
mov rbx, qword [rcx + 0x178]
xor r14d, r14d
test rbx, rbx
je 0x140083f14
mov rax, qword [rbx]
cmp dword [rax + 0x174], 4
jl 0x140083f14
call fcn.14009d5e8
mov r11, rax
mov ecx, r14d
test rax, rax
setne cl
test ecx, ecx
jne 0x140083ea8
mov ecx, 0x80004005
call fcn.1400034f0
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x58], rax
lea rax, [0x1400fb278]
mov qword [rsp + 0x20], rax
lea r9, str.CreateEifItemInfo
lea r8, str.CSetupApp
lea rdx, str.private__s::_s__s_
lea rcx, [rsp + 0x58]
call fcn.14000a800
lea rdx, [rsp + 0x58]
mov rcx, rbx
call fcn.14002f200
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140083f14
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.1400a02a0
mov rcx, qword [rax + 8]
mov qword [rsp + 0x150], rcx
mov rax, qword [rcx + 0x140]
mov qword [rsp + 0x158], rax
mov rax, qword [rcx + 0x148]
mov qword [rsp + 0x160], rax
mov rcx, qword [r15 + 0x148]
mov eax, dword [rcx]
bt rax, 8
jae 0x140083f70
mov rax, qword [rcx + 0x140]
lea rsi, str.EPSON
cmp dword [rax - 0x10], 0
cmovne rsi, rax
mov qword [rsp + 0x58], rsi
jmp 0x140083f7c
lea rsi, str.EPSON
mov qword [rsp + 0x58], rsi
mov eax, r14d
mov dword [rsp + 0x70], eax
mov r8, r14
mov qword [rsp + 0x88], r14
nop
mov rdx, qword [r15 + 0x148]
mov rcx, qword [rdx + 0x58]
test rcx, rcx
je 0x140083fa6
mov rcx, qword [rcx + 0x10]
jmp 0x140083fa9
mov rcx, r14
cdqe
cmp rax, rcx
jge 0x140084bdd
mov rax, qword [rdx + 0x58]
test rax, rax
je 0x140083fdf
test r8, r8
js 0x140084ba7
cmp r8, qword [rax + 0x10]
jge 0x140084ba7
mov rax, qword [rax + 8]
mov rdi, qword [rax + r8*8]
mov qword [rsp + 0x60], rdi
jmp 0x140083fe7
mov rdi, r14
mov qword [rsp + 0x60], r14
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x140084b86
mov r13d, r14d
mov dword [rsp + 0x74], r14d
mov r12, r14
mov qword [rsp + 0x80], r14
cmp qword [rcx + 0x10], 0
jle 0x140084b86
test r12, r12
js 0x14008403c
mov rax, qword [rcx + 0x10]
cmp r12, rax
jge 0x14008403c
test r12, r12
js 0x140084bad
cmp r12, rax
jge 0x140084bad
mov rax, qword [rcx + 8]
mov rbx, qword [rax + r12*8]
jmp 0x14008403f
mov rbx, r14
mov rax, qword [rdi + 8]
test rax, rax
je 0x140084080
mov ecx, 0x7fffffff
mov edx, r14d
cmp word [rax], 0
je 0x140084062
add rax, 2
sub rcx, 1
jne 0x140084050
jmp 0x140084067
test rcx, rcx
jne 0x140084071
mov edx, 0x80070057
mov r9, r14
jmp 0x14008407a
mov r9d, 0x7fffffff
sub r9, rcx
test edx, edx
jns 0x14008408e
jmp 0x140084085
mov edx, 0x80070057
mov r9, r14
test edx, edx
cmovs r9, r14
test rbx, rbx
je 0x1400840d1
mov ecx, 0x7fffffff
mov rax, rbx
mov r8d, r14d
nop
cmp word [rax], 0
je 0x1400840b2
add rax, 2
sub rcx, 1
jne 0x1400840a0
jmp 0x1400840b7
test rcx, rcx
jne 0x1400840c2
mov r8d, 0x80070057
mov rdx, r14
jmp 0x1400840ca
mov edx, 0x7fffffff
sub rdx, rcx
test r8d, r8d
jns 0x1400840e1
jmp 0x1400840d7
mov r8d, 0x80070057
mov rdx, r14
test r8d, r8d
cmovs rdx, r14
mov rax, qword [r15 + 0x148]
mov rcx, qword [rax + 0x100]
cmp dword [rcx - 0x10], 0
je 0x140084133
test rcx, rcx
je 0x140084133
mov eax, 0x7fffffff
mov r8d, r14d
cmp word [rcx], 0
je 0x140084114
add rcx, 2
sub rax, 1
jne 0x140084102
jmp 0x140084119
test rax, rax
jne 0x140084124
mov r8d, 0x80070057
mov rcx, r14
jmp 0x14008412c
mov ecx, 0x7fffffff
sub rcx, rax
test r8d, r8d
jns 0x140084143
jmp 0x140084139
mov r8d, 0x80070057
mov rcx, r14
test r8d, r8d
cmovs rcx, r14
lea eax, [rcx + rdx]
lea ecx, [rax + r9 + 0x104]
movsxd r8, ecx
add r8, r8
mov rcx, qword [r15 + 0x140]
mov rbp, r14
mov qword [rsp + 0x78], r14
je 0x14008417b
mov edx, 8
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbp, rax
mov qword [rsp + 0x78], rax
mov r8, qword [rdi + 8]
mov edx, 0x410
lea rcx, [rsp + 0x5d0]
mov r9d, r14d
lea rax, [rsp + 0x5d0]
sub r8, rax
nop
nop
lea rax, [rdx + 0x7ffffbee]
test rax, rax
je 0x1400841c5
movzx eax, word [r8 + rcx]
test ax, ax
je 0x1400841c5
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400841a0
jmp 0x1400841ca
test rdx, rdx
jne 0x1400841d4
sub rcx, 2
mov r9d, 0x8007007a
mov word [rcx], 0
test r9d, r9d
jne 0x140084b39
mov edx, 0x410
lea rcx, [rsp + 0xdf0]
mov r9d, r14d
lea r8, [rsp + 0x5d0]
lea rax, [rsp + 0xdf0]
sub r8, rax
nop
nop
nop
lea rax, [rdx + 0x7ffffbee]
test rax, rax
je 0x140084235
movzx eax, word [rcx + r8]
test ax, ax
je 0x140084235
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140084210
jmp 0x14008423a
test rdx, rdx
jne 0x140084244
sub rcx, 2
mov r9d, 0x8007007a
mov word [rcx], 0
test r9d, r9d
jne 0x140084b39
mov rdx, rbx
lea rcx, [rsp + 0xdf0]
call fcn.14002ae40
mov r11d, 0x410
lea rcx, [rsp + 0x5d0]
mov r8d, r14d
lea rdx, [rsp + 0xdf0]
lea rax, [rsp + 0x5d0]
sub rdx, rax
nop
nop
nop
lea rax, [r11 + 0x7ffffbee]
test rax, rax
je 0x1400842b4
movzx eax, word [rcx + rdx]
test ax, ax
je 0x1400842b4
mov word [rcx], ax
add rcx, 2
sub r11, 1
jne 0x140084290
jmp 0x1400842b9
test r11, r11
jne 0x1400842c3
sub rcx, 2
mov r8d, 0x8007007a
mov word [rcx], 0
mov eax, r14d
test r8d, r8d
sete al
test eax, eax
je 0x140084b39
mov edx, 0x104
mov rcx, rbp
mov r9d, r14d
lea r8, [rsp + 0x5d0]
sub r8, rbp
nop
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x140084315
movzx eax, word [rcx + r8]
test ax, ax
je 0x140084315
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x1400842f0
jmp 0x14008431a
test rdx, rdx
jne 0x140084324
sub rcx, 2
mov r9d, 0x8007007a
mov word [rcx], 0
mov eax, r14d
test r9d, r9d
sete al
test eax, eax
je 0x140084b39
mov rax, qword [r15 + 0x148]
mov rbx, qword [rax + 0x100]
cmp dword [rbx - 0x10], 0
cmove rbx, r14
mov rdi, qword [r15 + 0x140]
test rbp, rbp
je 0x1400843aa
mov ecx, 0x7fffffff
lea rax, [0x1400fc524]
cmp word [rax], 0
je 0x14008437a
add rax, 2
sub rcx, 1
jne 0x140084368
jmp 0x140084389
test rcx, rcx
je 0x140084389
mov eax, 0x7fffffff
sub rax, rcx
jmp 0x14008438c
mov rax, r14
movsxd r8, eax
mov rdx, rbp
lea rcx, [0x1400fc524]
call fcn.1400cebc0
mov ecx, r14d
test eax, eax
sete cl
test ecx, ecx
jne 0x140084403
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov r8d, 0x104
lea rdx, [rsp + 0x3c0]
mov rcx, rbp
call fcn.1400cddd0
test eax, eax
jne 0x140084403
cmp word [rsp + 0x3c0], ax
jne 0x140084403
mov dword [rsp + 0x20], 0x104
mov r9, rbp
mov r8, rbx
mov rdx, rbp
mov rcx, rdi
call fcn.140013060
mov ebx, r14d
lea rdx, [rsp + 0x170]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x140084b2d
mov r14d, 1
nop
nop
test byte [rsp + 0x170], 0x10
cmove ebx, r14d
lea rdx, [rsp + 0x170]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x140084455
test ebx, ebx
je 0x140084430
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FindClose]
test ebx, ebx
mov r14d, 0
je 0x140084b34
lea rcx, [rsp + 0xf0]
call fcn.1400aa430
nop
lea rdi, method.CPtrArray.virtual_0
mov qword [rsp + 0xf0], rdi
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapCreate]
mov qword [rsp + 0x118], rax
mov rcx, qword [r15 + 0x148]
mov eax, dword [rcx]
bt rax, 8
jae 0x1400844c6
mov rax, qword [rcx + 0x140]
lea r9, str.EPSON
cmp dword [rax - 0x10], r14d
cmovne r9, rax
jmp 0x1400844cd
lea r9, str.EPSON
lea r8, [rsp + 0xf0]
mov rdx, rbp
lea rcx, [rsp + 0x150]
call fcn.14004fb50
test eax, eax
je 0x140084a89
xor ebx, ebx
mov r15d, ebx
mov r14, rbx
mov rcx, qword [rsp + 0x100]
test rcx, rcx
jle 0x140084a95
test r14, r14
js 0x140084527
cmp r14, rcx
jge 0x140084527
test r14, r14
js 0x140084bb3
mov rax, qword [rsp + 0xf8]
mov rbp, qword [rax + r14*8]
jmp 0x14008452a
mov rbp, rbx
lea rcx, [rsp + 0x120]
call fcn.1400aa430
nop
mov qword [rsp + 0x120], rdi
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapCreate]
mov qword [rsp + 0x148], rax
mov rdi, qword [rsp + 0x60]
movzx r8d, word [rdi]
lea rdx, [rsp + 0x120]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x150]
call fcn.140075240
test eax, eax
je 0x1400849ad
mov r13d, ebx
mov r12, rbx
mov rcx, qword [rsp + 0x130]
test rcx, rcx
jle 0x1400849b5
jmp 0x1400845a5
mov rdi, qword [rsp + 0x60]
test r12, r12
js 0x1400845c4
cmp r12, rcx
jge 0x1400845c4
test r12, r12
js 0x140084bb9
mov rax, qword [rsp + 0x128]
mov rbx, qword [rax + r12*8]
lea rcx, [rsp + 0x90]
call fcn.1400aa430
nop
lea rax, method.CPtrArray.virtual_0
mov qword [rsp + 0x90], rax
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapCreate]
mov qword [rsp + 0xb8], rax
lea r9, [rsp + 0x90]
movzx r8d, word [rdi]
mov rdx, rbx
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rbx + 0x150]
call fcn.14006f970
test eax, eax
je 0x1400848f0
xor r8d, r8d
mov r11d, r8d
mov rdx, r8
mov r10, qword [rsp + 0xa0]
test r10, r10
jle 0x1400848fb
test r11d, r11d
jne 0x1400846a7
test rdx, rdx
js 0x14008465e
cmp rdx, r10
jge 0x14008465e
test rdx, rdx
js 0x140084bbf
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax + rdx*8]
jmp 0x140084661
mov rcx, r8
mov r9, rbp
sub r9, rcx
nop
nop
nop
movzx r8d, word [rcx]
movzx eax, word [rcx + r9]
sub r8d, eax
jne 0x140084686
add rcx, 2
test eax, eax
jne 0x140084670
test r8d, r8d
mov eax, 1
cmove r11d, eax
add rdx, rax
cmp rdx, r10
lea r8d, [rax - 1]
jl 0x140084638
test r11d, r11d
je 0x1400848fb
test rsi, rsi
je 0x1400846e6
mov ecx, 0x7fffffff
mov rax, rsi
mov edx, r8d
cmp word [rax], 0
je 0x1400846c9
add rax, 2
sub rcx, 1
jne 0x1400846b7
jmp 0x1400846ce
test rcx, rcx
jne 0x1400846d8
mov edx, 0x80070057
mov rax, r8
jmp 0x1400846e0
mov eax, 0x7fffffff
sub rax, rcx
test edx, edx
jns 0x1400846f4
jmp 0x1400846eb
mov edx, 0x80070057
mov rax, r8
test edx, edx
cmovs rax, r8
movsxd r8, eax
mov rdx, rbp
mov rcx, rsi
call fcn.1400ce2c0
test eax, eax
jne 0x1400848f0
mov rax, qword [rbx + 0x148]
xor esi, esi
mov r11, rsi
mov rdi, qword [rax + 0x70]
test rdi, rdi
je 0x1400847d6
mov ebx, esi
mov r8, rsi
mov rsi, qword [rdi + 0x10]
test rsi, rsi
jle 0x1400847c6
test r11, r11
jne 0x1400848f0
test r8, r8
js 0x140084bc5
cmp r8, rsi
jge 0x140084bc5
mov rax, qword [rdi + 8]
mov r10, qword [rax + r8*8]
lea eax, [r11 + 1]
test rbp, rbp
je 0x14008479b
mov r9, qword [r10 + 0x30]
cmp dword [r9 - 0x10], r11d
mov rax, r11
cmove r9, rax
mov rcx, rbp
sub r9, rbp
nop
nop
nop
movzx edx, word [rcx]
movzx eax, word [rcx + r9]
sub edx, eax
jne 0x140084794
add rcx, 2
test eax, eax
jne 0x140084780
xor eax, eax
test edx, edx
sete al
test byte [r10 + 0x28], 8
je 0x1400847a8
test eax, eax
cmovne r11, r10
add ebx, 1
add r8, 1
movsxd rax, ebx
cmp rax, rsi
jl 0x140084735
test r11, r11
jne 0x1400848f0
jmp 0x1400847cf
mov rbx, qword [rsp + 0x50]
xor esi, esi
jmp 0x1400847d6
mov rbx, qword [rsp + 0x50]
xor esi, esi
mov ecx, 0x88
call fcn.140091360
mov r11, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14008489d
mov r8, qword [rbx + 0x148]
mov rcx, qword [r8]
bt rcx, 0x15
jae 0x14008482a
test cl, 2
jne 0x14008480c
test cl, 4
je 0x14008482a
test cl, 1
je 0x14008482a
bt rcx, 9
jb 0x14008482a
mov r9, qword [r8 + 0x148]
cmp dword [r9 - 0x10], 0
cmove r9, rsi
jmp 0x14008482d
mov r9, rsi
mov rax, rcx
test cl, 4
je 0x140084851
test al, 1
je 0x140084851
bt rcx, 9
jb 0x140084851
mov rdx, qword [r8 + 0x150]
cmp dword [rdx - 0x10], 0
cmove rdx, rsi
jmp 0x140084854
mov rdx, rsi
mov rax, qword [r8 + 0x70]
test rax, rax
je 0x140084863
mov rcx, qword [rax + 0x10]
jmp 0x140084866
mov rcx, rsi
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], rdx
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], cx
mov r9w, 8
mov rax, qword [rsp + 0x60]
movzx r8d, word [rax]
mov rdx, rbp
mov rcx, r11
call fcn.140039ff0
mov rdi, rax
jmp 0x1400848a0
mov rdi, rsi
mov rbx, qword [rbx + 0x148]
cmp qword [rbx + 0x70], 0
jne 0x1400848d3
mov ecx, 0x28
call fcn.140091360
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1400848cc
mov rcx, rax
call fcn.1400a3f30
jmp 0x1400848cf
mov rax, rsi
mov qword [rbx + 0x70], rax
mov rcx, qword [rbx + 0x70]
mov r8, rdi
mov rdx, qword [rcx + 0x10]
call fcn.1400aa678
mov r10, qword [rsp + 0xa0]
xor r8d, r8d
jmp 0x1400848fb
mov r10, qword [rsp + 0xa0]
xor r8d, r8d
lea rax, method.CPtrArray.virtual_0
mov qword [rsp + 0x90], rax
test r10, r10
jle 0x140084969
mov rbx, r8
test rbx, rbx
js 0x140084bcb
cmp rbx, r10
jge 0x140084bcb
mov rax, qword [rsp + 0x98]
mov r8, qword [rax + rbx*8]
test r8, r8
je 0x14008494d
xor edx, edx
mov rcx, qword [rsp + 0xb8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r10, qword [rsp + 0xa0]
add rbx, 1
cmp rbx, r10
jl 0x140084912
or r8, 0xffffffffffffffff
xor edx, edx
lea rcx, [rsp + 0x90]
call fcn.1400aa464
mov rcx, qword [rsp + 0xb8]
call qword [sym.imp.KERNEL32.dll_HeapDestroy]
nop
lea rcx, [rsp + 0x90]
call fcn.1400aa450
add r13d, 1
add r12, 1
movsxd rax, r13d
mov rcx, qword [rsp + 0x130]
cmp rax, rcx
mov rsi, qword [rsp + 0x58]
mov ebx, 0
jl 0x1400845a0
jmp 0x1400849b5
mov rcx, qword [rsp + 0x130]
lea rax, method.CPtrArray.virtual_0
mov qword [rsp + 0x120], rax
test rcx, rcx
jle 0x140084a27
nop
nop
test rbx, rbx
js 0x140084bd1
cmp rbx, rcx
jge 0x140084bd1
mov rax, qword [rsp + 0x128]
mov r8, qword [rax + rbx*8]
test r8, r8
je 0x140084a0b
xor edx, edx
mov rcx, qword [rsp + 0x148]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsp + 0x130]
add rbx, 1
cmp rbx, rcx
jl 0x1400849d0
or r8, 0xffffffffffffffff
xor edx, edx
lea rcx, [rsp + 0x120]
call fcn.1400aa464
mov rcx, qword [rsp + 0x148]
call qword [sym.imp.KERNEL32.dll_HeapDestroy]
nop
lea rcx, [rsp + 0x120]
call fcn.1400aa450
add r15d, 1
add r14, 1
movsxd rax, r15d
mov rcx, qword [rsp + 0x100]
cmp rax, rcx
mov rsi, qword [rsp + 0x58]
mov ebx, 0
lea rdi, method.CPtrArray.virtual_0
jl 0x140084506
mov rbp, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
mov r13d, dword [rsp + 0x74]
mov r15, qword [rsp + 0x50]
jmp 0x140084a9a
mov rcx, qword [rsp + 0x100]
xor ebx, ebx
jmp 0x140084a9a
mov r15, qword [rsp + 0x50]
lea rax, method.CPtrArray.virtual_0
mov qword [rsp + 0xf0], rax
test rcx, rcx
jle 0x140084b07
nop
test rbx, rbx
js 0x140084bd7
cmp rbx, rcx
jge 0x140084bd7
mov rax, qword [rsp + 0xf8]
mov r8, qword [rax + rbx*8]
test r8, r8
je 0x140084aeb
xor edx, edx
mov rcx, qword [rsp + 0x118]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsp + 0x100]
add rbx, 1
cmp rbx, rcx
jl 0x140084ab0
or r8, 0xffffffffffffffff
xor edx, edx
lea rcx, [rsp + 0xf0]
call fcn.1400aa464
mov rcx, qword [rsp + 0x118]
call qword [sym.imp.KERNEL32.dll_HeapDestroy]
nop
lea rcx, [rsp + 0xf0]
call fcn.1400aa450
mov rdi, qword [rsp + 0x60]
xor r14d, r14d
jmp 0x140084b39
mov rdi, qword [rsp + 0x60]
jmp 0x140084b39
mov rdi, qword [rsp + 0x60]
test rbp, rbp
je 0x140084b53
mov rcx, qword [r15 + 0x140]
mov r8, rbp
xor edx, edx
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_HeapFree]
add r13d, 1
mov dword [rsp + 0x74], r13d
add r12, 1
mov qword [rsp + 0x80], r12
mov rcx, qword [rdi + 0x10]
movsxd rax, r13d
cmp rax, qword [rcx + 0x10]
mov rsi, qword [rsp + 0x58]
jl 0x140084012
mov r8, qword [rsp + 0x88]
mov eax, dword [rsp + 0x70]
add eax, 1
mov dword [rsp + 0x70], eax
add r8, 1
mov qword [rsp + 0x88], r8
mov rsi, qword [rsp + 0x58]
jmp 0x140083f90
call fcn.1400a0610
int3
call fcn.1400a0610
nop
call fcn.1400a0610
nop
call fcn.1400a0610
nop
call fcn.1400a0610
int3
call fcn.1400a0610
nop
call fcn.1400a0610
nop
call fcn.1400a0610
nop
call fcn.1400a0610
nop
lea rbx, method.CPtrArray.virtual_0
nop
nop
nop
mov rax, qword [r15 + 0x150]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140084c08
mov rax, qword [rax + 0x10]
xor edi, edi
jmp 0x140084c0d
xor edi, edi
mov rax, rdi
movzx eax, ax
cmp r14d, eax
jge 0x140085042
lea rcx, [rsp + 0xc0]
call fcn.1400aa430
nop
mov qword [rsp + 0xc0], rbx
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapCreate]
mov qword [rsp + 0xe8], rax
movzx r8d, r14w
lea rdx, [rsp + 0xc0]
mov rcx, qword [r15 + 0x150]
call fcn.140075240
test eax, eax
je 0x140084f88
mov r15d, edi
mov r13, rdi
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
jle 0x140084f92
nop
nop
test r13, r13
js 0x140084ca1
cmp r13, rcx
jge 0x140084ca1
test r13, r13
js 0x14008502a
mov rax, qword [rsp + 0xc8]
mov rbx, qword [rax + r13*8]
jmp 0x140084ca4
mov rbx, rdi
mov ecx, 0xc0
call fcn.140091360
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140084cf5
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x148]
mov rdx, qword [rcx + 0x68]
test rdx, rdx
je 0x140084cd3
mov rcx, qword [rdx + 0x10]
jmp 0x140084cd6
mov rcx, rdi
mov word [rsp + 0x20], 0
movzx r9d, r14w
movzx r8d, cx
mov rdx, rbx
mov rcx, rax
call fcn.140003db0
mov rsi, rax
jmp 0x140084cf8
mov rsi, rdi
mov rax, qword [rsp + 0x50]
mov rbx, qword [rax + 0x148]
cmp qword [rbx + 0x68], 0
jne 0x140084d30
mov ecx, 0x28
call fcn.140091360
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140084d29
mov rcx, rax
call fcn.1400a3f30
jmp 0x140084d2c
mov rax, rdi
mov qword [rbx + 0x68], rax
mov rcx, qword [rbx + 0x68]
mov r8, rsi
mov rdx, qword [rcx + 0x10]
call fcn.1400aa678
mov r12d, edi
mov rbp, rdi
mov rcx, rsi
call fcn.140003d90
test rax, rax
jle 0x140084f5e
nop
nop
nop
xor r8d, r8d
mov ecx, r8d
mov rax, qword [rsi + 0x80]
test rax, rax
je 0x140084da1
test rbp, rbp
js 0x140084d9c
mov rdx, qword [rax + 0x10]
cmp rbp, rdx
jge 0x140084d9c
test rbp, rbp
js 0x140085030
cmp rbp, rdx
jge 0x140085030
mov rax, qword [rax + 8]
mov rdi, qword [rax + rbp*8]
jmp 0x140084da4
mov rdi, r8
jmp 0x140084da4
mov rdi, r8
mov r11d, r8d
mov r10, r8
mov rax, qword [rsp + 0x50]
mov rbx, qword [rax + 0x148]
mov rdx, qword [rbx + 0x70]
test rdx, rdx
je 0x140084dc5
mov rdx, qword [rdx + 0x10]
jmp 0x140084dc8
mov rdx, r8
movsxd rax, r11d
cmp rax, rdx
jge 0x140084e70
test ecx, ecx
jne 0x140084f40
mov rax, qword [rbx + 0x70]
test rax, rax
je 0x140084e00
test r10, r10
js 0x140085036
cmp r10, qword [rax + 0x10]
jge 0x140085036
mov rax, qword [rax + 8]
mov r8, qword [rax + r10*8]
mov r9d, dword [r8 + 0x28]
test r9b, 0x20
jne 0x140084e60
mov r8, qword [r8 + 0x30]
cmp dword [r8 - 0x10], 0
mov eax, 0
cmove r8, rax
mov rax, rdi
sub r8, rdi
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140084e36
add rax, 2
test ecx, ecx
jne 0x140084e22
xor r8d, r8d
mov ecx, r8d
test edx, edx
sete cl
test ecx, ecx
je 0x140084e63
and r9d, 0x808
cmp r9d, 0x800
jne 0x140084e63
cmp word [rsi + 0x2a], 1
cmovne ecx, r8d
jmp 0x140084e63
xor r8d, r8d
add r11d, 1
add r10, 1
jmp 0x140084db6
test ecx, ecx
jne 0x140084f40
movzx eax, word [rsi + 0x2a]
cmp ax, 1
je 0x140084e8e
cmp ax, 8
je 0x140084e8e
mov bx, 0x808
jmp 0x140084e92
mov bx, 0x800
mov ecx, 0x88
call fcn.140091360
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140084ef4
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x148]
mov rdx, qword [rcx + 0x70]
test rdx, rdx
je 0x140084ec3
mov rcx, qword [rdx + 0x10]
xor edx, edx
jmp 0x140084ec8
xor edx, edx
mov rcx, rdx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rdx
mov word [rsp + 0x20], cx
movzx r9d, bx
movzx r8d, r14w
mov rdx, rdi
mov rcx, rax
call fcn.140039ff0
mov rdi, rax
jmp 0x140084ef9
xor eax, eax
mov rdi, rax
mov rax, qword [rsp + 0x50]
mov rbx, qword [rax + 0x148]
cmp qword [rbx + 0x70], 0
jne 0x140084f30
mov ecx, 0x28
call fcn.140091360
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140084f2a
mov rcx, rax
call fcn.1400a3f30
jmp 0x140084f2c
xor eax, eax
mov qword [rbx + 0x70], rax
mov rcx, qword [rbx + 0x70]
mov r8, rdi
mov rdx, qword [rcx + 0x10]
call fcn.1400aa678
add r12d, 1
add rbp, 1
mov rcx, rsi
call fcn.140003d90
movsxd rcx, r12d
cmp rcx, rax
jl 0x140084d60
xor edi, edi
add r15d, 1
add r13, 1
movsxd rax, r15d
mov rcx, qword [rsp + 0xd0]
cmp rax, rcx
jl 0x140084c80
mov r15, qword [rsp + 0x50]
lea rbx, method.CPtrArray.virtual_0
jmp 0x140084f97
mov rcx, qword [rsp + 0xd0]
jmp 0x140084f97
mov r15, qword [rsp + 0x50]
mov qword [rsp + 0xc0], rbx
test rcx, rcx
jle 0x140085005
mov rbx, rdi
test rbx, rbx
js 0x14008503c
cmp rbx, rcx
jge 0x14008503c
mov rax, qword [rsp + 0xc8]
mov r8, qword [rax + rbx*8]
test r8, r8
je 0x140084fe2
xor edx, edx
mov rcx, qword [rsp + 0xe8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsp + 0xd0]
add rbx, 1
cmp rbx, rcx
jl 0x140084fa7
or r8, 0xffffffffffffffff
xor edx, edx
lea rcx, [rsp + 0xc0]
call fcn.1400aa464
lea rbx, method.CPtrArray.virtual_0
mov rcx, qword [rsp + 0xe8]
call qword [sym.imp.KERNEL32.dll_HeapDestroy]
nop
lea rcx, [rsp + 0xc0]
call fcn.1400aa450
add r14d, 1
jmp 0x140084bf0
call fcn.1400a0610
int3
call fcn.1400a0610
int3
call fcn.1400a0610
nop
call fcn.1400a0610
nop
mov r13d, edi
mov rbp, rdi
nop
nop
mov rbx, qword [r15 + 0x148]
mov rcx, qword [rbx + 0x70]
test rcx, rcx
je 0x140085066
mov rcx, qword [rcx + 0x10]
jmp 0x140085069
mov rcx, rdi
movsxd rax, r13d
cmp rax, rcx
jge 0x140085197
mov rax, qword [rbx + 0x70]
test rax, rax
je 0x14008509b
test rbp, rbp
js 0x14008518b
cmp rbp, qword [rax + 0x10]
jge 0x14008518b
mov rax, qword [rax + 8]
mov r12, qword [rax + rbp*8]
jmp 0x14008509e
mov r12, rdi
mov esi, dword [r12 + 0x28]
test sil, 8
je 0x14008517e
bt esi, 0xb
jb 0x14008517e
mov rdi, qword [r12 + 0x30]
cmp dword [rdi - 0x10], 0
mov r14d, 0
cmove rdi, r14
mov r10d, r14d
mov r11d, r14d
mov r9, r14
mov rcx, qword [rbx + 0x70]
test rcx, rcx
je 0x1400850e2
mov rcx, qword [rcx + 0x10]
jmp 0x1400850e5
mov rcx, r14
movsxd rax, r11d
cmp rax, rcx
jge 0x14008516a
test r10d, r10d
jne 0x14008516f
mov rax, qword [rbx + 0x70]
test rax, rax
je 0x140085118
test r9, r9
js 0x140085191
cmp r9, qword [rax + 0x10]
jge 0x140085191
mov rax, qword [rax + 8]
mov r8, qword [rax + r9*8]
jmp 0x14008511b
mov r8, r14
mov eax, dword [r8 + 0x28]
test al, 0x20
je 0x14008515d
test al, 4
jne 0x14008515d
mov r8, qword [r8 + 0x30]
cmp dword [r8 - 0x10], r14d
cmove r8, r14
mov rax, rdi
sub r8, rdi
nop
nop
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140085154
add rax, 2
test ecx, ecx
jne 0x140085140
mov r10d, r14d
test edx, edx
sete r10b
add r11d, 1
add r9, 1
jmp 0x1400850d3
test r10d, r10d
je 0x14008517c
bts esi, 0xa
mov dword [r12 + 0x28], esi
xor edi, edi
jmp 0x14008517e
xor edi, edi
add r13d, 1
add rbp, 1
jmp 0x140085050
call fcn.1400a0610
int3
call fcn.1400a0610
int3
mov rcx, qword [rsp + 0x1610]
xor rcx, rsp
call fcn.1400cd6e0
lea r11, [rsp + 0x1620]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret