Function at 0x1400bf6e0
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
movaps xmmword [rsp + 0xf0], xmm6
mov rsi, rcx
call fcn.1400ea1e0
lea rax, [0x14039bd18]
mov qword [rsi], rax
lea rcx, [rsi + 0x10f8]
mov qword [rsp + 0xc8], rcx
call fcn.14002e0a0
lea r14, [rsi + 0x1170]
mov rcx, r14
call fcn.1400064d0
lea rdi, [0x14038e418]
mov qword [rsi + 0x1170], rdi
xorps xmm6, xmm6
movups xmmword [rsi + 0x1208], xmm6
mov word [rsi + 0x1218], 0
mov qword [rsi + 0x11f0], 0xffff
lea r12, [rsi + 0x1220]
mov rcx, r12
call fcn.1400064d0
mov qword [rsi + 0x1220], rdi
movups xmmword [rsi + 0x12b8], xmm6
mov word [rsi + 0x12c8], 0
mov qword [rsi + 0x12a0], 0xffff
lea r13, [rsi + 0x12d0]
mov rcx, r13
call fcn.1400064d0
mov qword [rsi + 0x12d0], rdi
xorps xmm6, xmm6
movups xmmword [rsi + 0x1368], xmm6
mov word [rsi + 0x1378], 0
mov qword [rsi + 0x1350], 0xffff
lea rcx, [rsi + 0x1380]
mov qword [rsp + 0xb0], rcx
call fcn.1400064d0
mov qword [rsi + 0x1380], rdi
movups xmmword [rsi + 0x1418], xmm6
mov word [rsi + 0x1428], 0
mov qword [rsi + 0x1400], 0xffff
lea rcx, [rsi + 0x1430]
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0xe0], r12
mov qword [rsp + 0xd8], r13
call fcn.1400064d0
mov qword [rsi + 0x1430], rdi
xorps xmm0, xmm0
movups xmmword [rsi + 0x14c8], xmm0
mov word [rsi + 0x14d8], 0
mov qword [rsi + 0x14b0], 0xffff
movups xmmword [rsi + 0x15a8], xmm0
movups xmmword [rsi + 0x15c0], xmm0
lea rax, [rsi + 0x15d0]
mov qword [rsp + 0xc0], rax
lea rdi, [rsi + 0x15d8]
movups xmmword [rsi + 0x15d8], xmm0
lea rbx, [rsi + 0x15f8]
lea rcx, [rsi + 0x1610]
movups xmmword [rsi + 0x15f8], xmm0
mov qword [rsi + 0x1608], 0
movups xmmword [rsi + 0x14e0], xmm0
movups xmmword [rsi + 0x14f0], xmm0
movups xmmword [rsi + 0x1500], xmm0
movups xmmword [rsi + 0x1510], xmm0
movups xmmword [rsi + 0x1530], xmm0
movups xmmword [rsi + 0x1540], xmm0
movups xmmword [rsi + 0x1550], xmm0
movups xmmword [rsi + 0x1560], xmm0
movups xmmword [rsi + 0x1570], xmm0
movups xmmword [rsi + 0x1580], xmm0
movups xmmword [rsi + 0x1590], xmm0
mov qword [rsp + 0x80], rsi
call qword [sym.imp.KERNEL32.DLL_InitializeCriticalSection]
lea rcx, [rsi + 0x1640]
mov qword [rsp + 0xb8], rcx
call fcn.14011ed10
lea rax, [0x1403a43c0]
mov qword [rsi + 0x1640], rax
lea rcx, [rsi + 0x16a8]
call fcn.140192a50
lea rcx, [rsi + 0x16d0]
mov qword [rsp + 0x88], rcx
call fcn.1400adf50
lea rcx, [rsi + 0x1a40]
mov qword [rsp + 0xa0], rcx
call fcn.14004eec0
mov qword [rsi + 0x1fe8], 0
mov byte [rsi + 0x1ff4], 1
lea rcx, [rsi + 0x1ff8]
mov qword [rsp + 0xd0], rcx
call fcn.140285dc0
xorps xmm0, xmm0
movups xmmword [rsi + 0x2010], xmm0
mov byte [rsi + 0x2021], 0
mov qword [rsi + 0x2028], 0
mov byte [rsi + 0x1fe1], 0
call fcn.140261860
mov qword [rsi + 0x1528], rax
mov rcx, rsi
mov rdx, rsi
mov r8, rsi
mov r9, rsi
call fcn.14010c660
lea rcx, [rsp + 0x60]
mov edx, 0x28c
mov r8d, 0x1e8
call fcn.140121a50
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x70], rax
lea rdx, [rsp + 0x70]
mov rcx, rsi
call fcn.140141900
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x40]
mov rcx, rsi
call fcn.140129f80
lea rbx, [rsi + 0xf98]
lea rdi, [rsi + 0x1048]
mov rcx, rbx
mov rdx, rdi
call fcn.1401417d0
mov rcx, rsi
mov rdx, rbx
mov r8d, 1
call fcn.14013f6b0
mov rax, qword [rsi + 0x1038]
test rax, rax
je 0x1400bfa34
mov ecx, dword [rax + 0x28]
or ecx, dword [rax + 0x24]
jne 0x1400bfa51
mov rcx, rbx
call fcn.140008200
lea rcx, [rsi + 0x1038]
add rax, 0x88
mov rdx, rax
call fcn.1401892d0
mov byte [rsi + 0x1041], 1
mov rcx, rbx
call fcn.14011e3e0
mov rcx, rsi
mov rdx, rdi
mov r8d, 2
call fcn.14013f780
mov rax, qword [rsi + 0x10e8]
test rax, rax
je 0x1400bfa85
mov ecx, dword [rax + 0x28]
or ecx, dword [rax + 0x24]
jne 0x1400bfaa2
mov rcx, rdi
call fcn.140008200
lea rcx, [rsi + 0x10e8]
add rax, 0x90
mov rdx, rax
call fcn.1401892d0
mov byte [rsi + 0x10f1], 2
mov rcx, rdi
call fcn.14011e3e0
call fcn.1401b03e0
mov edx, 0x10
mov ecx, eax
shl edx, cl
mov dword [rsi + 0x18e8], edx
mov rcx, qword [rsp + 0x88]
call fcn.14011e3e0
mov byte [rsi + 0x1a30], 1
mov dword [rsi + 0x1740], 3
mov rcx, qword [rsp + 0x88]
call fcn.14011e3e0
mov byte [rsi + 0x1835], 1
mov ecx, 0x28
call fcn.14030dfa0
mov rdi, rax
lea rax, [0x14038d5a0]
mov qword [rdi], rax
mov eax, 1
xchg dword [rdi + 8], eax
lea rax, [0x1403afe68]
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
lea rax, [0x1400ea940]
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], 0
lock add dword [rdi + 8], 1
mov rcx, qword [rsi + 0x1890]
test rcx, rcx
je 0x1400bfb55
lock sub dword [rcx + 8], 1
jne 0x1400bfb55
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x1890], rdi
lock sub dword [rdi + 8], 1
jne 0x1400bfb6c
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov ecx, 0x28
call fcn.14030dfa0
mov rdi, rax
lea rax, [0x14038d5a0]
mov qword [rdi], rax
mov eax, 1
xchg dword [rdi + 8], eax
lea rax, [0x1403afe68]
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
lea rax, [fcn.1400b6860]
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], 0
lock add dword [rdi + 8], 1
mov rcx, qword [rsi + 0x11d0]
test rcx, rcx
je 0x1400bfbca
lock sub dword [rcx + 8], 1
jne 0x1400bfbca
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x11d0], rdi
lock sub dword [rdi + 8], 1
jne 0x1400bfbe1
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov rcx, rsi
mov rdx, r14
call fcn.140126220
mov ecx, 0x28
call fcn.14030dfa0
mov rdi, rax
lea rax, [0x14038d5a0]
mov qword [rdi], rax
mov eax, 1
xchg dword [rdi + 8], eax
lea rax, [0x1403afe68]
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
lea rbp, [fcn.1400b1860]
mov qword [rdi + 0x18], rbp
mov qword [rdi + 0x20], 0
lock add dword [rdi + 8], 1
mov rcx, qword [rsi + 0xc00]
test rcx, rcx
je 0x1400bfc4a
lock sub dword [rcx + 8], 1
jne 0x1400bfc4a
mov rax, qword [rcx]
call qword [rax + 0x10]
lea r15, [rsi + 0xba0]
mov qword [rsi + 0xc00], rdi
lock sub dword [rdi + 8], 1
jne 0x1400bfc68
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov rcx, rsi
mov rdx, r15
call fcn.140126220
mov ecx, 0x28
call fcn.14030dfa0
mov rdi, rax
lea rax, [0x14038d5a0]
mov qword [rdi], rax
mov eax, 1
xchg dword [rdi + 8], eax
lea rax, [0x1403afe68]
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rbp
mov qword [rdi + 0x20], 0
lock add dword [rdi + 8], 1
mov rcx, qword [rsi + 0xdd0]
test rcx, rcx
je 0x1400bfcca
lock sub dword [rcx + 8], 1
jne 0x1400bfcca
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rbx, [rsi + 0xd70]
mov qword [rsi + 0xdd0], rdi
lock sub dword [rdi + 8], 1
jne 0x1400bfce8
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov rcx, rsi
mov rdx, rbx
call fcn.140126220
mov ecx, 0x28
call fcn.14030dfa0
mov rdi, rax
lea rax, [0x14038d5a0]
mov qword [rdi], rax
mov eax, 1
xchg dword [rdi + 8], eax
lea rax, [0x1403afe68]
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rbp
mov qword [rdi + 0x20], 0
lock add dword [rdi + 8], 1
mov rcx, qword [rsi + 0xf40]
test rcx, rcx
je 0x1400bfd4a
lock sub dword [rcx + 8], 1
jne 0x1400bfd4a
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rbx, [rsi + 0xee0]
mov qword [rsi + 0xf40], rdi
lock sub dword [rdi + 8], 1
jne 0x1400bfd68
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov rcx, rsi
mov rdx, rbx
call fcn.140126220
mov ecx, 0x28
call fcn.14030dfa0
mov rdi, rax
lea rax, [0x14038d5a0]
mov qword [rdi], rax
mov eax, 1
xchg dword [rdi + 8], eax
lea rax, [0x1403afe68]
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
lea rax, [0x1400b75a0]
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], 0
lock add dword [rdi + 8], 1
mov rcx, qword [rsi + 0x1280]
test rcx, rcx
je 0x1400bfdd1
lock sub dword [rcx + 8], 1
jne 0x1400bfdd1
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x1280], rdi
lock sub dword [rdi + 8], 1
jne 0x1400bfde8
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov rcx, rsi
mov rdx, r12
call fcn.140126220
mov ecx, 0x28
call fcn.14030dfa0
mov rdi, rax
lea rax, [0x14038d5a0]
mov qword [rdi], rax
mov eax, 1
xchg dword [rdi + 8], eax
lea rax, [0x1403afe68]
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
lea rax, [0x1400b7b70]
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], 0
lock add dword [rdi + 8], 1
mov rcx, qword [rsi + 0x1330]
test rcx, rcx
je 0x1400bfe51
lock sub dword [rcx + 8], 1
jne 0x1400bfe51
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x1330], rdi
lock sub dword [rdi + 8], 1
jne 0x1400bfe68
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov rcx, rsi
mov rdx, r13
call fcn.140126220
mov ecx, 0x28
call fcn.14030dfa0
mov rdi, rax
lea rax, [0x14038d5a0]
mov qword [rdi], rax
mov eax, 1
xchg dword [rdi + 8], eax
lea rax, [0x1403afe68]
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
lea rax, [0x1400b7ba0]
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], 0
lock add dword [rdi + 8], 1
mov rcx, qword [rsi + 0x13e0]
test rcx, rcx
je 0x1400bfed1
lock sub dword [rcx + 8], 1
jne 0x1400bfed1
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x13e0], rdi
lock sub dword [rdi + 8], 1
jne 0x1400bfee8
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov rcx, rsi
mov rdx, qword [rsp + 0xb0]
call fcn.140126220
mov ecx, 0x28
call fcn.14030dfa0
mov rdi, rax
lea rax, [0x14038d5a0]
mov qword [rdi], rax
mov eax, 1
xchg dword [rdi + 8], eax
lea rax, [0x1403afe68]
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
lea rax, [0x1400b7bd0]
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], 0
lock add dword [rdi + 8], 1
mov rcx, qword [rsi + 0x1490]
test rcx, rcx
je 0x1400bff56
lock sub dword [rcx + 8], 1
jne 0x1400bff56
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x1490], rdi
lock sub dword [rdi + 8], 1
jne 0x1400bff6d
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov rcx, rsi
mov rdx, qword [rsp + 0xa8]
call fcn.140126220
mov ecx, 0x28
call fcn.14030dfa0
mov rdi, rax
lea rax, [0x14038d5a0]
mov qword [rdi], rax
mov eax, 1
xchg dword [rdi + 8], eax
lea rax, [0x1403afe68]
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
lea rax, [0x1400b5d90]
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], 0
lock add dword [rdi + 8], 1
mov rcx, qword [rsi + 0xff8]
test rcx, rcx
je 0x1400bffdb
lock sub dword [rcx + 8], 1
jne 0x1400bffdb
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0xff8], rdi
lock sub dword [rdi + 8], 1
jne 0x1400bfff2
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov ecx, 0x28
call fcn.14030dfa0
mov rdi, rax
lea rax, [0x14038d5a0]
mov qword [rdi], rax
mov eax, 1
xchg dword [rdi + 8], eax
lea rax, [0x1403afe68]
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
lea rax, [fcn.1400b0850]
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], 0
lock add dword [rdi + 8], 1
mov rcx, qword [rsi + 0x1730]
test rcx, rcx
je 0x1400c0050
lock sub dword [rcx + 8], 1
jne 0x1400c0050
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x1730], rdi
lock sub dword [rdi + 8], 1
jne 0x1400c0067
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov ecx, 0x28
call fcn.14030dfa0
mov rdi, rax
lea rax, [0x14038d5a0]
mov qword [rdi], rax
mov eax, 1
xchg dword [rdi + 8], eax
lea rax, [0x1403afe68]
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
lea rax, [fcn.1400b8380]
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], 0
lock add dword [rdi + 8], 1
mov rcx, qword [rsi + 0x690]
test rcx, rcx
je 0x1400c00c5
lock sub dword [rcx + 8], 1
jne 0x1400c00c5
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x690], rdi
lock sub dword [rdi + 8], 1
jne 0x1400c00dc
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov ecx, 0x28
call fcn.14030dfa0
mov rdi, rax
lea rax, [0x1403b46c0]
mov qword [rdi], rax
mov eax, 1
xchg dword [rdi + 8], eax
lea rax, [0x1403b45b0]
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
lea rax, [0x1400b85c0]
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], 0
lock add dword [rdi + 8], 1
mov rcx, qword [rsi + 0x1a38]
test rcx, rcx
je 0x1400c013a
lock sub dword [rcx + 8], 1
jne 0x1400c013a
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x1a38], rdi
lock sub dword [rdi + 8], 1
jne 0x1400c0151
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
mov rcx, rsi
mov dl, 1
call fcn.140140460
call fcn.1400c7890
lea rdx, [0x140568d40]
lea rcx, [rsp + 0x40]
mov r8d, 0x3a
call fcn.1401903a0
lea rcx, [rsi + 0x1210]
lea rdx, [rsp + 0x40]
call fcn.1401892d0
mov byte [rsi + 0x1218], 0
mov rcx, r14
call fcn.14011e3e0
and byte [rsi + 0x11c9], 0xdf
lea rcx, [rsp + 0x40]
call fcn.140193c20
lea rcx, [0x14039bfe8]
call fcn.140322e10
mov qword [rsp + 0x68], 0
mov byte [rsp + 0x6f], 0xa
movabs rcx, 0x552b6c7274432820
mov qword [rsp + 0x60], rcx
movabs rcx, 0x2970552b6c727443
mov qword [rsp + 0x62], rcx
lea rdi, [rsp + 0x40]
lea r8, [rsp + 0x60]
mov rcx, rdi
mov rdx, rax
call fcn.1400e3860
cmp byte [rsp + 0x4e], 0
je 0x1400c0201
mov rdi, qword [rsp + 0x40]
mov rcx, r14
mov rdx, rdi
call fcn.140125530
cmp byte [rsp + 0x4e], 0
je 0x1400c021d
lea rcx, [rsp + 0x40]
call fcn.14030abf0
cmp byte [rsp + 0x6e], 0
je 0x1400c022e
lea rcx, [rsp + 0x60]
call fcn.14030abf0
call fcn.1400c7890
lea rdx, [0x140568d40]
lea rcx, [rsp + 0x40]
mov r8d, 0x37
call fcn.1401903a0
lea rcx, [rsi + 0x12c0]
lea rdx, [rsp + 0x40]
call fcn.1401892d0
mov byte [rsi + 0x12c8], 0
mov rcx, r12
call fcn.14011e3e0
and byte [rsi + 0x1279], 0xdf
lea rcx, [rsp + 0x40]
call fcn.140193c20
lea rcx, [0x14039bfef]
call fcn.140322e10
xorps xmm0, xmm0
movaps xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x6f], 5
mov dword [rsp + 0x60], 0x37462820
mov dword [rsp + 0x61], 0x29374628
lea rdi, [rsp + 0x40]
lea r8, [rsp + 0x60]
mov rcx, rdi
mov rdx, rax
call fcn.1400e3860
cmp byte [rsp + 0x4e], 0
je 0x1400c02c5
mov rdi, qword [rsp + 0x40]
mov rcx, r12
mov rdx, rdi
call fcn.140125530
cmp byte [rsp + 0x4e], 0
je 0x1400c02e1
lea rcx, [rsp + 0x40]
call fcn.14030abf0
cmp byte [rsp + 0x6e], 0
je 0x1400c02f2
lea rcx, [rsp + 0x60]
call fcn.14030abf0
call fcn.1400c7890
lea rdx, [0x140568d40]
lea rcx, [rsp + 0x40]
mov r8d, 0x3d
call fcn.1401903a0
lea rcx, [rsi + 0x1370]
lea rdx, [rsp + 0x40]
call fcn.1401892d0
mov byte [rsi + 0x1378], 0
mov rcx, r13
call fcn.14011e3e0
and byte [rsi + 0x1329], 0xdf
lea rcx, [rsp + 0x40]
call fcn.140193c20
lea rcx, [0x14039c000]
call fcn.140322e10
mov rcx, r13
mov rdx, rax
call fcn.140125530
call fcn.1400c7890
lea rdx, [0x140568d40]
lea rcx, [rsp + 0x40]
mov r8d, 0x3e
call fcn.1401903a0
lea rcx, [rsi + 0x1420]
lea rdx, [rsp + 0x40]
call fcn.1401892d0
mov byte [rsi + 0x1428], 0
mov rcx, qword [rsp + 0xb0]
call fcn.14011e3e0
and byte [rsi + 0x13d9], 0xdf
lea rcx, [rsp + 0x40]
call fcn.140193c20
lea rcx, [0x14039c00d]
call fcn.140322e10
mov rcx, qword [rsp + 0xb0]
mov rdx, rax
call fcn.140125530
call fcn.1400c7890
lea rdx, [0x140568d40]
lea rcx, [rsp + 0x40]
mov r8d, 0x3f
call fcn.1401903a0
lea rcx, [rsi + 0x14d0]
lea rdx, [rsp + 0x40]
call fcn.1401892d0
mov byte [rsi + 0x14d8], 0
mov rcx, qword [rsp + 0xa8]
call fcn.14011e3e0
and byte [rsi + 0x1489], 0xdf
lea rcx, [rsp + 0x40]
call fcn.140193c20
lea rcx, [0x14039c01c]
call fcn.140322e10
mov rcx, qword [rsp + 0xa8]
mov rdx, rax
call fcn.140125530
mov ecx, 0x28
call fcn.14030dfa0
mov rdi, rax
lea rax, [0x14038d5a0]
mov qword [rdi], rax
mov eax, 1
xchg dword [rdi + 8], eax
lea rax, [0x1403afe68]
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
lea rax, [fcn.1400b07b0]
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], 0
lock add dword [rdi + 8], 1
mov rcx, qword [rsi + 0x860]
test rcx, rcx
je 0x1400c0490
lock sub dword [rcx + 8], 1
jne 0x1400c0490
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x860], rdi
lock sub dword [rdi + 8], 1
jne 0x1400c04a7
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
xor esi, esi
mov r14b, 1
xorps xmm6, xmm6
lea r12, [rsp + 0x40]
lea rdi, [rsp + 0x90]
lea rbx, [rsp + 0x60]
lea rbp, [rsp + 0x70]
jmp 0x1400c04e5
mov esi, 0x8000
test r14b, 1
mov r14d, 0
je 0x1400c0927
lea r13, [0x14039440c]
test r14b, 1
jne 0x1400c0506
lea rcx, [0x14039c029]
call fcn.140322e10
mov r13, rax
test rax, rax
je 0x1400c056e
mov rcx, r13
call sub.msvcrt.dll_strlen
movaps xmmword [rsp + 0x40], xmm6
cmp eax, 0xe
jg 0x1400c0540
mov byte [rsp + 0x4f], al
movsxd r8, eax
cmp eax, 4
ja 0x1400c0550
cmp eax, 1
ja 0x1400c0575
test eax, eax
je 0x1400c05b0
movzx eax, byte [r13]
mov byte [rsp + 0x40], al
jmp 0x1400c05b0
mov rcx, r12
mov rdx, r13
mov r8d, eax
call fcn.14030b0a0
jmp 0x1400c05b0
cmp eax, 0x10
ja 0x1400c058d
cmp eax, 8
ja 0x1400c059a
mov eax, dword [r13]
mov dword [rsp + 0x40], eax
mov eax, dword [r13 + r8 - 4]
mov dword [rsp + r8 + 0x3c], eax
jmp 0x1400c05b0
movaps xmmword [rsp + 0x40], xmm6
jmp 0x1400c05b0
movzx eax, word [r13]
mov word [rsp + 0x40], ax
movzx eax, word [r13 + r8 - 2]
mov word [rsp + r8 + 0x3e], ax
jmp 0x1400c05b0
mov rcx, r12
mov rdx, r13
call fcn.140252bb0
jmp 0x1400c05b0
mov rax, qword [r13]
mov qword [rsp + 0x40], rax
mov rax, qword [r13 + r8 - 8]
mov qword [rsp + r8 + 0x38], rax
nop dword [rax]
mov dword [rsp + 0x60], esi
mov dword [rsp + 0x6c], 0x100
lea rcx, [0x14039bb57]
call fcn.140322e10
mov rcx, rdi
mov rdx, rax
mov r8, r12
call fcn.1400e3860
cmp byte [rsp + 0x9e], 0
je 0x1400c05f0
mov rcx, rbp
mov rdx, rdi
call fcn.14030aaa0
jmp 0x1400c05fd
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x70], xmm0
mov rcx, r15
mov rdx, rbx
mov r8, rbp
mov r9b, 1
call fcn.1400592f0
mov ecx, dword [rsp + 0x7c]
cmp ecx, 0xff00
jne 0x1400c0630
mov rcx, rbp
call fcn.14028b850
movzx ecx, byte [rsp + 0x7e]
test cl, cl
jne 0x1400c0637
jmp 0x1400c063f
shr ecx, 0x10
test cl, cl
je 0x1400c063f
mov rcx, rbp
call fcn.14030abf0
cmp byte [rsp + 0x9e], 0
je 0x1400c0651
mov rcx, rdi
call fcn.14030abf0
mov ecx, dword [rsp + 0x6c]
cmp ecx, 0xff00
jne 0x1400c0670
mov rcx, rbx
call fcn.14028b850
movzx ecx, byte [rsp + 0x6e]
test cl, cl
jne 0x1400c0677
jmp 0x1400c067f
shr ecx, 0x10
test cl, cl
je 0x1400c067f
mov rcx, rbx
call fcn.14030abf0
mov eax, esi
or eax, 1
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x6c], 0x100
lea rcx, [0x14039c035]
call fcn.140322e10
mov rcx, rdi
mov rdx, rax
mov r8, r12
call fcn.1400e3860
cmp byte [rsp + 0x9e], 0
je 0x1400c06d0
mov rcx, rbp
mov rdx, rdi
call fcn.14030aaa0
jmp 0x1400c06dd
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x70], xmm0
mov rcx, r15
mov rdx, rbx
mov r8, rbp
mov r9b, 1
call fcn.1400592f0
mov ecx, dword [rsp + 0x7c]
cmp ecx, 0xff00
jne 0x1400c0710
mov rcx, rbp
call fcn.14028b850
movzx ecx, byte [rsp + 0x7e]
test cl, cl
jne 0x1400c0717
jmp 0x1400c071f
shr ecx, 0x10
test cl, cl
je 0x1400c071f
mov rcx, rbp
call fcn.14030abf0
cmp byte [rsp + 0x9e], 0
je 0x1400c0731
mov rcx, rdi
call fcn.14030abf0
mov ecx, dword [rsp + 0x6c]
cmp ecx, 0xff00
jne 0x1400c0750
mov rcx, rbx
call fcn.14028b850
movzx ecx, byte [rsp + 0x6e]
test cl, cl
jne 0x1400c0757
jmp 0x1400c075f
shr ecx, 0x10
test cl, cl
je 0x1400c075f
mov rcx, rbx
call fcn.14030abf0
mov eax, esi
or eax, 2
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x6c], 0x100
lea rcx, [0x14039c03f]
call fcn.140322e10
mov rcx, rdi
mov rdx, rax
mov r8, r12
call fcn.1400e3860
cmp byte [rsp + 0x9e], 0
je 0x1400c07b0
mov rcx, rbp
mov rdx, rdi
call fcn.14030aaa0
jmp 0x1400c07bd
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x70], xmm0
mov rcx, r15
mov rdx, rbx
mov r8, rbp
mov r9b, 1
call fcn.1400592f0
mov ecx, dword [rsp + 0x7c]
cmp ecx, 0xff00
jne 0x1400c07f0
mov rcx, rbp
call fcn.14028b850
movzx ecx, byte [rsp + 0x7e]
test cl, cl
jne 0x1400c07f7
jmp 0x1400c07ff
shr ecx, 0x10
test cl, cl
je 0x1400c07ff
mov rcx, rbp
call fcn.14030abf0
cmp byte [rsp + 0x9e], 0
je 0x1400c0811
mov rcx, rdi
call fcn.14030abf0
mov ecx, dword [rsp + 0x6c]
cmp ecx, 0xff00
jne 0x1400c0830
mov rcx, rbx
call fcn.14028b850
movzx ecx, byte [rsp + 0x6e]
test cl, cl
jne 0x1400c0837
jmp 0x1400c083f
shr ecx, 0x10
test cl, cl
je 0x1400c083f
mov rcx, rbx
call fcn.14030abf0
or esi, 3
mov dword [rsp + 0x60], esi
mov dword [rsp + 0x6c], 0x100
lea rcx, [0x14039c04b]
call fcn.140322e10
mov rcx, rdi
mov rdx, rax
mov r8, r12
call fcn.1400e3860
cmp byte [rsp + 0x9e], 0
je 0x1400c0880
mov rcx, rbp
mov rdx, rdi
call fcn.14030aaa0
jmp 0x1400c088d
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x70], xmm0
mov rcx, r15
mov rdx, rbx
mov r8, rbp
mov r9b, 1
call fcn.1400592f0
mov ecx, dword [rsp + 0x7c]
cmp ecx, 0xff00
jne 0x1400c08c0
mov rcx, rbp
call fcn.14028b850
movzx ecx, byte [rsp + 0x7e]
test cl, cl
jne 0x1400c08c7
jmp 0x1400c08cf
shr ecx, 0x10
test cl, cl
je 0x1400c08cf
mov rcx, rbp
call fcn.14030abf0
cmp byte [rsp + 0x9e], 0
je 0x1400c08e1
mov rcx, rdi
call fcn.14030abf0
mov ecx, dword [rsp + 0x6c]
cmp ecx, 0xff00
jne 0x1400c0900
mov rcx, rbx
call fcn.14028b850
movzx ecx, byte [rsp + 0x6e]
test cl, cl
jne 0x1400c0907
jmp 0x1400c090f
shr ecx, 0x10
test cl, cl
je 0x1400c090f
mov rcx, rbx
call fcn.14030abf0
cmp byte [rsp + 0x4e], 0
je 0x1400c04d0
mov rcx, r12
call fcn.14030abf0
jmp 0x1400c04d0
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x4c], 0x100
mov rax, qword [r15]
lea rdx, [rsp + 0x40]
mov rcx, r15
call qword [rax + 0x38]
mov ecx, dword [rsp + 0x4c]
cmp ecx, 0xff00
mov rsi, qword [rsp + 0x80]
lea rbp, [fcn.1400b1860]
jne 0x1400c0974
lea rcx, [rsp + 0x40]
call fcn.14028b850
mov cl, byte [rsp + 0x4e]
test cl, cl
jne 0x1400c097b
jmp 0x1400c0985
shr ecx, 0x10
test cl, cl
je 0x1400c0985
lea rcx, [rsp + 0x40]
call fcn.14030abf0
lea rcx, [0x14039c050]
call fcn.140322e10
mov rdi, rax
call fcn.140175fe0
mov rbx, rax
call fcn.14018cf30
lea rcx, [rsi + 0x9d0]
or rbx, 0x40000000
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x20], eax
lea rdx, [rsp + 0x40]
mov r8, rdi
mov r9, rbx
call fcn.1400160a0
lea rcx, [rsp + 0x40]
call fcn.140193c20
lea rax, [fcn.140257140]
mov qword [rsi + 0xaa0], rax
mov ecx, 0x28
call fcn.14030dfa0
mov rdi, rax
lea rax, [0x14038d5a0]
mov qword [rdi], rax
mov eax, 1
xchg dword [rdi + 8], eax
lea rax, [0x1403afe68]
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rbp
mov qword [rdi + 0x20], 0
lock add dword [rdi + 8], 1
mov rcx, qword [rsi + 0xa30]
test rcx, rcx
je 0x1400c0a3b
lock sub dword [rcx + 8], 1
jne 0x1400c0a3b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0xa30], rdi
lock sub dword [rdi + 8], 1
jne 0x1400c0a52
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
call fcn.140175fe0
lea rdi, [rsi + 0x430]
mov rcx, rdi
mov edx, 6
mov r8, rax
call fcn.140125970
mov rcx, rdi
call fcn.14011e3e0
mov al, byte [0x14049aaf8]
test al, al
je 0x1400c0f1a
lea r8, [0x14049aad8]
mov rcx, rdi
xor edx, edx
call fcn.140127d70
call fcn.140175fe0
lea rdi, [rsi + 0x4b0]
mov rcx, rdi
mov edx, 6
mov r8, rax
call fcn.140125970
mov rcx, rdi
call fcn.14011e3e0
mov rcx, rdi
mov edx, 7
mov r8d, 2
call fcn.140125aa0
mov rcx, rdi
call fcn.14011e3e0
mov al, byte [0x14049aaf8]
test al, al
je 0x1400c0f7b
lea r8, [0x14049aad8]
mov rcx, rdi
xor edx, edx
call fcn.140127d70
call fcn.140175fe0
lea rdi, [rsi + 0x530]
mov rcx, rdi
mov edx, 6
mov r8, rax
call fcn.140125970
mov rcx, rdi
call fcn.14011e3e0
mov al, byte [0x14049aaf8]
test al, al
je 0x1400c0fdc
lea r8, [0x14049aad8]
mov rcx, rdi
xor edx, edx
call fcn.140127d70
mov ecx, 0x28
call fcn.14030dfa0
mov rdi, rax
lea rax, [0x14038d5a0]
mov qword [rdi], rax
mov eax, 1
xchg dword [rdi + 8], eax
lea rax, [0x1403afe68]
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
lea rax, [0x1400b88a0]
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], 0
lock add dword [rdi + 8], 1
mov rcx, qword [rsi + 0x208]
test rcx, rcx
je 0x1400c0b94
lock sub dword [rcx + 8], 1
jne 0x1400c0b94
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x208], rdi
lock sub dword [rdi + 8], 1
jne 0x1400c0bab
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
or byte [rsi + 0x36a], 1
mov word [rsi + 0x308], 0x18
lea rcx, [rsi + 0xe28]
xor edx, edx
call fcn.14011cf80
mov dword [rsi + 0x1520], 0
mov word [rsi + 0x1fdc], 1
mov byte [rsi + 0x1fde], 0
mov word [rsi + 0x1fdf], 0x100
mov byte [rsi + 0x1fe2], 0
mov rdx, qword [rsi + 0x48]
mov rcx, rsi
mov r8, qword [rsp + 0xc8]
call fcn.140126240
mov qword [rsi + 0x16c8], 0
call fcn.140119060
mov rcx, qword [rsp + 0xb8]
xor edx, edx
mov r8, rax
call fcn.140127d70
mov rcx, rsi
call fcn.1400be3d0
mov rcx, rsi
call fcn.14012f2e0
mov rcx, qword [rsp + 0xa0]
call fcn.1400ea950
mov rcx, qword [rsp + 0xa0]
xor edx, edx
xor r8d, r8d
call fcn.14003ccd0
mov rcx, rax
call fcn.1400ea9d0
mov rdi, rax
mov al, byte [0x140602a38]
test al, al
je 0x1400c103d
lea rax, [0x14046d8d0]
mov qword [rdi + 0x50], rax
mov rcx, qword [rdi + 0x78]
test rcx, rcx
je 0x1400c0c8b
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [rdi + 0x78], 0
mov rbx, qword [rdi + 0x18]
test byte [rbx + 0x4b6], 1
je 0x1400c0cf6
mov eax, dword [rbx + 0x70]
mov ecx, dword [rbx + 0x468]
cmp ecx, eax
cmovg eax, ecx
lea ecx, [rax - 1]
mov dword [rbx + 0x3f8], ecx
mov dword [rbx + 0x3fc], 0
test eax, eax
jle 0x1400c0cf6
xor ebp, ebp
xor eax, eax
nop dword [rax]
mov rcx, rbx
mov edx, ebp
mov r8, rax
call fcn.140036770
add ebp, 1
mov ecx, dword [rbx + 0x70]
mov edx, dword [rbx + 0x468]
cmp edx, ecx
cmovg ecx, edx
cmp ebp, ecx
jl 0x1400c0cd0
mov rbx, qword [rdi + 0x18]
mov rcx, rbx
call fcn.14011e3e0
mov rcx, qword [rdi + 0x18]
call fcn.1400346a0
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
lea rcx, [rsi + 0x1d80]
lea rdx, [rsp + 0x40]
mov r8d, 0xa480143d
call fcn.1400fca50
lea rcx, [rsi + 0x1da8]
call fcn.1400fc520
cmp byte [rsp + 0x56], 0
je 0x1400c0d43
lea rcx, [rsp + 0x48]
call fcn.14030abf0
or byte [rsi + 0x1c50], 4
test byte [rsi + 0x1b12], 8
je 0x1400c0d72
test byte [rsi + 0x1b13], 0x40
jne 0x1400c0d72
cmp qword [rsi + 0x1ae8], 0
je 0x1400c0d72
lea rcx, [rsi + 0x1ab8]
call fcn.14011d250
and byte [rsi + 0x1ef4], 0xfd
mov rcx, qword [rsp + 0xa0]
call fcn.14011e3e0
and byte [rsi + 0x1ef4], 0xfe
mov rcx, qword [rsp + 0xa0]
call fcn.14011e3e0
mov ecx, 0x28
call fcn.14030dfa0
mov rdi, rax
lea rax, [0x14038d5a0]
mov qword [rdi], rax
mov eax, 1
xchg dword [rdi + 8], eax
lea rax, [0x1403afe68]
mov qword [rdi], rax
mov qword [rdi + 0x10], rsi
lea rax, [0x1400b9650]
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], 0
lock add dword [rdi + 8], 1
mov rcx, qword [rsi + 0x1f28]
test rcx, rcx
je 0x1400c0df8
lock sub dword [rcx + 8], 1
jne 0x1400c0df8
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x1f28], rdi
lock sub dword [rdi + 8], 1
jne 0x1400c0e0f
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
and byte [rsi + 0x1a99], 0xdf
mov r8, qword [rsi + 0x1828]
mov rcx, qword [rsp + 0x88]
xor edx, edx
call fcn.140127d70
mov rcx, qword [rsp + 0x88]
mov edx, 1
call fcn.140127790
mov rcx, qword [rsp + 0x88]
call fcn.14011e3e0
mov rcx, qword [rsp + 0x88]
call fcn.140061f50
lea rdi, [rsp + 0x40]
mov rcx, rdi
call fcn.140264270
cmp byte [rsp + 0x4e], 0
je 0x1400c0e71
mov rdi, qword [rsp + 0x40]
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
xor ebx, ebx
lea rcx, [rsp + 0x60]
mov rdx, rdi
mov r8b, 1
xor r9d, r9d
call fcn.1400ae690
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x1400c0e9d
mov ebx, dword [rax + 0x24]
lea rcx, [rsp + 0x60]
call fcn.140193c20
cmp byte [rsp + 0x4e], 0
je 0x1400c0eb8
lea rcx, [rsp + 0x40]
call fcn.14030abf0
test ebx, ebx
je 0x1400c0ecf
mov dword [rsi + 0x18e8], ebx
mov rcx, qword [rsp + 0x88]
call fcn.14011e3e0
mov rcx, rsi
call fcn.1400bec70
lea rcx, [rsi + 0x1760]
mov dl, 1
call fcn.14002dc60
lea rcx, [rsi + 0x1c88]
mov dl, 1
call fcn.14002dc60
mov qword [rsi + 0x2030], 0
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x14049aaf8]
call fcn.14035f9c4
test eax, eax
je 0x1400c0a84
lea rax, [0x1403a3168]
mov qword [0x14049aad8], rax
lea rax, [0x14000f760]
mov qword [0x14049aae0], rax
mov dword [0x14049aae8], 0x80000000
mov dword [0x14049aaf4], 0x300
lea rcx, [0x14000f9f0]
call fcn.140001440
lea rcx, [0x14049aaf8]
call fcn.14035fa9b
jmp 0x1400c0a84
lea rcx, [0x14049aaf8]
call fcn.14035f9c4
test eax, eax
je 0x1400c0ae2
lea rax, [0x1403a3168]
mov qword [0x14049aad8], rax
lea rax, [0x14000f760]
mov qword [0x14049aae0], rax
mov dword [0x14049aae8], 0x80000000
mov dword [0x14049aaf4], 0x300
lea rcx, [0x14000f9f0]
call fcn.140001440
lea rcx, [0x14049aaf8]
call fcn.14035fa9b
jmp 0x1400c0ae2
lea rcx, [0x14049aaf8]
call fcn.14035f9c4
test eax, eax
je 0x1400c0b25
lea rax, [0x1403a3168]
mov qword [0x14049aad8], rax
lea rax, [0x14000f760]
mov qword [0x14049aae0], rax
mov dword [0x14049aae8], 0x80000000
mov dword [0x14049aaf4], 0x300
lea rcx, [0x14000f9f0]
call fcn.140001440
lea rcx, [0x14049aaf8]
call fcn.14035fa9b
jmp 0x1400c0b25
lea rcx, [0x140602a38]
call fcn.14035f9c4
test eax, eax
je 0x1400c0c71
lea rcx, [0x1400dd670]
call fcn.140001440
lea rcx, [0x140602a38]
call fcn.14035fa9b
jmp 0x1400c0c71