Function at 0x1401296a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x590
mov rax, qword [0x14024fa28]
xor rax, rsp
mov qword [rsp + 0x580], rax
mov r13, r9
mov qword [rsp + 0x98], r9
mov r14d, r8d
mov esi, edx
mov qword [rsp + 0xf0], rcx
mov rax, qword [rsp + 0x5f0]
mov qword [rsp + 0x1a0], rax
xor r15d, r15d
mov qword [rsp + 0x340], r15
mov qword [rsp + 0x168], r15
mov qword [rsp + 0x170], r15
test rax, rax
je 0x140129710
mov qword [rax], r15
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xa8], xmm0
test dword [r9 + 0x18], 0x800
jne 0x1401297da
add rcx, 0x908
mov r8d, dword [r9 + 0x14]
lea rdx, [rsp + 0x328]
call fcn.140133710
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x1b0], xmm0
mov rcx, qword [rax]
mov qword [rsp + 0x1b0], rcx
mov rdx, qword [rax + 8]
mov qword [rsp + 0x1b8], rdx
mov qword [rax], r15
mov qword [rax + 8], r15
mov qword [rsp + 0x1b0], r15
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0x1b8], r15
mov qword [rsp + 0xb0], rdx
mov rbx, qword [rsp + 0x330]
mov rdi, 0xffffffffffffffff
test rbx, rbx
je 0x1401297e1
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1401297e1
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14003c8e9.0]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1401297e1
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14003c8e9.0]
jmp 0x1401297e1
mov rdi, 0xffffffffffffffff
lea rcx, [rsp + 0x150]
call fcn.14010aa40
nop
mov rax, qword [rsp + 0x150]
test rax, rax
jne 0x14012989f
mov rbx, qword [rsp + 0x158]
test rbx, rbx
je 0x140129845
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140129845
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14003c8e9.0]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140129845
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14003c8e9.0]
nop
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x140129895
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140129895
mov rbx, qword [rsp + 0xb0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14003c8e9.0]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140129895
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14003c8e9.0]
nop
mov eax, 9
jmp 0x14012b7cb
mov rax, qword [rax + 8]
mov rdx, qword [r13 + 0x24]
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x88], 0
test rdx, rdx
jne 0x14012991d
test rax, rax
je 0x1401298e3
lea rdx, [rsp + 0x78]
mov ecx, 0xfb4
call qword [case.0x14003c8e9.0]
mov rax, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
mov dword [rsp + 0x100], 1
test rax, rax
je 0x140129915
mov qword [rsp + 0x20], 4
lea r9, [rsp + 0x100]
mov ecx, 0xfa6
mov r8d, 0x450001
call qword [case.0x14003c8e9.0]
mov byte [rsp + 0x88], 1
cmp qword [rsp + 0x78], 0
jne 0x1401299f5
cmp byte [rsp + 0x88], 0
je 0x140129956
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x140129956
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x140129956
mov ecx, 0xfae
call qword [case.0x14003c8e9.0]
nop
mov rbx, qword [rsp + 0x158]
test rbx, rbx
je 0x14012999b
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14012999b
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14003c8e9.0]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14012999b
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14003c8e9.0]
nop
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x1401299eb
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1401299eb
mov rbx, qword [rsp + 0xb0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14003c8e9.0]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1401299eb
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14003c8e9.0]
nop
mov eax, reloc.WS2_32.dll_listen
jmp 0x14012b7cb
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x140129a31
mov r9, qword [rax]
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x140129a31
mov qword [rsp + 0x20], 8
mov r8d, 0x10008
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa6
call qword [case.0x14003c8e9.0]
mov dword [rsp + 0x108], esi
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x140129a6c
mov qword [rsp + 0x20], 4
lea r9, [rsp + 0x108]
mov r8d, 0x503ec
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa6
call qword [case.0x14003c8e9.0]
mov dword [rsp + 0x160], r14d
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x140129aa8
mov qword [rsp + 0x20], 4
lea r9, [rsp + 0x160]
mov r8d, 0x503ed
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa6
call qword [case.0x14003c8e9.0]
mov rsi, qword [rsp + 0x98]
mov eax, dword [rsi + 0x14]
mov dword [rsp + 0x110], eax
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x140129aee
mov qword [rsp + 0x20], 4
lea r9, [rsp + 0x110]
mov r8d, 0x450bc3
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa6
call qword [case.0x14003c8e9.0]
mov r13, r15
mov qword [rsp + 0xa0], r15
mov eax, dword [rsi + 8]
test eax, eax
jne 0x140129b13
mov eax, dword [rsi + 0xc]
test eax, eax
je 0x140129d33
mov r12, r15
mov r8, r15
jmp 0x140129b25
lea r12, [rsi + rax]
mov r8, r12
mov eax, dword [rsi + 0xc]
test eax, eax
je 0x140129f53
mov r14d, eax
add r14, rsi
mov rcx, r14
je 0x140129f56
mov edx, dword [r14]
mov r15, r14
test edx, edx
je 0x140129b59
mov eax, edx
cmp eax, 6
je 0x140129c9a
mov eax, dword [rcx + 4]
add rcx, 8
add rcx, rax
mov eax, dword [rcx]
test eax, eax
jne 0x140129b40
mov rcx, r15
test edx, edx
je 0x140129b79
cmp edx, 5
je 0x140129c9a
mov eax, dword [rcx + 4]
add rcx, 8
add rcx, rax
mov edx, dword [rcx]
test edx, edx
jne 0x140129b60
mov qword [rsp + 0x180], r8
mov rsi, r14
mov r13, qword [rsp + 0x98]
mov eax, dword [r13 + 0x18]
mov ecx, eax
and ecx, 0x80
shl ecx, 3
mov edx, 0x400
mov r13d, ecx
bts r13d, 0xb
and eax, edx
cmove r13d, ecx
mov rcx, r14
mov edx, dword [r15]
mov r14, r15
test edx, edx
je 0x140129bd9
mov eax, edx
nop dword [rax]
cmp eax, 0x1f
je 0x140129d4e
mov eax, dword [rcx + 4]
add rcx, 8
add rcx, rax
mov eax, dword [rcx]
test eax, eax
jne 0x140129bc0
mov rcx, r14
test edx, edx
je 0x140129bfb
mov eax, edx
cmp eax, 0xd
je 0x140129e14
mov eax, dword [rcx + 4]
add rcx, 8
add rcx, rax
mov eax, dword [rcx]
test eax, eax
jne 0x140129be2
mov rcx, r14
test edx, edx
je 0x140129c1d
mov eax, edx
cmp eax, 7
je 0x140129eca
mov eax, dword [rcx + 4]
add rcx, 8
add rcx, rax
mov eax, dword [rcx]
test eax, eax
jne 0x140129c04
xor r15d, r15d
lea rdx, [0x1401eb670]
mov ecx, 0x68
call fcn.1401c5230
mov rbx, rax
mov qword [rsp + 0xf8], rax
test rax, rax
je 0x140129f7c
lea rax, vtable.CStream.0
mov qword [rbx], rax
mov qword [rbx + 8], r15
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 0
lea rax, vtable.CFileStream.0
mov qword [rbx], rax
mov qword [rbx + 0x20], r15
mov qword [rbx + 0x28], 0
mov dword [rbx + 0x30], r15d
mov qword [rbx + 0x38], r15
mov qword [rbx + 0x40], 0
mov qword [rbx + 0x48], r15
mov qword [rbx + 0x50], r15
mov qword [rbx + 0x58], r15
mov qword [rbx + 0x60], r15
jmp 0x140129f7f
test r12, r12
je 0x140129d33
lea rdx, [0x1401eb670]
mov ecx, reloc.WS2_32.dll_getservbyport
call fcn.1401c5230
mov rbx, rax
mov qword [rsp + 0x180], rax
xor r14d, r14d
test rax, rax
je 0x140129cf5
lea rax, vtable.CStream.0
mov qword [rbx], rax
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], r14
lea rax, vtable.CDiskStream.0
mov qword [rbx], rax
mov qword [rbx + 0x20], r14
mov qword [rbx + 0x28], r14
mov dword [rbx + 0x30], r14d
jmp 0x140129cf8
mov rbx, r14
test rbx, rbx
je 0x140129d33
mov rax, qword [rbx]
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov r8, r15
mov rdx, r12
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [case.0x14003c8e9.0]
test eax, eax
je 0x140129d3b
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14003c8e9.0]
xor r15b, r15b
jmp 0x14012a072
inc dword [rbx + 0x18]
mov qword [rsp + 0xa0], rbx
xor r15b, r15b
jmp 0x14012a00f
xor r15d, r15d
mov qword [rsp + 0xa0], r15
lea rdx, [0x1401eb670]
lea ecx, [r15 + 0x30]
call fcn.1401c5230
mov rbx, rax
mov qword [rsp + 0xf8], rax
test rax, rax
je 0x140129db1
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
lea rax, vtable.CStream.0
mov qword [rbx], rax
mov qword [rbx + 8], r15
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], r15
lea rax, vtable.AmonStream.0
mov qword [rbx], rax
mov qword [rbx + 0x20], r15
mov qword [rbx + 0x28], r15
jmp 0x140129db4
mov rbx, r15
test rbx, rbx
je 0x140129e07
mov rax, qword [rbx]
mov qword [rsp + 0x20], r15
mov r9d, r13d
mov r8, r14
mov rdx, r12
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [case.0x14003c8e9.0]
test eax, eax
je 0x140129dfc
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14003c8e9.0]
mov r13, qword [rsp + 0x180]
jmp 0x140129fd2
inc dword [rbx + 0x18]
mov qword [rsp + 0xa0], rbx
mov r13, qword [rsp + 0x180]
jmp 0x140129fd2
lea rdx, [0x1401eb670]
mov ecx, 0x2d0
call fcn.1401c5230
mov rbx, rax
mov qword [rsp + 0xf8], rax
test rax, rax
je 0x140129ebf
mov rcx, rax
call fcn.14003c210
nop
lea rax, vtable.CSynchronizedTempStream.0
mov qword [rbx], rax
xor r15d, r15d
mov qword [rbx + 0x190], r15
mov qword [rbx + 0x178], r15
mov qword [rbx + 0x198], r15
mov byte [rbx + 0x188], r15b
mov qword [rbx + 0x180], r15
lea rax, vtable.CSharedTempStream.0
mov qword [rbx], rax
mov byte [rbx + 0x2c8], r15b
mov qword [rbx + 0x1a0], r15
mov qword [rbx + 0x1a8], r15
mov word [rbx + 0x1b0], r15w
mov word [rbx + 0x230], r15w
mov byte [rbx + 0x2b0], r15b
mov dword [rbx + 0x2b4], r15d
mov qword [rbx + 0x2b8], r15
mov qword [rbx + 0x2c0], rdi
jmp 0x140129ec5
xor r15d, r15d
mov ebx, r15d
jmp 0x140129f7f
mov rcx, r14
nop dword [rax]
cmp edx, 0x11
je 0x140129f1b
mov eax, dword [rcx + 4]
add rcx, 8
add rcx, rax
mov edx, dword [rcx]
test edx, edx
jne 0x140129ed0
lea rdx, [0x1401eb670]
mov ecx, 0x178
call fcn.1401c5230
mov qword [rsp + 0xf8], rax
test rax, rax
je 0x140129f13
mov rcx, rax
call fcn.14003c210
mov rbx, rax
xor r15d, r15d
jmp 0x140129f19
xor r15d, r15d
mov ebx, r15d
jmp 0x140129f7f
lea rdx, [0x1401eb670]
mov ecx, 0x1a0
call fcn.1401c5230
mov qword [rsp + 0xf8], rax
test rax, rax
je 0x140129f4b
mov dl, 1
mov rcx, rax
call fcn.14003b5d0
mov rbx, rax
xor r15d, r15d
jmp 0x140129f51
xor r15d, r15d
mov ebx, r15d
jmp 0x140129f7f
mov r14, r15
mov eax, dword [rsi + 0x18]
mov ecx, eax
and ecx, 0x80
shl ecx, 3
mov edx, 0x400
mov r13d, ecx
bts r13d, 0xb
and eax, edx
cmove r13d, ecx
jmp 0x140129c20
mov rbx, r15
test rbx, rbx
je 0x140129fc7
mov rax, qword [rbx]
mov qword [rsp + 0x20], r15
mov r9d, r13d
mov r8, r14
mov rdx, r12
mov rcx, rbx
mov rax, qword [rax + 0x10]
call qword [case.0x14003c8e9.0]
test eax, eax
je 0x140129fbc
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14003c8e9.0]
jmp 0x140129fc7
inc dword [rbx + 0x18]
mov qword [rsp + 0xa0], rbx
mov r13, r12
mov rsi, r14
test r14, r14
je 0x140129ff9
mov eax, dword [r14]
test eax, eax
je 0x140129ff9
nop dword [rax]
cmp eax, 1
je 0x14012a14c
mov eax, dword [rsi + 4]
add rsi, 8
add rsi, rax
mov eax, dword [rsi]
test eax, eax
jne 0x140129fe0
xor r15b, r15b
mov rbx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x98]
xor r14d, r14d
test rbx, rbx
je 0x14012a072
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012a043
mov qword [rsp + 0x20], 8
mov r9, rbx
mov r8d, 0xf03e9
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa6
call qword [case.0x14003c8e9.0]
lea rax, [fcn.14017d190]
mov qword [rsp + 0x2a8], rax
mov qword [rsp + 0x2b0], rbx
mov qword [rsp + 0x2b0], r14
mov qword [rsp + 0x170], rbx
mov qword [rsp + 0x168], rax
mov eax, dword [rsi + 4]
test eax, eax
je 0x14012a0af
lea r13, [rsi + rax]
xor r15b, r15b
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012a0af
mov qword [rsp + 0x20], 0
mov r9, r13
mov r8d, 0x4e0bbe
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa6
call qword [case.0x14003c8e9.0]
mov r12, qword [rsp + 0xf0]
cmp byte [rsi + 0x16], 2
jne 0x14012a2cf
test dword [rsi + 0x18], 0x300
je 0x14012a2cf
lea rcx, [r12 + 0x10]
lea rdx, [rsp + 0x1c0]
call fcn.1400f2bf0
nop
mov rax, qword [rsp + 0x1c0]
mov r10, qword [rsp + 0x80]
test dword [rsi + 0x18], 0x100
je 0x14012a154
mov ebx, dword [rax + 0x1f4]
movzx r14d, byte [rax + 0x1f8]
mov dword [rsp + 0x178], 0xf303f
test r10, r10
je 0x14012a162
mov qword [rsp + 0x20], 4
lea r9, [rsp + 0x178]
mov r8d, 0x517d8
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa6
mov rax, r10
call qword [case.0x14003c8e9.0]
mov r10, qword [rsp + 0x80]
jmp 0x14012a162
mov r15b, 1
jmp 0x140129ffc
mov ebx, dword [rax + 0x1fc]
movzx r14d, byte [rax + 0x200]
xor esi, esi
sub ebx, 1
je 0x14012a175
cmp ebx, 1
jne 0x14012a17a
mov esi, 0xf303f
jmp 0x14012a17a
mov esi, 2
mov dword [rsp + 0x148], 0x3002
test r10, r10
je 0x14012a1bc
mov qword [rsp + 0x20], 4
lea r9, [rsp + 0x148]
mov r8d, 0x517d5
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa6
mov rax, r10
call qword [case.0x14003c8e9.0]
mov r10, qword [rsp + 0x80]
mov dword [rsp + 0x138], esi
test r10, r10
je 0x14012a1fa
mov qword [rsp + 0x20], 4
lea r9, [rsp + 0x138]
mov r8d, 0x517d6
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa6
mov rax, r10
call qword [case.0x14003c8e9.0]
mov r10, qword [rsp + 0x80]
neg r14b
sbb eax, eax
and eax, 0x3002
mov dword [rsp + 0x130], eax
test r10, r10
je 0x14012a242
mov qword [rsp + 0x20], 4
lea r9, [rsp + 0x130]
mov r8d, 0x517d4
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa6
mov rax, r10
call qword [case.0x14003c8e9.0]
mov r10, qword [rsp + 0x80]
mov r9, qword [rsp + 0x1c0]
add r9, 0x208
cmp qword [r9 + 0x18], 8
jb 0x14012a25b
mov r9, qword [r9]
test r10, r10
je 0x14012a283
mov qword [rsp + 0x20], 0
mov r8d, 0xe17e1
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa6
mov rax, r10
call qword [case.0x14003c8e9.0]
nop
mov rbx, qword [rsp + 0x1c8]
test rbx, rbx
je 0x14012a2c7
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14012a2c7
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14003c8e9.0]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14012a2c7
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14003c8e9.0]
mov rsi, qword [rsp + 0x98]
mov eax, dword [rsi + 0x1c]
test eax, eax
je 0x14012a2fb
mov r9d, dword [rsi + 0x20]
lea r8, [rsi + rax]
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012a2fb
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfc5
call qword [case.0x14003c8e9.0]
mov ebx, dword [rsi + 0x14]
test r13, r13
je 0x14012a455
xor edx, edx
mov r8d, 0x22c
lea rcx, [rsp + 0x354]
call sub.VCRUNTIME140.dll_memset
mov dword [rsp + 0x350], ebx
lea rcx, [rsp + 0x268]
call qword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
lea rcx, [r12 + 0x860]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r9, qword [r12 + 0x850]
mov rbx, qword [r12 + 0x848]
mov rcx, r9
sub rcx, rbx
sar rcx, 4
movabs rax, 0xaf8af8af8af8af8b
imul rcx, rax
mov r8d, dword [rsp + 0x350]
test rcx, rcx
jle 0x14012a3af
nop dword [rax]
nop dword [rax + rax]
mov rdx, rcx
shr rdx, 1
imul rax, rdx, 0x230
cmp dword [rax + rbx], r8d
jae 0x14012a3a7
add rax, 0x230
add rbx, rax
mov rax, rdi
sub rax, rdx
add rcx, rax
jmp 0x14012a3aa
mov rcx, rdx
test rcx, rcx
jg 0x14012a380
cmp rbx, r9
je 0x14012a3b9
cmp dword [rbx], r8d
je 0x14012a3eb
lea r9, [rsp + 0x350]
mov r8, rbx
lea rdx, [rsp + 0x320]
lea rcx, [r12 + 0x848]
call fcn.14013ecf0
mov rbx, qword [rax]
mov rax, qword [r12 + 0x888]
mov qword [rbx + 0x228], rax
mov rax, rdi
nop
inc rax
cmp word [r13 + rax*2], 0
jne 0x14012a3f0
lfence
mov r8, r13
mov edx, 0x104
lea rcx, [rbx + 0x14]
cmp rax, rdx
jae 0x14012a418
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
jmp 0x14012a42d
mov r9d, 0x103
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy_s]
xor eax, eax
mov word [rbx + 0x21a], ax
movzx eax, r15b
mov dword [rbx + 0x21c], eax
mov rax, qword [rsp + 0x268]
mov qword [rbx + 0x220], rax
lea rcx, [r12 + 0x860]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x338], rdx
mov rax, qword [rsp + 0x150]
test rax, rax
je 0x14012a48d
mov rax, qword [rax + 8]
mov qword [rsp + 0x270], rax
test rax, rax
je 0x14012a495
mov ecx, 0xfa2
call qword [case.0x14003c8e9.0]
jmp 0x14012a49a
mov qword [rsp + 0x270], rax
mov eax, 0x1b67
mov dword [rsp + 0xe8], eax
test eax, eax
jne 0x14012b6e9
lea rdx, [rsp + 0x78]
mov rcx, r12
call fcn.14012d210
xor ebx, ebx
mov dword [rsp + 0xb8], ebx
mov qword [rsp + 0x280], 4
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012a517
lea rcx, [rsp + 0x280]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xb8]
mov r8d, 0x451392
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa5
call qword [case.0x14003c8e9.0]
test eax, eax
mov rax, qword [rsp + 0x80]
mov r12d, dword [rsp + 0xb8]
je 0x14012a51a
mov r12d, ebx
mov dword [rsp + 0xbc], ebx
mov qword [rsp + 0x288], 4
test rax, rax
je 0x14012a571
lea rcx, [rsp + 0x288]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xbc]
mov r8d, 0x451393
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa5
call qword [case.0x14003c8e9.0]
test eax, eax
mov rax, qword [rsp + 0x80]
mov r15d, dword [rsp + 0xbc]
je 0x14012a574
mov r15d, ebx
mov dword [rsp + 0xc0], ebx
mov qword [rsp + 0x290], 4
test rax, rax
je 0x14012a5cb
lea rcx, [rsp + 0x290]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xc0]
mov r8d, 0x451394
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa5
call qword [case.0x14003c8e9.0]
test eax, eax
mov rax, qword [rsp + 0x80]
mov r14d, dword [rsp + 0xc0]
je 0x14012a5ce
mov r14d, ebx
mov dword [rsp + 0xc4], ebx
mov qword [rsp + 0x298], 4
test rax, rax
je 0x14012a61c
lea rcx, [rsp + 0x298]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xc4]
mov r8d, 0x451395
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa5
call qword [case.0x14003c8e9.0]
test eax, eax
mov esi, dword [rsp + 0xc4]
je 0x14012a61e
mov esi, ebx
mov rcx, qword [rsp + 0xf0]
add rcx, 0x840
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], r14d
mov r9d, r15d
mov r8d, r12d
mov r13, qword [rsp + 0x98]
mov edx, dword [r13 + 0x14]
call fcn.14013e530
cmp qword [rsp + 0x1a0], rbx
je 0x14012b66d
lea rax, vtable.CBuffer.0
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x68], rbx
lea rax, vtable.CParamStructHelper_struct__CCE_SCAN_OBJECT_REPLY_.0
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
xor r8d, r8d
movaps xmmword [rsp + 0x2c0], xmm0
xorps xmm1, xmm1
movaps xmmword [rsp + 0x2d0], xmm1
xorps xmm2, xmm2
movaps xmmword [rsp + 0x2e0], xmm2
xorps xmm3, xmm3
movaps xmmword [rsp + 0x2f0], xmm3
xorps xmm4, xmm4
movaps xmmword [rsp + 0x300], xmm4
mov dword [rsp + 0x310], r8d
mov rcx, qword [rsp + 0x70]
lea rdx, [rcx + 0x54]
cmp rdx, 0x54
jb 0x14012a7c6
cmp rdx, qword [rsp + 0x68]
jbe 0x14012a77c
lfence
mov rcx, qword [rsp + 0x68]
shr rcx, 1
add rcx, qword [rsp + 0x68]
cmp rcx, rdx
cmovb rcx, rdx
lea rbx, [rcx + 0xfff]
and rbx, 0xfffffffffffff000
cmp rbx, rdx
cmovb rbx, rdx
mov r8, rbx
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x50]
mov rax, qword [method.CParamStructHelper_struct_CCE_REPORT_EVENT_PARAMS_3_.virtual_8]
call qword [case.0x14003c8e9.0]
test rax, rax
je 0x14012a7c6
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rbx
mov rcx, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x310]
movaps xmm4, xmmword [rsp + 0x300]
movaps xmm3, xmmword [rsp + 0x2f0]
movaps xmm2, xmmword [rsp + 0x2e0]
movaps xmm1, xmmword [rsp + 0x2d0]
movaps xmm0, xmmword [rsp + 0x2c0]
jmp 0x14012a781
mov rax, qword [rsp + 0x58]
add rax, rcx
je 0x14012a7c6
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax + 0x40], xmm4
mov dword [rax + 0x50], r8d
mov rdx, qword [rsp + 0x70]
mov rcx, rdx
sub rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
add rax, 0x54
add rcx, rax
cmp rcx, qword [rsp + 0x68]
ja 0x14012a7c6
add rdx, 0x54
mov qword [rsp + 0x70], rdx
xor ebx, ebx
mov eax, ebx
cmp qword [rsp + 0x70], rbx
cmovne rax, qword [rsp + 0x60]
mov dword [rax], 0x54
mov dword [rsp + 0xec], ebx
mov qword [rsp + 0x2a0], 4
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012a831
lea rcx, [rsp + 0x2a0]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xec]
mov r8d, 0x450bc1
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa5
call qword [case.0x14003c8e9.0]
test eax, eax
mov ecx, dword [rsp + 0xec]
je 0x14012a833
mov ecx, ebx
mov rax, rbx
cmp qword [rsp + 0x70], rbx
cmovne rax, qword [rsp + 0x60]
mov dword [rax + 8], ecx
mov dword [rsp + 0xc8], ebx
mov qword [rsp + 0x1d0], 4
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012a89a
lea rcx, [rsp + 0x1d0]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xc8]
mov r8d, 0x4513ec
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa5
call qword [case.0x14003c8e9.0]
test eax, eax
mov ecx, dword [rsp + 0xc8]
je 0x14012a89c
mov ecx, ebx
mov rax, rbx
cmp qword [rsp + 0x70], rbx
cmovne rax, qword [rsp + 0x60]
mov dword [rax + 0x3c], ecx
mov dword [rsp + 0xcc], ebx
mov qword [rsp + 0x1d8], 4
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012a903
lea rcx, [rsp + 0x1d8]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xcc]
mov r8d, 0x4513ed
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa5
call qword [case.0x14003c8e9.0]
test eax, eax
mov ecx, dword [rsp + 0xcc]
je 0x14012a905
mov ecx, ebx
mov rax, rbx
cmp qword [rsp + 0x70], rbx
cmovne rax, qword [rsp + 0x60]
mov dword [rax + 0x40], ecx
mov dword [rsp + 0xd0], ebx
mov qword [rsp + 0x1e0], 4
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012a96c
lea rcx, [rsp + 0x1e0]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xd0]
mov r8d, 0x52134
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa5
call qword [case.0x14003c8e9.0]
test eax, eax
mov ecx, dword [rsp + 0xd0]
je 0x14012a96e
mov ecx, ebx
mov rax, rbx
cmp qword [rsp + 0x70], rbx
cmovne rax, qword [rsp + 0x60]
mov dword [rax + 0x48], ecx
mov byte [rsp + 0x90], bl
mov qword [rsp + 0x1e8], 1
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012a9f1
lea rcx, [rsp + 0x1e8]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x90]
mov r8d, 0x31777
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa5
call qword [case.0x14003c8e9.0]
test eax, eax
jne 0x14012a9e9
cmp byte [rsp + 0x90], bl
je 0x14012a9e9
mov rax, rbx
cmp qword [rsp + 0x70], rbx
cmovne rax, qword [rsp + 0x60]
or dword [rax + 0x2c], 2
mov rax, qword [rsp + 0x80]
mov dword [rsp + 0xd4], ebx
mov qword [rsp + 0x1f0], 4
test rax, rax
je 0x14012aa54
lea rcx, [rsp + 0x1f0]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xd4]
mov r8d, 0x450bc2
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa5
call qword [case.0x14003c8e9.0]
test eax, eax
jne 0x14012aa54
test byte [rsp + 0xd4], 1
je 0x14012aa54
mov rax, rbx
cmp qword [rsp + 0x70], rbx
cmovne rax, qword [rsp + 0x60]
or dword [rax + 0x2c], 8
mov rax, rbx
cmp qword [rsp + 0x70], rbx
cmovne rax, qword [rsp + 0x60]
mov dword [rax + 0xc], r12d
xor r12d, r12d
mov eax, r12d
cmp qword [rsp + 0x70], r12
cmovne rax, qword [rsp + 0x60]
mov dword [rax + 0x10], r15d
mov eax, r12d
cmp qword [rsp + 0x70], r12
cmovne rax, qword [rsp + 0x60]
mov dword [rax + 0x14], r14d
mov eax, r12d
cmp qword [rsp + 0x70], r12
cmovne rax, qword [rsp + 0x60]
mov dword [rax + 0x18], esi
mov qword [rsp + 0x140], r12
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012ac33
lea rcx, [rsp + 0x140]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x188]
mov r8d, 0x42138d
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa7
call qword [case.0x14003c8e9.0]
test eax, eax
jne 0x14012ac33
mov rsi, qword [rsp + 0x188]
test rsi, rsi
je 0x14012ac33
mov rbx, qword [rsp + 0x140]
test rbx, rbx
je 0x14012ac33
mov r8, qword [rsp + 0x70]
mov r15d, r8d
mov r14, r8
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
cmp rax, rdx
je 0x14012ab45
test r8, r8
je 0x14012ab3d
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov r8, qword [rsp + 0x70]
mov rax, qword [rsp + 0x58]
mov rdx, rax
mov qword [rsp + 0x60], rax
lea r9, [r8 + rbx]
cmp r9, rbx
jb 0x14012ac0a
cmp r9, qword [rsp + 0x68]
jbe 0x14012abc9
lfence
mov rcx, qword [rsp + 0x68]
shr rcx, 1
add rcx, qword [rsp + 0x68]
cmp rcx, r9
cmovb rcx, r9
lea rsi, [rcx + 0xfff]
and rsi, 0xfffffffffffff000
cmp rsi, r9
cmovb rsi, r9
mov rax, qword [rsp + 0x50]
mov r8, rsi
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x50]
mov rax, qword [rax + 8]
call qword [case.0x14003c8e9.0]
test rax, rax
je 0x14012adfb
mov qword [rsp + 0x58], rax
mov rdx, rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rsi
mov r8, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x188]
lea rcx, [r8 + rax]
test rcx, rcx
je 0x14012ac0a
mov r8, rbx
mov rdx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov r8, qword [rsp + 0x70]
mov rax, r8
sub rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
add rax, rdx
add rax, rbx
cmp rax, qword [rsp + 0x68]
ja 0x14012ac0a
add r8, rbx
mov qword [rsp + 0x70], r8
cmp r14, 0xffffffffffffffff
jne 0x14012ac0d
mov r15d, r12d
mov rax, r12
test r8, r8
cmovne rax, rdx
mov dword [rax + 0x1c], r15d
mov rcx, r12
cmp qword [rsp + 0x70], r12
cmovne rcx, qword [rsp + 0x60]
mov eax, dword [rsp + 0x140]
mov dword [rcx + 0x20], eax
test byte [r13 + 0x18], 0x80
je 0x14012ac99
mov rbx, qword [rsp + 0xa0]
test rbx, rbx
je 0x14012ac99
mov dword [rsp + 0xd8], r12d
mov rax, qword [rbx]
lea rcx, [rsp + 0xd8]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
mov rax, qword [rax + 0x60]
call qword [case.0x14003c8e9.0]
test al, al
je 0x14012ac99
test byte [rsp + 0xd8], 1
je 0x14012ac99
mov rax, r12
cmp qword [rsp + 0x70], r12
cmovne rax, qword [rsp + 0x60]
or dword [rax + 0x2c], 1
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
test byte [r13 + 0x18], 0x10
je 0x14012ae7f
mov rax, r12
test rcx, rcx
cmovne rax, rdx
cmp dword [rax + 0x3c], 0xa
je 0x14012ace6
mov rax, r12
test rcx, rcx
cmovne rax, rdx
cmp dword [rax + 0x3c], r12d
jne 0x14012ae7f
mov rax, r12
test rcx, rcx
cmovne rax, rdx
cmp dword [rax + 0x40], r12d
je 0x14012ae7f
mov ebx, 0x1b61
mov rsi, r12
mov r14d, 0x400
nop dword [rax]
nop dword [rax + rax]
cmp r14, 0x20000
ja 0x14012ae6c
mov rdx, r14
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x14012ad80
mov rsi, rax
mov rcx, qword [rsp + 0x150]
test rcx, rcx
je 0x14012ae6c
mov r10, qword [rcx + 8]
test r10, r10
je 0x14012ae6c
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r12
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x20], rcx
mov edx, 1
mov ecx, 0xfc1
mov r9d, edx
mov r8d, 0x10001
mov rax, r10
call qword [case.0x14003c8e9.0]
mov ebx, eax
add r14, r14
cmp eax, 0x1b61
je 0x14012ad00
test ebx, ebx
jne 0x14012ae6c
mov eax, dword [rsi + 0x10]
mov ebx, dword [rax + rsi + 0x10]
add rbx, rax
add rbx, rsi
mov rcx, qword [rsp + 0x70]
mov r12d, ecx
mov rax, rdi
lea rax, [rax + 1]
cmp word [rbx + rax*2], 0
jne 0x14012ada0
lea r14, [rax*2 + 2]
mov r15, rcx
test r14, r14
je 0x14012ae20
mov rdx, r14
lea rcx, [rsp + 0x50]
call fcn.140150160
test rax, rax
je 0x14012ae2a
mov r8, r14
mov rdx, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [rsp + 0x70]
mov rax, rcx
sub rax, qword [rsp + 0x58]
add rax, qword [rsp + 0x60]
add rax, r14
cmp rax, qword [rsp + 0x68]
jbe 0x14012ae0a
xor dl, dl
jmp 0x14012ae14
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x60]
jmp 0x14012ac0a
add rcx, r14
mov qword [rsp + 0x70], rcx
mov dl, 1
mov rax, rdi
test dl, dl
cmovne rax, r15
mov r15, rax
cmp r15, 0xffffffffffffffff
je 0x14012ae2f
xor eax, eax
jmp 0x14012ae34
mov rcx, qword [rsp + 0x70]
xor eax, eax
mov r12d, eax
test rcx, rcx
cmovne rax, qword [rsp + 0x60]
mov dword [rax + 0x30], r12d
xor r12d, r12d
mov ecx, r12d
cmp qword [rsp + 0x70], r12
cmovne rcx, qword [rsp + 0x60]
mov rax, rdi
lea rax, [rax + 1]
cmp word [rbx + rax*2], r12w
jne 0x14012ae55
lea rax, [rax*2 + 2]
mov qword [rcx + 0x34], rax
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x60]
mov rax, r12
test rcx, rcx
cmovne rax, rdx
mov dword [rax + 0x4c], ecx
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012b2c2
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x1f8]
mov r8d, 0x5213a
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa7
call qword [case.0x14003c8e9.0]
test eax, eax
jne 0x14012b077
cmp qword [rsp + 0x1f8], 0
je 0x14012b077
mov dword [rsp + 0xdc], r12d
mov qword [rsp + 0x200], 4
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012af2e
lea rcx, [rsp + 0x200]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xdc]
mov r8d, 0x5213a
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa5
call qword [case.0x14003c8e9.0]
test eax, eax
mov ebx, dword [rsp + 0xdc]
je 0x14012af31
mov ebx, r12d
mov dword [rsp + 0x118], ebx
mov dword [rsp + 0x190], 0x5213a
mov dword [rsp + 0x194], 4
mov rsi, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
cmp rcx, r9
je 0x14012af7c
test rsi, rsi
je 0x14012af77
mov r8, rsi
mov rdx, r9
call sub.VCRUNTIME140.dll_memmove
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x60], rcx
mov rdx, qword [rsp + 0x70]
add rdx, 8
cmp rdx, 8
jb 0x14012b077
cmp rdx, qword [rsp + 0x68]
jbe 0x14012b000
lfence
mov rcx, qword [rsp + 0x68]
shr rcx, 1
add rcx, qword [rsp + 0x68]
cmp rcx, rdx
cmovb rcx, rdx
lea rbx, [rcx + 0xfff]
and rbx, 0xfffffffffffff000
cmp rbx, rdx
cmovb rbx, rdx
mov rax, qword [rsp + 0x50]
mov r8, rbx
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x50]
mov rax, qword [rax + 8]
call qword [case.0x14003c8e9.0]
mov rcx, rax
test rax, rax
je 0x14012b077
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rbx
mov ebx, dword [rsp + 0x118]
mov rdx, qword [rsp + 0x70]
add rdx, rcx
je 0x14012b077
mov rax, qword [rsp + 0x190]
mov qword [rdx], rax
mov rdx, qword [rsp + 0x70]
sub rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
add rcx, 8
add rcx, rdx
cmp rcx, qword [rsp + 0x68]
ja 0x14012b077
add qword [rsp + 0x70], 8
cmp rsi, 0xffffffffffffffff
je 0x14012b077
mov edx, 4
lea rcx, [rsp + 0x50]
call fcn.140150160
test rax, rax
je 0x14012b077
mov dword [rax], ebx
mov rdx, qword [rsp + 0x70]
sub rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
add rcx, 4
add rcx, rdx
cmp rcx, qword [rsp + 0x68]
ja 0x14012b077
add qword [rsp + 0x70], 4
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012b2c2
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x208]
mov r8d, 0x5213d
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa7
call qword [case.0x14003c8e9.0]
test eax, eax
jne 0x14012b262
cmp qword [rsp + 0x208], 0
je 0x14012b262
mov dword [rsp + 0xe0], r12d
mov qword [rsp + 0x210], 4
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012b119
lea rcx, [rsp + 0x210]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xe0]
mov r8d, 0x5213d
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa5
call qword [case.0x14003c8e9.0]
test eax, eax
mov ebx, dword [rsp + 0xe0]
je 0x14012b11c
mov ebx, r12d
mov dword [rsp + 0x120], ebx
mov dword [rsp + 0x1a8], 0x5213d
mov dword [rsp + 0x1ac], 4
mov rsi, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
cmp rcx, r9
je 0x14012b167
test rsi, rsi
je 0x14012b162
mov r8, rsi
mov rdx, r9
call sub.VCRUNTIME140.dll_memmove
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x60], rcx
mov rdx, qword [rsp + 0x70]
add rdx, 8
cmp rdx, 8
jb 0x14012b262
cmp rdx, qword [rsp + 0x68]
jbe 0x14012b1eb
lfence
mov rcx, qword [rsp + 0x68]
shr rcx, 1
add rcx, qword [rsp + 0x68]
cmp rcx, rdx
cmovb rcx, rdx
lea rbx, [rcx + 0xfff]
and rbx, 0xfffffffffffff000
cmp rbx, rdx
cmovb rbx, rdx
mov rax, qword [rsp + 0x50]
mov r8, rbx
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x50]
mov rax, qword [rax + 8]
call qword [case.0x14003c8e9.0]
mov rcx, rax
test rax, rax
je 0x14012b262
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rbx
mov ebx, dword [rsp + 0x120]
mov rdx, qword [rsp + 0x70]
add rdx, rcx
je 0x14012b262
mov rax, qword [rsp + 0x1a8]
mov qword [rdx], rax
mov rdx, qword [rsp + 0x70]
sub rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
add rcx, 8
add rcx, rdx
cmp rcx, qword [rsp + 0x68]
ja 0x14012b262
add qword [rsp + 0x70], 8
cmp rsi, 0xffffffffffffffff
je 0x14012b262
mov edx, 4
lea rcx, [rsp + 0x50]
call fcn.140150160
test rax, rax
je 0x14012b262
mov dword [rax], ebx
mov rdx, qword [rsp + 0x70]
sub rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
add rcx, 4
add rcx, rdx
cmp rcx, qword [rsp + 0x68]
ja 0x14012b262
add qword [rsp + 0x70], 4
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012b2c2
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x218]
mov r8d, 0xd213e
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa7
call qword [case.0x14003c8e9.0]
test eax, eax
jne 0x14012b2c2
mov r8, qword [rsp + 0x218]
test r8, r8
je 0x14012b2c2
mov r9, rdi
inc r9
cmp byte [r8 + r9], 0
jne 0x14012b2a6
inc r9
mov edx, 0xd213e
lea rcx, [rsp + 0x50]
call fcn.140150340
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012b321
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x220]
mov r8d, 0xd17e8
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa7
call qword [case.0x14003c8e9.0]
test eax, eax
jne 0x14012b321
mov r8, qword [rsp + 0x220]
test r8, r8
je 0x14012b321
lea rdi, [rdi + 1]
cmp byte [r8 + rdi], 0
jne 0x14012b303
lea r9, [rdi + 1]
mov edx, 0xd17e8
lea rcx, [rsp + 0x50]
call fcn.140150340
mov qword [rsp + 0x198], r12
mov qword [rsp + 0x228], 8
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012b55a
lea rcx, [rsp + 0x228]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x198]
mov r8d, 0xf214d
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa5
call qword [case.0x14003c8e9.0]
test eax, eax
jne 0x14012b3a7
mov rax, qword [rsp + 0x198]
test rax, rax
je 0x14012b3a7
mov qword [rsp + 0x230], rax
mov r9d, 8
lea r8, [rsp + 0x230]
mov edx, 0xf214d
lea rcx, [rsp + 0x50]
call fcn.140150340
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012b55a
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x238]
mov r8d, 0x63f49
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa7
call qword [case.0x14003c8e9.0]
test eax, eax
jne 0x14012b41e
cmp qword [rsp + 0x238], 0
je 0x14012b41e
mov edx, 0x63f49
lea rcx, [rsp + 0x78]
call fcn.140129610
mov qword [rsp + 0x240], rax
mov r9d, 8
lea r8, [rsp + 0x240]
mov edx, 0x63f49
lea rcx, [rsp + 0x50]
call fcn.140150340
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012b55a
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x278]
mov r8d, 0x63f4a
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa7
call qword [case.0x14003c8e9.0]
test eax, eax
jne 0x14012b495
cmp qword [rsp + 0x278], 0
je 0x14012b495
mov edx, 0x63f4a
lea rcx, [rsp + 0x78]
call fcn.140129610
mov qword [rsp + 0x250], rax
mov r9d, 8
lea r8, [rsp + 0x250]
mov edx, 0x63f4a
lea rcx, [rsp + 0x50]
call fcn.140150340
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012b55a
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x258]
mov r8d, 0x451396
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa7
call qword [case.0x14003c8e9.0]
test eax, eax
jne 0x14012b55a
cmp qword [rsp + 0x258], 0
je 0x14012b55a
mov dword [rsp + 0xe4], r12d
mov qword [rsp + 0x260], 4
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012b533
lea rcx, [rsp + 0x260]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xe4]
mov r8d, 0x451396
mov rdx, qword [rsp + 0x78]
mov ecx, 0xfa5
call qword [case.0x14003c8e9.0]
test eax, eax
mov eax, dword [rsp + 0xe4]
je 0x14012b536
mov eax, r12d
mov dword [rsp + 0x128], eax
mov r9d, 4
lea r8, [rsp + 0x128]
mov edx, 0x451396
lea rcx, [rsp + 0x50]
call fcn.140150340
mov rax, r12
mov rdx, qword [rsp + 0x70]
test rdx, rdx
cmovne rax, qword [rsp + 0x60]
mov ecx, edx
sub ecx, dword [rax + 0x4c]
mov rax, r12
test rdx, rdx
cmovne rax, qword [rsp + 0x60]
mov dword [rax + 0x50], ecx
mov rax, r12
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x70]
test r8, r8
cmovne rax, rdx
cmp dword [rax + 0x50], 0
jne 0x14012b5b1
mov rax, r12
test r8, r8
cmovne rax, rdx
mov dword [rax + 0x4c], r12d
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
cmp rcx, rdx
je 0x14012b5d4
test r8, r8
je 0x14012b5cf
call sub.VCRUNTIME140.dll_memmove
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x60], rcx
cmp r8, qword [rsp + 0x68]
jae 0x14012b63b
mov rax, qword [rsp + 0x50]
mov rdx, rcx
lea rcx, [rsp + 0x50]
test r8, r8
je 0x14012b61f
mov rax, qword [rax + 8]
call qword [case.0x14003c8e9.0]
mov rcx, rax
test rax, rax
jne 0x14012b60e
mov rcx, r12
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x70], r12
jmp 0x14012b63b
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x68], rax
jmp 0x14012b636
mov rax, qword [rax + 0x18]
call qword [case.0x14003c8e9.0]
mov rcx, r12
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x68], r12
mov rax, qword [rsp + 0x1a0]
mov qword [rax], rcx
lea rax, vtable.CParamStructHelper_struct__CCE_SCAN_OBJECT_REPLY_.0
mov qword [rsp + 0x50], rax
lea rax, vtable.CBuffer.0
mov qword [rsp + 0x50], rax
cmp byte [rsp + 0x88], 0
je 0x14012b69a
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x14012b69a
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012b69a
mov ecx, 0xfae
call qword [case.0x14003c8e9.0]
nop
mov rcx, qword [rsp + 0x158]
test rcx, rcx
je 0x14012b6ad
call fcn.14000a250
nop
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x14012b6c0
call fcn.14000a250
nop
mov rcx, qword [rsp + 0x170]
test rcx, rcx
je 0x14012b6db
mov rax, qword [rsp + 0x168]
call qword [case.0x14003c8e9.0]
xor eax, eax
jmp 0x14012b7cb
cmp byte [rsp + 0x88], 0
je 0x14012b716
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x14012b716
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14012b716
mov ecx, 0xfae
call qword [case.0x14003c8e9.0]
nop
mov rbx, qword [rsp + 0x158]
test rbx, rbx
je 0x14012b75b
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x14012b75b
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14003c8e9.0]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14012b75b
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x14003c8e9.0]
nop
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x14012b7ab
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14012b7ab
mov rbx, qword [rsp + 0xb0]
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax]
call qword [case.0x14003c8e9.0]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x14012b7ab
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14003c8e9.0]
nop
mov rcx, qword [rsp + 0x170]
test rcx, rcx
je 0x14012b7c6
mov rax, qword [rsp + 0x168]
call qword [case.0x14003c8e9.0]
mov eax, select
mov rcx, qword [rsp + 0x580]
xor rcx, rsp
call fcn.1401c5190
add rsp, 0x590
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret