Function at 0x1800355f0
Capabilities:
Inspect section memory permissions
Parse credit card information

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x288
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1f0], xmm6
mov qword [rbp + 0x1e8], 0xfffffffffffffffe
mov rax, r8
mov qword [rbp + 8], rdx
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x80], 8
xorps xmm6, xmm6
movups xmmword [rbp + 0x88], xmm6
mov qword [rbp + 0x98], 4
movups xmmword [rbp + 0xa0], xmm6
mov qword [rbp + 0xb0], 0
add r8, r9
lea rcx, [rbp + 0x50]
mov rdx, rax
call fcn.180025b20
mov qword [rbp + 0x158], 0
mov qword [rbp + 0x160], 1
mov qword [rbp + 0x168], 0
mov r15, qword [rbp + 0x60]
mov r14d, 0xffffffff
mov r12, r15
xor esi, esi
mov eax, 7
mov qword [rbp + 0x1b0], rax
jmp 0x1800356d7
add rdx, qword [rbp + 0x160]
mov rcx, rdx
lea rdx, [rbp + 0x170]
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add qword [rbp + 0x168], rdi
inc rsi
mov r12, qword [rbp + 0x60]
mov rdi, qword [rbp + 0x58]
cmp rsi, r15
jae 0x180036bec
cmp rsi, r12
jae 0x180036f98
lea r13, [rsi + 1]
mov eax, dword [rdi + rsi*4]
cmp eax, 0x5b
je 0x180035730
cmp eax, 0x5d
jne 0x180035770
cmp r13, r15
jae 0x180036bec
cmp r13, r12
jae 0x180036fd4
cmp dword [rdi + rsi*4 + 4], 0x5d
jne 0x180036b60
xor ebx, ebx
mov rsi, r13
cmp rsi, r12
jb 0x18003577b
jmp 0x180036fac
cmp r13, r15
jae 0x180036bec
cmp r13, r12
jae 0x180036fc0
mov eax, dword [rdi + rsi*4 + 4]
add eax, 0xffffffe0
cmp eax, 0x3b
ja 0x180035868
mov bl, 1
mov ecx, 0x84004003
bt rcx, rax
jae 0x18003585e
mov rsi, r13
cmp rsi, r12
jb 0x18003577b
jmp 0x180036fac
xor ebx, ebx
cmp rsi, r12
jae 0x180036fac
mov rax, qword [rbp + 0x58]
mov r13d, dword [rax + rsi*4]
mov ecx, r13d
call fcn.180011770
test al, 1
je 0x1800357c0
cmp r13d, 0x20
jne 0x1800357e0
test bl, bl
jne 0x1800357e0
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x158]
mov r8d, r14d
mov r9, qword [rbp + 0x1b0]
call fcn.1800352d0
jmp 0x1800356d0
lea eax, [r13 - 0xff01]
cmp eax, 0x1e
ja 0x1800357d6
mov ecx, 0x40000801
bt ecx, eax
jb 0x1800357e0
cmp r13d, 0x3002
jne 0x180035837
nop
mov r8, qword [rbp + 0x168]
test r8, r8
je 0x180035978
mov r9, qword [rbp + 0x160]
movsx ecx, byte [r9 + r8 - 1]
test ecx, ecx
jns 0x18003596b
movzx eax, byte [r9 + r8 - 2]
cmp al, 0xc0
jge 0x180035856
movzx edx, byte [r9 + r8 - 3]
cmp dl, 0xbf
jg 0x180035949
movzx r8d, byte [r9 + r8 - 4]
and r8d, 7
shl r8d, 6
and edx, 0x3f
or edx, r8d
jmp 0x18003594c
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x158]
mov r8d, r14d
mov r9, qword [rbp + 0x1b0]
call fcn.1800352d0
jmp 0x18003578f
and eax, 0x1f
jmp 0x180035954
cmp rax, 0x3b
je 0x18003571b
lea rcx, [rbp + 0x28]
mov rdx, rdi
mov r8, r12
mov r9, r13
call fcn.180035080
mov qword [rbp + 0x1c8], r14
mov r14, qword [rbp + 0x30]
mov rbx, qword [rbp + 0x38]
cmp rbx, 0x20
jae 0x180035b13
mov rcx, r14
mov rdx, rbx
call fcn.18017d720
mov rsi, rax
add rsi, r13
cmp rbx, 6
je 0x180035fe2
cmp rbx, 5
je 0x180035f0b
cmp rbx, 4
jne 0x180035b24
xor r13d, r13d
cmp dword [r14], 0x52414843
jne 0x1800368cb
inc rsi
cmp rsi, r15
jae 0x180036bce
lea rcx, [rbp + 0xb8]
mov rdx, rdi
mov r8, r12
mov r9, rsi
call fcn.180035080
mov rdx, qword [rbp + 0xc0]
mov rdi, qword [rbp + 0xc8]
lea r8, [rdx + rdi]
lea rcx, [rbp + 0x170]
mov qword [rbp + 0x1d8], rdx
call fcn.180025b20
mov rbx, qword [rbp + 0x180]
cmp rbx, 2
mov r14, qword [rbp + 0x1c8]
jb 0x1800361dc
mov rax, qword [rbp + 0x178]
cmp dword [rax], 0x7e
jne 0x1800361dc
mov r13d, dword [rax + 4]
jmp 0x180036223
and edx, 0xf
shl edx, 6
and eax, 0x3f
or eax, edx
shl eax, 6
and cl, 0x3f
movzx ecx, cl
or ecx, eax
cmp ecx, 0x110000
je 0x180036fe8
call fcn.180011770
test al, 1
je 0x180035a00
cmp r13d, 0x80
jae 0x1800359c0
mov rdi, qword [rbp + 0x168]
cmp rdi, qword [rbp + 0x158]
jne 0x18003599d
lea rcx, [rbp + 0x158]
call fcn.180015020
mov rax, qword [rbp + 0x160]
mov byte [rax + rdi], r13b
inc rdi
mov qword [rbp + 0x168], rdi
jmp 0x1800356d0
mov dword [rbp + 0x170], 0
cmp r13d, 0x800
jae 0x180035a2f
mov eax, r13d
shr eax, 6
or al, 0xc0
mov byte [rbp + 0x170], al
and r13b, 0x3f
or r13b, 0x80
mov byte [rbp + 0x171], r13b
mov edi, 2
jmp 0x180035ab0
lea eax, [r13 - 0xff01]
cmp eax, 0x1e
ja 0x180035a16
mov ecx, 0x40000801
bt ecx, eax
jb 0x180035a23
cmp r13d, 0x3002
jne 0x180035af4
mov dword [rbp + 0x170], 0
jmp 0x180035a38
cmp r13d, 0x10000
jae 0x180035a6c
mov eax, r13d
shr eax, 0xc
or al, 0xe0
mov byte [rbp + 0x170], al
mov eax, r13d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rbp + 0x171], al
and r13b, 0x3f
or r13b, 0x80
mov byte [rbp + 0x172], r13b
mov edi, 3
jmp 0x180035ab0
mov eax, r13d
shr eax, 0x12
or al, 0xf0
mov byte [rbp + 0x170], al
mov eax, r13d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rbp + 0x171], al
mov eax, r13d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rbp + 0x172], al
and r13b, 0x3f
or r13b, 0x80
mov byte [rbp + 0x173], r13b
mov edi, 4
nop
mov rax, qword [rbp + 0x158]
mov rdx, qword [rbp + 0x168]
sub rax, rdx
cmp rax, rdi
jae 0x1800356b0
mov qword [rsp + 0x20], 1
mov r9d, 1
lea rcx, [rbp + 0x158]
mov r8, rdi
call fcn.180186540
mov rdx, qword [rbp + 0x168]
jmp 0x1800356b0
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x158]
mov r8d, r14d
mov r9, qword [rbp + 0x1b0]
call fcn.1800352d0
jmp 0x180035978
mov rcx, r14
mov rdx, rbx
call fcn.18017d0f0
mov rsi, rax
add rsi, r13
cmp rbx, 3
je 0x180035cbd
xor r13d, r13d
cmp rbx, 1
jne 0x1800368cb
cmp byte [r14], 0x43
jne 0x18003602b
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x158]
mov r8, qword [rbp + 0x1c8]
mov r9, qword [rbp + 0x1b0]
call fcn.1800352d0
lea r9, [rsi + 1]
cmp r9, r15
jae 0x180036bce
lea rcx, [rbp + 0x110]
mov rdx, rdi
mov r8, r12
call fcn.180035080
mov r13, qword [rbp + 0x120]
add rsi, r13
add rsi, 2
cmp rsi, r15
jae 0x180036b80
lea rcx, [rbp + 0x140]
mov rdx, rdi
mov r8, r12
mov r9, rsi
call fcn.180035080
mov rax, qword [rbp + 0x150]
add rsi, rax
inc rsi
cmp rsi, r15
jae 0x180036b62
lea rcx, [rbp + 0x128]
mov rdx, rdi
mov r8, r12
mov r9, rsi
call fcn.180035080
add rsi, qword [rbp + 0x138]
mov rdi, qword [rbp + 0x118]
cmp r13, 3
mov r14, qword [rbp + 0x1c8]
jne 0x180035c0c
movzx eax, word [rdi]
xor eax, 0x4156
movzx ecx, byte [rdi + 2]
xor ecx, 0x52
or cx, ax
je 0x18003627a
mov rcx, rdi
mov rdx, r13
call fcn.18017ea70
mov rbx, rax
mov rcx, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x138]
call fcn.18017ea70
mov r8, rbx
shr r8, 0x20
and r8d, 7
mov rcx, rax
shr rcx, 0x20
test bl, 1
mov edx, 7
cmovne r8d, edx
lea edx, [r8 + 8]
test al, 1
cmovne r8d, edx
test rcx, rcx
cmovne r8d, edx
mov qword [rbp + 0x1b0], r8
mov rdx, qword [rbp + 0x128]
test rdx, rdx
je 0x180035c81
mov rcx, qword [rbp + 0x130]
mov r8d, 1
call fcn.18006a580
mov rdx, qword [rbp + 0x140]
test rdx, rdx
je 0x180035c9f
mov rcx, qword [rbp + 0x148]
mov r8d, 1
call fcn.18006a580
mov rdx, qword [rbp + 0x110]
test rdx, rdx
je 0x180036b28
mov r8d, 1
mov rcx, rdi
jmp 0x180036b23
movzx eax, word [r14]
xor eax, 0x454b
movzx ecx, byte [r14 + 2]
xor ecx, 0x59
or cx, ax
je 0x1800360d5
movzx eax, word [r14]
xor eax, 0x4156
movzx ecx, byte [r14 + 2]
xor ecx, 0x52
xor r13d, r13d
or cx, ax
jne 0x1800368cb
lea r9, [rsi + 1]
cmp r9, r15
jae 0x180036bce
lea rcx, [rbp + 0x110]
mov rdx, rdi
mov r8, r12
call fcn.180035080
mov rax, qword [rbp + 0x120]
add rsi, rax
add rsi, 2
cmp rsi, r15
jae 0x180036b80
lea rcx, [rbp + 0x140]
mov rdx, rdi
mov r8, r12
mov r9, rsi
call fcn.180035080
mov rax, qword [rbp + 0x150]
add rsi, rax
inc rsi
cmp rsi, r15
jae 0x180036b62
lea rcx, [rbp + 0x128]
mov rdx, rdi
mov r8, r12
mov r9, rsi
call fcn.180035080
add rsi, qword [rbp + 0x138]
xor eax, eax
cmp qword [rbp + 0xa8], 0
setne al
lea rcx, [0x1801a30d4]
lea rdx, str.NULLActiveMTB_parse_received:_n_VAR::__nwhich_is_for_dipscripts_and_is_unimplemented._nThe_dipscript_environment_itself_is:__n
cmove rcx, rdx
lea rax, [rax + rax + 4]
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rax
mov rax, qword [0x180277148]
mov rax, qword [rax]
cmp rax, 3
mov r14, qword [rbp + 0x1c8]
jbe 0x180035ead
lea rax, [rbp + 0x110]
mov qword [rbp + 0x170], rax
lea rcx, [0x180015400]
mov qword [rbp + 0x178], rcx
lea rax, [rbp + 0x140]
mov qword [rbp + 0x180], rax
mov qword [rbp + 0x188], rcx
lea rax, [rbp + 0x128]
mov qword [rbp + 0x190], rax
mov qword [rbp + 0x198], rcx
lea rax, [rbp + 0x40]
mov qword [rbp + 0x1a0], rax
lea rax, [0x180067d10]
mov qword [rbp + 0x1a8], rax
lea rax, [0x1801a3150]
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0xc0], 5
mov qword [rbp + 0xd8], 0
lea rax, [rbp + 0x170]
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0xd0], 4
lea rcx, [0x1801a31a0]
call fcn.18007b990
lea rcx, str.dfint_hook::markupMTB_parse_received:_n_C:VAR:
mov qword [rbp + 0xe8], rcx
mov qword [rbp + 0xf0], 0x12
mov qword [rbp + 0xf8], rcx
mov qword [rbp + 0x100], 0x12
mov qword [rbp + 0x108], rax
mov edx, 4
lea rcx, [rbp + 0xb8]
lea r8, [rbp + 0xe8]
xor r9d, r9d
call fcn.18007b8a0
mov rdx, qword [rbp + 0x128]
test rdx, rdx
je 0x180035ecb
mov rcx, qword [rbp + 0x130]
mov r8d, 1
call fcn.18006a580
mov rdx, qword [rbp + 0x140]
test rdx, rdx
je 0x180035ee9
mov rcx, qword [rbp + 0x148]
mov r8d, 1
call fcn.18006a580
mov rdx, qword [rbp + 0x110]
test rdx, rdx
je 0x180036b28
mov rcx, qword [rbp + 0x118]
mov r8d, 1
jmp 0x180036b23
mov eax, dword [r14]
mov ecx, 0x4741504c
xor eax, ecx
movzx ecx, byte [r14 + 4]
xor ecx, 0x45
xor r13d, r13d
or ecx, eax
jne 0x1800368cb
lea r9, [rsi + 1]
cmp r9, r15
jae 0x180036bce
lea rcx, [rbp + 0xe8]
mov rdx, rdi
mov r8, r12
call fcn.180035080
mov rbx, qword [rbp + 0xf8]
lea r13, [rsi + rbx]
add r13, 2
cmp r13, r15
jae 0x180036bb0
lea rcx, [rbp + 0xb8]
mov rdx, rdi
mov r8, r12
mov r9, r13
call fcn.180035080
mov rdx, qword [rbp + 0xf0]
add rbx, 0xfffffffffffffffe
cmp rbx, 7
mov qword [rbp + 0x20], rdx
ja case.0x180035f9b.5
lea rcx, [0x1801a352c]
movsxd rax, dword [rcx + rbx*4]
add rax, rcx
jmp rax
cmp word [rdx], 0x4648
je 0x180036928
cmp word [rdx], 0x5253
je 0x180036983
cmp word [rdx], 0x464c
je 0x180036b3f
cmp word [rdx], 0x4241
jne case.0x180035f9b.5
mov dword [rbp + 0x1d8], 7
mov dword [rbp + 0x1d0], 0
jmp 0x1800369d3
mov eax, dword [r14]
mov ecx, 0x41504c2f
xor eax, ecx
movzx ecx, word [r14 + 4]
xor ecx, 0x4547
xor r13d, r13d
or ecx, eax
jne 0x1800368cb
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x158]
mov r8, qword [rbp + 0x1c8]
mov r9, qword [rbp + 0x1b0]
call fcn.1800352d0
mov r14d, 0xffffffff
jmp 0x180036b28
cmp byte [r14], 0x52
je 0x180036044
cmp byte [r14], 0x42
je 0x180036044
xor r13d, r13d
cmp byte [r14], 0x50
jne 0x1800368cb
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x158]
mov r8, qword [rbp + 0x1c8]
mov r9, qword [rbp + 0x1b0]
call fcn.1800352d0
mov eax, 1
cmp byte [r14], 0x52
mov rdx, qword [rbp + 0x18]
je 0x180036081
xor eax, eax
cmp byte [r14], 0x42
setne al
lea eax, [rax*2 + 2]
and rdx, 0xffffffffff000000
mov qword [rbp + 0x170], 0
mov qword [rbp + 0x178], 1
lea rcx, [rbp + 0x180]
movups xmmword [rcx], xmm6
mov dword [rcx + 0x10], 0
mov dword [rbp + 0x194], eax
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x198], rdx
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x170]
call fcn.180034f80
jmp 0x1800368c8
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x158]
mov r8, qword [rbp + 0x1c8]
mov r9, qword [rbp + 0x1b0]
call fcn.1800352d0
inc rsi
cmp rsi, r15
jae 0x180036bce
lea rcx, [rbp + 0xe8]
mov rdx, rdi
mov r8, r12
mov r9, rsi
call fcn.180035080
mov rcx, qword [rbp + 0xf0]
mov rdi, qword [rbp + 0xf8]
movaps xmmword [rbp - 0x10], xmm6
mov qword [rbp + 0x1c0], 1
mov qword [rbp + 0x1b8], 0
mov byte [rbp + 0x1e7], 0
mov rdx, rdi
call fcn.18017ea70
mov r12, rax
shr r12, 0x20
test al, 1
mov eax, 0
cmovne r12d, eax
mov qword [rbp + 0x1c0], 1
mov qword [rbp + 0x1b8], 0
mov byte [rbp + 0x1e7], 0
call fcn.18015de80
mov r14, rax
mov rax, qword [0x180277178]
movzx eax, byte [rax]
test al, al
jne 0x1800365d4
mov ecx, dword [0x18028e9a0]
test cl, 1
jne 0x1800365d4
cmp ecx, 0x100
jae 0x1800363bb
mov edx, ecx
or edx, 0x20000000
mov eax, ecx
lock cmpxchg dword [0x18028e9a0], edx
jne 0x1800363bb
movd xmm0, ecx
pshufd xmm0, xmm0, 0x50
lea rax, [0x18028e9a0]
jmp 0x18003641f
mov rcx, qword [rbp + 0x1d8]
mov rdx, rdi
call fcn.18017eb60
mov r13, rax
shr r13, 0x20
test al, 1
mov ecx, 0
cmovne r13d, ecx
mov eax, r13d
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
mov eax, 0x110000
cmovb r13d, eax
cmp r13d, 0x110000
cmove r13d, ecx
mov rdx, qword [rbp + 0x170]
test rdx, rdx
je 0x180036245
mov rcx, qword [rbp + 0x178]
shl rdx, 2
mov r8d, 4
call fcn.18006a580
mov rdx, qword [rbp + 0xb8]
test rdx, rdx
je 0x180036263
mov r8d, 1
mov rcx, qword [rbp + 0x1d8]
call fcn.18006a580
add rsi, rbx
mov bl, 1
mov rdx, qword [rbp + 0x28]
test rdx, rdx
jne 0x1800368dd
jmp 0x1800368ec
xor eax, eax
cmp qword [rbp + 0xa8], 0
setne al
lea rcx, [0x1801a30d4]
lea rdx, str.NULLActiveMTB_parse_received:_n_VAR::__nwhich_is_for_dipscripts_and_is_unimplemented._nThe_dipscript_environment_itself_is:__n
cmove rcx, rdx
lea rax, [rax + rax + 4]
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rax
mov rax, qword [0x180277148]
mov rax, qword [rax]
cmp rax, 3
jbe 0x18003639a
lea rax, [rbp + 0x140]
mov qword [rbp + 0x170], rax
lea rcx, [0x180015400]
mov qword [rbp + 0x178], rcx
lea rax, [rbp + 0x128]
mov qword [rbp + 0x180], rax
mov qword [rbp + 0x188], rcx
lea rax, [rbp + 0x40]
mov qword [rbp + 0x190], rax
lea rax, [0x180067d10]
mov qword [rbp + 0x198], rax
lea rax, [0x1801a31e8]
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0xc0], 3
mov qword [rbp + 0xd8], 0
lea rax, [rbp + 0x170]
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0xd0], 3
lea rcx, [0x1801a3218]
call fcn.18007b990
lea rcx, str.dfint_hook::markupMTB_parse_received:_n_C:VAR:
mov qword [rbp + 0xe8], rcx
mov qword [rbp + 0xf0], 0x12
mov qword [rbp + 0xf8], rcx
mov qword [rbp + 0x100], 0x12
mov qword [rbp + 0x108], rax
mov edx, 4
lea rcx, [rbp + 0xb8]
lea r8, [rbp + 0xe8]
xor r9d, r9d
call fcn.18007b8a0
mov eax, 0xf
mov qword [rbp + 0x1b0], rax
mov rdx, qword [rbp + 0x128]
test rdx, rdx
jne 0x180035c6f
jmp 0x180035c81
mov qword [rbp + 0x1c0], 1
mov qword [rbp + 0x1b8], 0
mov byte [rbp + 0x1e7], 0
lea rcx, [rbp + 0x170]
lea rdx, [0x18028e9a0]
lea r8, [rbp + 0x128]
lea r9, [0x18028e998]
call fcn.1801844d0
mov eax, dword [rbp + 0x170]
test eax, eax
je 0x18003657e
cmp eax, 2
je 0x1800365d4
mov rax, qword [rbp + 0x178]
movq xmm0, qword [rbp + 0x180]
lea rcx, [0x18028e998]
mov qword [rbp + 0xb8], rcx
mov qword [rbp + 0xc0], rax
movq qword [rbp + 0xc8], xmm0
mov qword [rbp + 0x1c0], 1
mov qword [rbp + 0x1b8], 0
mov byte [rbp + 0x1e7], 0
lea rcx, [rbp + 0x170]
lea rdx, [rbp + 0xb8]
call fcn.18018f4c0
mov qword [rbp + 0x1c0], 1
mov qword [rbp + 0x1b8], 0
mov byte [rbp + 0x1e7], 0
lea rcx, [rbp + 0x170]
call fcn.180033e00
jmp 0x1800365d4
cmp dword [rdx], 0x45544953
je 0x18003690f
cmp dword [rdx], 0x4b4f4f42
je 0x18003696d
xor eax, eax
cmp dword [rdx], 0x504f5045
setne al
mov dword [rbp + 0x1d0], eax
neg eax
or eax, 8
jmp 0x1800369cd
movzx eax, word [rdx]
xor eax, 0x4e45
movzx ecx, byte [rdx + 2]
xor ecx, 0x54
or cx, ax
je 0x180036941
movzx eax, word [rdx]
xor eax, 0x5245
movzx ecx, byte [rdx + 2]
xor ecx, 0x41
or cx, ax
je 0x180036999
movzx eax, word [rdx]
rol ax, 8
movzx eax, ax
cmp eax, 0x4845
jne 0x1800369af
movzx eax, byte [rdx + 2]
add eax, 0xffffffbd
jmp 0x1800369b9
movabs rax, 0x5443414649545241
cmp qword [rdx], rax
jne case.0x180035f9b.5
mov dword [rbp + 0x1d8], 2
mov dword [rbp + 0x1d0], 0
jmp 0x1800369d3
mov rax, qword [rdx]
movabs rcx, 0x47414d495f545241
xor rax, rcx
movzx ecx, byte [rdx + 8]
xor rcx, 0x45
or rcx, rax
je 0x180036957
mov dword [rbp + 0x1d8], 0xffffffff
mov al, 1
mov dword [rbp + 0x1d0], eax
jmp 0x1800369d3
mov rcx, qword [rbp + 0x178]
mov edx, 0xffffff00
lock xadd dword [rcx], edx
mov eax, edx
and eax, 0x3fffff00
cmp eax, 0x100
setne al
cmp edx, 0x40000000
setb r8b
or r8b, al
jne 0x1800365d4
add edx, 0xffffff00
mov qword [rbp + 0x1c0], 1
mov qword [rbp + 0x1b8], 0
mov byte [rbp + 0x1e7], 0
call fcn.18018eaa0
mov rdx, qword [0x18028e998]
mov qword [rbp + 0x1c0], 1
mov qword [rbp + 0x1b8], 0
mov byte [rbp + 0x1e7], 0
mov rcx, r14
mov r8d, r12d
call fcn.18003a5f0
mov qword [rbp + 0x1c0], 1
mov qword [rbp + 0x1b8], 0
mov byte [rbp + 0x1e7], 0
mov rcx, r14
call fcn.18015deb0
mov r8, rdx
mov qword [rbp + 0x1c0], 1
mov qword [rbp + 0x1b8], 0
mov byte [rbp + 0x1e7], 0
lea rcx, [rbp + 0x170]
mov rdx, rax
call fcn.18004e490
mov r13, qword [rbp + 0x170]
mov rax, qword [rbp + 0x178]
mov r12, qword [rbp + 0x180]
mov qword [rbp + 0x1d8], rax
mov qword [rbp + 0x1c0], rax
mov qword [rbp + 0x1b8], r13
mov byte [rbp + 0x1e7], 0
mov rcx, r14
call fcn.18015dea0
mov rax, qword [0x180277178]
movzx eax, byte [rax]
test al, al
jne 0x18003680d
mov ecx, dword [0x18028e8f8]
test cl, 1
jne 0x18003680d
cmp ecx, 0x100
jae 0x1800366df
mov edx, ecx
or edx, 0x20000000
mov eax, ecx
lock cmpxchg dword [0x18028e8f8], edx
jne 0x1800366df
movd xmm0, ecx
pshufd xmm0, xmm0, 0x50
lea rax, [0x18028e8f8]
jmp 0x180036742
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x1c0], rax
mov qword [rbp + 0x1b8], r13
mov byte [rbp + 0x1e7], 0
lea rcx, [rbp + 0x170]
lea rdx, [0x18028e8f8]
lea r8, [rbp + 0x128]
lea r9, [0x18028e8f0]
call fcn.1801844d0
mov eax, dword [rbp + 0x170]
test eax, eax
je 0x1800367b8
cmp eax, 2
je 0x18003680d
mov rax, qword [rbp + 0x178]
movq xmm0, qword [rbp + 0x180]
lea rcx, [0x18028e8f0]
mov qword [rbp + 0xb8], rcx
mov qword [rbp + 0xc0], rax
movq qword [rbp + 0xc8], xmm0
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x1c0], rax
mov qword [rbp + 0x1b8], r13
mov byte [rbp + 0x1e7], 0
lea rcx, [rbp + 0x170]
lea rdx, [rbp + 0xb8]
call fcn.18018f0b0
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x1c0], rax
mov qword [rbp + 0x1b8], r13
mov byte [rbp + 0x1e7], 0
lea rcx, [rbp + 0x170]
call fcn.180033e00
jmp 0x18003680d
mov rcx, qword [rbp + 0x178]
mov edx, 0xffffff00
lock xadd dword [rcx], edx
mov eax, edx
and eax, 0x3fffff00
cmp eax, 0x100
setne al
cmp edx, 0x40000000
setb r8b
or r8b, al
jne 0x18003680d
add edx, 0xffffff00
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x1c0], rax
mov qword [rbp + 0x1b8], r13
mov byte [rbp + 0x1e7], 0
call fcn.18018eaa0
mov rcx, qword [0x18028e8f0]
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x1c0], rax
mov qword [rbp + 0x1b8], r13
mov byte [rbp + 0x1e7], 0
mov edx, 0xa
call fcn.18003bfc0
mov ebx, eax
mov qword [rbp + 0x1d0], r13
mov r14, qword [rbp + 0x88]
cmp r14, qword [rbp + 0x78]
jne 0x180036859
lea rcx, [rbp + 0x78]
call fcn.180014db0
mov rax, qword [rbp + 0x80]
lea rcx, [r14 + r14*2]
shl rcx, 4
mov rdx, qword [rbp + 0x1d0]
mov qword [rax + rcx], rdx
mov rdx, qword [rbp + 0x1d8]
mov qword [rax + rcx + 8], rdx
mov qword [rax + rcx + 0x10], r12
movdqa xmm0, xmmword [rbp - 0x10]
movdqu xmmword [rax + rcx + 0x18], xmm0
mov edx, ebx
shr edx, 0x10
mov byte [rax + rcx + 0x2a], dl
mov word [rax + rcx + 0x28], bx
inc r14
mov qword [rbp + 0x88], r14
mov rdx, qword [rbp + 0xe8]
test rdx, rdx
je 0x1800368c5
mov rcx, qword [rbp + 0xf0]
mov r8d, 1
call fcn.18006a580
add rsi, rdi
xor r13d, r13d
xor ebx, ebx
mov r14, qword [rbp + 0x1c8]
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x1800368ec
mov rcx, qword [rbp + 0x30]
mov r8d, 1
call fcn.18006a580
test bl, bl
je 0x1800356d0
test r13d, r13d
jne 0x180035783
mov r12, qword [rbp + 0x60]
cmp rsi, r12
jb 0x18003577b
jmp 0x180036fac
mov dword [rbp + 0x1d8], 1
mov dword [rbp + 0x1d0], 0
jmp 0x1800369d3
mov dword [rbp + 0x1d0], 0
mov dword [rbp + 0x1d8], 0
jmp 0x1800369d3
mov dword [rbp + 0x1d8], 6
mov dword [rbp + 0x1d0], 0
jmp 0x1800369d3
mov dword [rbp + 0x1d8], 9
mov dword [rbp + 0x1d0], 0
jmp 0x1800369d3
mov dword [rbp + 0x1d8], 3
mov dword [rbp + 0x1d0], 0
jmp 0x1800369d3
mov dword [rbp + 0x1d8], 4
mov dword [rbp + 0x1d0], 0
jmp 0x1800369d3
mov dword [rbp + 0x1d8], 0xa
mov dword [rbp + 0x1d0], 0
jmp 0x1800369d3
mov eax, 0
sbb eax, eax
or eax, 1
xor ecx, ecx
test eax, eax
setne cl
mov dword [rbp + 0x1d0], ecx
mov eax, ecx
neg eax
or eax, 0xb
mov dword [rbp + 0x1d8], eax
mov rsi, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0xc0]
mov qword [rbp + 0x70], rcx
mov rdx, rsi
call fcn.18017ea70
add rsi, r13
mov r13, rax
shr r13, 0x20
test al, 1
mov eax, 0
cmovne r13d, eax
mov eax, dword [rbp + 0x1d8]
cmp eax, 7
je 0x180036a17
mov ebx, 0xffffffff
cmp eax, 9
jne 0x180036a96
inc rsi
cmp rsi, r15
jae 0x180036b95
lea rcx, [rbp + 0x170]
mov rdx, rdi
mov r8, r12
mov r9, rsi
call fcn.180035080
mov rcx, qword [rbp + 0x178]
mov rdi, qword [rbp + 0x180]
mov qword [rbp + 0x68], rcx
mov rdx, rdi
call fcn.18017ea70
mov rbx, rax
shr rbx, 0x20
test al, 1
mov eax, 0
cmovne ebx, eax
mov rdx, qword [rbp + 0x170]
test rdx, rdx
mov r12d, dword [rbp + 0x1d0]
je 0x180036a85
mov r8d, 1
mov rcx, qword [rbp + 0x68]
call fcn.18006a580
add rsi, rdi
mov r14, qword [rbp + 0x1c8]
test r12b, r12b
je 0x180036aa9
jmp 0x180036af2
mov r14, qword [rbp + 0x1c8]
mov r12d, dword [rbp + 0x1d0]
test r12b, r12b
jne 0x180036af2
mov rax, qword [rbp + 0xa0]
mov r14, rax
cmp rax, qword [rbp + 0x90]
jne 0x180036ac8
lea rcx, [rbp + 0x90]
call fcn.1800150c0
mov rax, qword [rbp + 0x98]
lea rcx, [r14 + r14*2]
mov edx, dword [rbp + 0x1d8]
mov dword [rax + rcx*4], edx
mov dword [rax + rcx*4 + 4], r13d
mov dword [rax + rcx*4 + 8], ebx
inc r14
mov qword [rbp + 0xa0], r14
dec r14d
mov rdx, qword [rbp + 0xb8]
test rdx, rdx
je 0x180036b0d
mov r8d, 1
mov rcx, qword [rbp + 0x70]
call fcn.18006a580
mov rdx, qword [rbp + 0xe8]
test rdx, rdx
je 0x180036b28
mov r8d, 1
mov rcx, qword [rbp + 0x20]
call fcn.18006a580
xor r13d, r13d
xor ebx, ebx
mov rdx, qword [rbp + 0x28]
test rdx, rdx
jne 0x1800368dd
jmp 0x1800368ec
mov dword [rbp + 0x1d8], 5
mov dword [rbp + 0x1d0], 0
jmp 0x1800369d3
jmp 0x180036b60
mov rdx, qword [rbp + 0x140]
test rdx, rdx
je 0x180036b80
mov rcx, qword [rbp + 0x148]
mov r8d, 1
call fcn.18006a580
mov rdx, qword [rbp + 0x110]
test rdx, rdx
je 0x180036bce
mov rcx, qword [rbp + 0x118]
jmp 0x180036bc3
mov rdx, qword [rbp + 0xb8]
test rdx, rdx
je 0x180036bb0
mov r8d, 1
mov rcx, qword [rbp + 0x70]
call fcn.18006a580
mov rdx, qword [rbp + 0xe8]
test rdx, rdx
je 0x180036bce
mov rcx, qword [rbp + 0xf0]
mov r8d, 1
call fcn.18006a580
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x180036be5
mov r8d, 1
mov rcx, r14
call fcn.18006a580
mov r14, qword [rbp + 0x1c8]
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x158]
mov r8d, r14d
mov r9, qword [rbp + 0x1b0]
call fcn.1800352d0
mov r13, qword [rbp + 0x88]
nop dword [rax]
cmp r13, 1
jbe 0x180036e11
mov rsi, r13
dec r13
mov rax, qword [rbp + 0x88]
cmp r13, rax
ja 0x180036f3e
je 0x180036f86
mov rcx, qword [rbp + 0x80]
lea r12, [r13*2]
add r12, r13
shl r12, 4
lea rax, [rcx + r12]
cmp dword [rax + 0x18], 0xffffffff
jne 0x180036c10
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x180036c10
lea rdx, [rsi + rsi*2]
shl rdx, 4
cmp dword [rdx + rcx - 0x48], 0xffffffff
je 0x180036c10
lea r14, [rdx + rcx]
add r14, 0xffffffffffffffa0
mov rdx, qword [r14 + 0x10]
test rdx, rdx
je 0x180036c10
mov r15, qword [rax + 8]
movzx r8d, byte [r15]
movzx eax, r8b
test al, al
js 0x180036cd0
cmp eax, 0x3001
jle 0x180036d36
lea ecx, [rax - 0xff01]
cmp ecx, 0x1e
ja 0x180036cb5
mov r8d, 0x40000801
bt r8d, ecx
jb 0x180036d55
cmp eax, 0x3002
je 0x180036d55
cmp eax, 0x110000
jne 0x180036c10
jmp 0x18003700a
mov ecx, eax
and ecx, 0x1f
movzx r9d, byte [r15 + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x180036d23
movzx eax, byte [r15 + 2]
shl r9d, 6
and eax, 0x3f
or eax, r9d
cmp r8b, 0xf0
jb 0x180036dfc
movzx r8d, byte [r15 + 3]
and ecx, 7
shl ecx, 0x12
shl eax, 6
and r8d, 0x3f
or r8d, eax
or r8d, ecx
mov eax, r8d
cmp eax, 0x3001
jg 0x180036c9a
jmp 0x180036d36
shl ecx, 6
or ecx, r9d
mov eax, ecx
cmp eax, 0x3001
jg 0x180036c9a
cmp eax, 0x3f
ja 0x180036c10
mov eax, eax
movabs rcx, 0x8000500200000000
bt rcx, rax
jae 0x180036c10
mov rax, qword [r14]
sub rax, rdx
cmp rax, rbx
jae 0x180036d7e
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, r14
mov r8, rbx
call fcn.180186540
mov rdx, qword [r14 + 0x10]
add rdx, qword [r14 + 8]
mov rcx, rdx
mov rdx, r15
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add qword [r14 + 0x10], rbx
mov rbx, qword [rbp + 0x88]
cmp rbx, r13
jbe 0x180036ff6
mov rax, qword [rbp + 0x80]
lea rcx, [rax + r12]
mov r14, qword [rax + r12]
mov r15, qword [rax + r12 + 8]
lea rdx, [rax + r12]
add rdx, 0x30
mov rax, rbx
sub rax, rsi
shl rax, 4
lea r8, [rax + rax*2]
call sub.VCRUNTIME140.dll_memmove
dec rbx
mov qword [rbp + 0x88], rbx
test r14, r14
je 0x180036c10
mov r8d, 1
mov rcx, r15
mov rdx, r14
call fcn.18006a580
jmp 0x180036c10
shl ecx, 0xc
or eax, ecx
cmp eax, 0x3001
jg 0x180036c9a
jmp 0x180036d36
movdqu xmm0, xmmword [rbp + 0x78]
movups xmm1, xmmword [rbp + 0x88]
movups xmm2, xmmword [rbp + 0x98]
movups xmm3, xmmword [rbp + 0xa8]
movaps xmmword [rbp - 0x20], xmm3
movaps xmmword [rbp - 0x30], xmm2
movaps xmmword [rbp - 0x40], xmm1
movdqa xmmword [rbp - 0x50], xmm0
mov rdx, qword [rbp + 0x158]
test rdx, rdx
je 0x180036e5a
mov rcx, qword [rbp + 0x160]
mov r8d, 1
call fcn.18006a580
mov rdx, qword [rbp + 0x50]
test rdx, rdx
je 0x180036e75
shl rdx, 2
mov r8d, 4
mov rcx, rdi
call fcn.18006a580
lea rcx, [rbp + 0x170]
lea r9, [rbp - 0x50]
mov rdx, qword [rbp + 0x10]
mov r8, qword [rbp + 8]
call fcn.180018d00
mov rdi, qword [rbp + 0x170]
mov rax, rdi
neg rax
jo 0x180036f23
mov rsi, qword [rbp + 0x178]
mov rbx, qword [rbp + 0x180]
test rbx, rbx
je 0x180036ee2
lea r14, [rsi + 8]
jmp 0x180036ec9
add r14, 0x30
dec rbx
je 0x180036ee2
mov rdx, qword [r14 - 8]
test rdx, rdx
je 0x180036ec0
mov rcx, qword [r14]
mov r8d, 1
call fcn.18006a580
jmp 0x180036ec0
test rdi, rdi
je 0x180036efd
shl rdi, 4
lea rdx, [rdi + rdi*2]
mov r8d, 8
mov rcx, rsi
call fcn.18006a580
mov rax, qword [rbp + 0x188]
test rax, rax
je 0x180036f23
mov rcx, qword [rbp + 0x190]
shl rax, 2
lea rdx, [rax + rax*2]
mov r8d, 4
call fcn.18006a580
movaps xmm6, xmmword [rbp + 0x1f0]
add rsp, 0x288
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rax, [0x1801a3240]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], 1
mov qword [rbp + 0x180], 8
pxor xmm0, xmm0
movdqu xmmword [rbp + 0x188], xmm0
lea rdx, [0x1801a3250]
lea rcx, [rbp + 0x170]
call fcn.18019e170
jmp 0x180037016
lea r8, [0x1801a3268]
xor ecx, ecx
xor edx, edx
call fcn.18019e2f8
jmp 0x180037016
lea r8, [0x1801a3088]
mov rcx, rsi
mov rdx, r12
call fcn.18019e2f8
jmp 0x180037016
lea r8, [0x1801a32b0]
mov rcx, rsi
mov rdx, r12
call fcn.18019e2f8
jmp 0x180037016
lea r8, [0x1801a30b8]
mov rcx, r13
mov rdx, r12
call fcn.18019e2f8
jmp 0x180037016
lea r8, [0x1801a30a0]
mov rcx, r13
mov rdx, r12
call fcn.18019e2f8
jmp 0x180037016
lea rcx, [0x1801a32c8]
call fcn.18019e0f0
jmp 0x180037016
lea r8, [0x1801a3298]
mov rcx, r13
mov rdx, rbx
call fcn.18019df50
jmp 0x180037016
lea rcx, [0x1801a3280]
call fcn.18019e0f0
ud2