Function at 0x592880
Capabilities:
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, 0x5a8
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0xc8], r8
mov r13, rdx
mov r12, rcx
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x248], xmm0
mov dword [rsp + 0x2d9], 0
mov dword [rsp + 0x2dc], 0
movdqu xmmword [rsp + 0x2e0], xmm0
movdqu xmmword [rsp + 0x2a0], xmm0
mov qword [rsp + 0x220], 0
mov qword [rsp + 0x238], 0
mov qword [rsp + 0x240], 8
mov qword [rsp + 0x258], 8
mov qword [rsp + 0x260], 0
mov qword [rsp + 0x268], 2
mov qword [rsp + 0x270], 0
mov word [rsp + 0x278], 0
mov byte [rsp + 0x280], 0
lea rax, [0x007163c8]
mov qword [rsp + 0x290], rax
mov qword [rsp + 0x298], 1
mov qword [rsp + 0x2b0], rax
lea rax, str._N_ASerror_building_NFA_home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_dfa_remapper.rs
mov qword [rsp + 0x2b8], rax
mov qword [rsp + 0x2c0], 1
mov qword [rsp + 0x2c8], 0
mov word [rsp + 0x2d0], 0xffff
mov byte [rsp + 0x2d8], 1
mov qword [rsp + 0x2f0], 0
mov byte [rsp + 0x2f8], 2
movzx esi, byte [rsp + 0x228]
movzx ebp, byte [rsp + 0x229]
lea r14, [rsp + 0x22a]
mov rdi, qword [rsp + 0x2f8]
lea r15, [rsp + 0xd0]
mov r8d, 0xce
mov rcx, r15
mov rdx, r14
call sub.msvcrt.dll_memcpy
mov rbx, rdi
shr rbx, 8
mov r8d, 0xce
mov rcx, r14
mov rdx, r15
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x220], 0
mov byte [rsp + 0x50], sil
mov byte [rsp + 0x228], sil
mov rsi, r13
mov byte [rsp + 0x58], bpl
mov byte [rsp + 0x229], bpl
mov byte [rsp + 0x2f8], 3
mov rax, rdi
shr rax, 0x38
mov byte [rsp + 0x2ff], al
shr rdi, 0x28
mov word [rsp + 0x2fd], di
mov dword [rsp + 0x2f9], ebx
movzx edi, byte [r13]
cmp dil, 0xb
je 0x592bba
mov qword [rsp + 0x48], r12
mov byte [rsp + 0x2f], dil
lea r13, [rsp + 0x2f0]
movzx eax, word [rsi + 5]
movzx ecx, byte [rsi + 7]
shl ecx, 0x10
or ecx, eax
shl rcx, 0x20
mov edi, dword [rsi + 1]
or rdi, rcx
mov rbx, qword [rsi + 8]
mov r12, qword [rsi + 0x10]
cmp byte [rsp + 0x2d8], 0xa
jb 0x592abf
cmp qword [rsp + 0x2e8], 0
je 0x592abf
mov r8, qword [rsp + 0x2e0]
mov rcx, qword [0x0076d128]
xor edx, edx
call fcn.006d3c74
lea r15, [rsp + 0xd0]
mov r8d, 0xae
mov rcx, r15
lea r14, [rsp + 0x22a]
mov rdx, r14
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [r13]
movaps xmmword [rsp + 0x3a0], xmm0
mov r8d, 0xae
mov rcx, r14
mov rdx, r15
call sub.msvcrt.dll_memcpy
movdqa xmm0, xmmword [rsp + 0x3a0]
movdqu xmmword [r13], xmm0
mov qword [rsp + 0x220], 0
movzx ebp, byte [rsp + 0x50]
mov byte [rsp + 0x228], bpl
movzx r14d, byte [rsp + 0x58]
mov byte [rsp + 0x229], r14b
movzx ecx, byte [rsp + 0x2f]
mov byte [rsp + 0x2d8], cl
mov rax, rdi
shr rax, 0x30
mov byte [rsp + 0x2df], al
mov rax, rdi
shr rax, 0x20
mov word [rsp + 0x2dd], ax
mov dword [rsp + 0x2d9], edi
mov qword [rsp + 0x2e0], rbx
mov qword [rsp + 0x2e8], r12
mov r15, qword [rsi + 0x78]
test r15, r15
je 0x592bef
cmp cl, 7
mov edi, ecx
mov ecx, dword [rsp + 0x30]
je 0x592c33
mov rax, qword [rsp + 0x48]
mov word [rax + 8], 0x100
mov dword [rax + 0xc], ecx
mov dword [rax + 0x10], 1
mov qword [rax], 3
mov r13b, 1
xor ebp, ebp
mov r15b, 1
mov r12b, 1
mov bl, 1
jmp 0x593472
mov word [r12 + 8], 0x100
mov eax, dword [rsp + 0x30]
mov dword [r12 + 0xc], eax
mov dword [r12 + 0x10], 1
mov qword [r12], 3
mov r13b, 1
mov r15b, 1
mov r12b, 1
mov bl, 1
mov bpl, 1
jmp 0x593472
mov bl, 1
mov edi, ecx
mov rax, qword [rsp + 0x48]
mov r13d, dword [rsp + 0x30]
cmp word [rsi + 0x98], 0
je 0x592f7a
mov word [rax + 8], 0x100
mov dword [rax + 0xc], r13d
mov dword [rax + 0x10], 1
mov qword [rax], 3
mov r13b, 1
xor ebp, ebp
mov r15b, 1
mov r12b, 1
jmp 0x593472
mov rax, qword [rsi + 0x90]
mov qword [rsp + 0x490], rax
movups xmm0, xmmword [rsi + 0x80]
movaps xmmword [rsp + 0x480], xmm0
lea rcx, [rsp + 0xda]
mov r8d, 0xd6
lea rdx, [rsp + 0x22a]
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0xd0], 0
mov byte [rsp + 0xd8], bpl
mov byte [rsp + 0xd9], r14b
mov qword [rsp + 0x1c0], r15
movdqu xmm0, xmmword [rsi + 0x80]
movdqu xmmword [rsp + 0x1c8], xmm0
mov rax, qword [rsi + 0x90]
mov qword [rsp + 0x1d8], rax
mov r12, qword [rsp + 0x1a0]
test r12, r12
jne 0x592cfb
movzx eax, byte [0x0076d188]
mov edx, 0x20
xor ecx, ecx
call fcn.0069df80
test rax, rax
je 0x593f1d
mov r12, rax
movups xmm0, xmmword [0x00728ce0]
movups xmmword [rax + 0x10], xmm0
movdqu xmm0, xmmword [0x00728cd0]
movdqu xmmword [rax], xmm0
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x3a0], r15
movdqa xmm0, xmmword [rsp + 0x480]
movdqu xmmword [rsp + 0x3a8], xmm0
mov rax, qword [rsp + 0x490]
mov qword [rsp + 0x3b8], rax
movzx eax, byte [0x0076d188]
mov edx, 0x20
xor ecx, ecx
call fcn.0069df80
test rax, rax
je 0x593efe
mov r13, rax
mov qword [rsp + 0xb8], r15
mov qword [rax], r15
movdqa xmm0, xmmword [rsp + 0x480]
movdqu xmmword [rax + 8], xmm0
mov rax, qword [rsp + 0x490]
mov qword [r13 + 0x18], rax
cmp qword [r12 + 0x10], 0
jne 0x592d79
mov rcx, r12
call fcn.005b15d0
movabs rbx, 0xd21f2b948a538882
movabs rdi, 0x1d2017ef3b0d47ae
mov r15, qword [r12]
mov rcx, qword [r12 + 8]
xor r8d, r8d
movdqa xmm0, xmmword [0x006e5110]
pcmpeqd xmm1, xmm1
mov r9, rdi
xor r10d, r10d
and r9, rcx
movdqu xmm2, xmmword [r15 + r9]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb r11d, xmm3
nop word cs:[rax + rax]
test r11w, r11w
je 0x592e03
tzcnt edx, r11d
lea eax, [r11 - 1]
and eax, r11d
mov r11d, eax
add rdx, r9
and rdx, rcx
shl rdx, 5
mov rax, r15
sub rax, rdx
cmp qword [rax - 0x20], rbx
jne 0x592dd0
cmp qword [rax - 0x18], rdi
jne 0x592dd0
jmp 0x592e47
cmp r10, 1
mov r10d, 1
je 0x592e27
pmovmskb eax, xmm2
xor r10d, r10d
test eax, eax
setne r10b
tzcnt r14d, eax
add r14, r9
and r14, rcx
pcmpeqb xmm2, xmm1
pmovmskb eax, xmm2
test eax, eax
jne 0x593603
add r9, r8
add r9, 0x10
add r8, 0x10
jmp 0x592dab
mov r12, qword [rax - 0x10]
mov r15, qword [rax - 8]
mov qword [rax - 0x10], r13
lea rcx, [0x00702570]
mov qword [rax - 8], rcx
mov rcx, r12
call qword [r15 + 0x18]
cmp rax, rbx
mov r13d, dword [rsp + 0x30]
jne 0x592ed3
cmp rdx, rdi
jne 0x592ed3
movdqu xmm0, xmmword [r12]
movdqu xmm1, xmmword [r12 + 0x10]
movdqa xmmword [rsp + 0x3b0], xmm1
movdqa xmmword [rsp + 0x3a0], xmm0
mov rcx, qword [0x0076d128]
xor edx, edx
mov r8, r12
call fcn.006d3c74
mov rax, qword [rsp + 0x3a0]
test rax, rax
movzx edi, byte [rsp + 0x2f]
je 0x592f09
lea rcx, [rsp + 0x3b8]
mov rdx, qword [rsp + 0x3a8]
mov r8, qword [rsp + 0x3b0]
call qword [rax + 0x20]
jmp 0x592f09
mov rax, qword [r15]
test rax, rax
je 0x592ee0
mov rcx, r12
call rax
cmp qword [r15 + 8], 0
movzx edi, byte [rsp + 0x2f]
je 0x592f09
cmp qword [r15 + 0x10], 0x11
jb 0x592ef8
mov r12, qword [r12 - 8]
mov rcx, qword [0x0076d128]
xor edx, edx
mov r8, r12
call fcn.006d3c74
lea r15, [rsp + 0x3a0]
mov r8d, 0xd6
mov rcx, r15
lea rdx, [rsp + 0xda]
call sub.msvcrt.dll_memcpy
mov r8d, 0xd6
lea rcx, [rsp + 0x22a]
mov rdx, r15
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x220], 0
mov byte [rsp + 0x228], bpl
movzx eax, byte [rsp + 0x58]
mov byte [rsp + 0x229], al
xor ebx, ebx
mov rax, qword [rsp + 0x48]
mov r15, qword [rsp + 0xb8]
cmp word [rsi + 0x98], 0
jne 0x592c0b
mov byte [rsp + 0x60], 3
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x90], 0
lea rbp, [rsi + 0x38]
mov r14, qword [rsi + 0x38]
test r14, r14
je 0x5931f8
movdqu xmm0, xmmword [rbp]
movdqu xmm1, xmmword [rbp + 0x10]
movdqa xmmword [rsp + 0x1c0], xmm0
movdqa xmmword [rsp + 0x1d0], xmm1
mov rax, qword [rsp + 0x1c0]
mov r8, qword [rsp + 0x1c8]
lea rdx, [rsp + 0x1d8]
mov r9, qword [rsp + 0x1d0]
lea rcx, [rsp + 0x568]
call qword [rax]
movdqu xmm0, xmmword [rsp + 0x568]
movdqu xmm1, xmmword [rsp + 0x578]
movdqa xmmword [rsp + 0x3a0], xmm0
movdqa xmmword [rsp + 0x3b0], xmm1
mov rdi, qword [rsp + 0x3a0]
mov qword [rsp + 0x3a0], 0
test rdi, rdi
je 0x593f0f
lea rax, [rsp + 0x3a8]
mov qword [rsp + 0xd0], rdi
movdqu xmm0, xmmword [rax]
movdqu xmmword [rsp + 0xd8], xmm0
mov rax, qword [rax + 0x10]
mov qword [rsp + 0xe8], rax
mov r12, qword [rsp + 0xd8]
mov r13, qword [rsp + 0xe0]
test r13, r13
je 0x59315d
lea rcx, [rsp + 0x480]
mov rdx, r12
mov r8, r13
call fcn.005a4290
cmp byte [rsp + 0x480], 0
jne 0x59315d
cmp qword [rsp + 0x488], r13
jne 0x59315d
mov qword [rsp + 0x58], r14
mov r14, r15
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x38f], rax
movups xmm0, xmmword [rsp + 0xd9]
movaps xmmword [rsp + 0x380], xmm0
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x5930e7
lea rcx, [rsp + 0x88]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
call qword [rax + 0x20]
mov dword [rsp + 0x70], edi
shr rdi, 0x20
mov dword [rsp + 0x74], edi
mov byte [rsp + 0x78], r12b
movdqa xmm0, xmmword [rsp + 0x380]
movdqu xmmword [rsp + 0x79], xmm0
mov rax, qword [rsp + 0x38f]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x1c0]
mov rdx, qword [rsp + 0x1c8]
mov r13b, 1
xor r12d, r12d
mov r8, qword [rsp + 0x1d0]
mov r15b, 1
lea rcx, [rsp + 0x1d8]
call qword [rax + 0x20]
movzx edi, byte [rsp + 0x2f]
xor r12d, r12d
mov r13d, dword [rsp + 0x30]
mov r15, r14
mov r14, qword [rsp + 0x58]
jmp 0x5931fb
lea rcx, [rsp + 0xe8]
mov rdx, r12
mov r8, r13
call qword [rdi + 0x20]
mov rax, qword [rsp + 0x3a0]
test rax, rax
movzx edi, byte [rsp + 0x2f]
mov r14, qword [rsp + 0x48]
mov ebp, dword [rsp + 0x30]
je 0x5931a4
lea rcx, [rsp + 0x3b8]
mov rdx, qword [rsp + 0x3a8]
mov r8, qword [rsp + 0x3b0]
call qword [rax + 0x20]
mov word [r14 + 8], 0x100
mov dword [r14 + 0xc], ebp
mov dword [r14 + 0x10], 1
mov qword [r14], 3
mov rax, qword [rsp + 0x1c0]
mov rdx, qword [rsp + 0x1c8]
mov r13b, 1
xor r12d, r12d
mov r8, qword [rsp + 0x1d0]
mov r15b, 1
lea rcx, [rsp + 0x1d8]
call qword [rax + 0x20]
mov r13b, 1
xor r12d, r12d
mov r15b, 1
jmp 0x5933ff
mov r12b, 1
lea rax, [rsi + 0x18]
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x593268
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movdqa xmmword [rsp + 0x3b0], xmm1
movdqa xmmword [rsp + 0x3a0], xmm0
cmp dil, 7
jne 0x5932f3
test r15, r15
jne 0x5932f3
mov rax, qword [rsp + 0x48]
mov word [rax + 8], 0x100
mov dword [rax + 0xc], r13d
mov dword [rax + 0x10], 1
mov qword [rax], 3
mov rdx, qword [rsp + 0x3a8]
mov r8, qword [rsp + 0x3b0]
jmp 0x5933e0
cmp dil, 7
jne 0x593343
test r15, r15
jne 0x593343
cmp qword [rsi + 0x58], 0
je 0x593674
lea rax, [rsi + 0x58]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movdqa xmmword [rsp + 0xe0], xmm1
movdqa xmmword [rsp + 0xd0], xmm0
mov rax, qword [rsp + 0x48]
mov word [rax + 8], 0x100
mov dword [rax + 0xc], r13d
mov dword [rax + 0x10], 1
mov r15b, 1
mov qword [rax], 3
mov rax, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xd8]
lea rcx, [rsp + 0xe8]
xor r13d, r13d
mov r8, qword [rsp + 0xe0]
call qword [rax + 0x20]
xor r13d, r13d
jmp 0x5933ff
mov rdx, qword [rsp + 0x3a8]
mov r8, qword [rsp + 0x3b0]
cmp r8, 5
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x50], rcx
je 0x593368
cmp r8, 4
jne 0x593393
cmp byte [rdx], 0x68
jne 0x593399
cmp byte [rdx + 1], 0x74
jne 0x593399
cmp byte [rdx + 2], 0x74
jne 0x593399
cmp byte [rdx + 3], 0x70
jne 0x593399
mov dil, 1
mov dword [rsp + 0x40], 0
jmp 0x593743
mov rax, qword [rsp + 0x48]
mov word [rax + 8], 0x100
mov dword [rax + 0xc], r13d
mov dword [rax + 0x10], 1
mov qword [rax], 3
mov r13b, 1
jmp 0x5931f0
cmp byte [rdx], 0x68
jne 0x593399
cmp byte [rdx + 1], 0x74
jne 0x593399
cmp byte [rdx + 2], 0x74
jne 0x593399
cmp byte [rdx + 3], 0x70
jne 0x593399
cmp byte [rdx + 4], 0x73
jne 0x593399
mov al, 1
mov dword [rsp + 0x40], eax
mov dil, 1
jmp 0x593743
cmp r8, 0x40
ja 0x5933c3
xor eax, eax
lea rcx, [0x00716a80]
cmp r8, rax
je 0x59357d
movzx r9d, byte [rdx + rax]
movzx r9d, byte [r9 + rcx]
test r9d, r9d
je 0x5933c3
inc rax
cmp r9d, 0x3a
jne 0x5933a2
mov rax, qword [rsp + 0x48]
mov dword [rax + 0xc], r13d
mov word [rax + 8], 0x100
mov dword [rax + 0x10], 1
mov qword [rax], 3
mov rax, qword [rsp + 0x3a0]
mov r13b, 1
xor r15d, r15d
lea rcx, [rsp + 0x3b8]
call qword [rax + 0x20]
mov r13b, 1
xor r15d, r15d
movzx eax, byte [rsp + 0x60]
mov r14, qword [rsp + 0x68]
cmp eax, 3
ja 0x593547
cmp eax, 2
je 0x593547
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x59343d
lea rcx, [rsp + 0x88]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
call qword [rax + 0x20]
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x593465
lea rcx, [rsp + 0xa8]
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
call qword [rax + 0x20]
xor ebp, ebp
cmp qword [rsp + 0x220], 3
je 0x59347f
lea rcx, [rsp + 0x220]
call fcn.00592550
mov rcx, qword [rsp + 0xc8]
call fcn.006c63a0
movzx eax, byte [rsi]
cmp al, 0xb
je 0x5934b6
cmp al, 0xa
jb 0x5934b6
cmp dil, 0xb
jne 0x5934b6
cmp qword [rsi + 0x10], 0
je 0x5934b6
mov r8, qword [rsi + 8]
mov rcx, qword [0x0076d128]
xor edx, edx
call fcn.006d3c74
test r15b, r15b
je 0x5934d3
mov rax, qword [rsi + 0x18]
test rax, rax
je 0x5934d3
lea rcx, [rsi + 0x30]
mov rdx, qword [rsi + 0x20]
mov r8, qword [rsi + 0x28]
call qword [rax + 0x20]
test r12b, r12b
je 0x5934f0
mov rax, qword [rsi + 0x38]
test rax, rax
je 0x5934f0
lea rcx, [rsi + 0x50]
mov rdx, qword [rsi + 0x40]
mov r8, qword [rsi + 0x48]
call qword [rax + 0x20]
test r13b, r13b
je 0x59350d
mov rax, qword [rsi + 0x58]
test rax, rax
je 0x59350d
lea rcx, [rsi + 0x70]
mov rdx, qword [rsi + 0x60]
mov r8, qword [rsi + 0x68]
call qword [rax + 0x20]
test bl, bl
je 0x593532
mov rax, qword [rsi + 0x78]
test rax, rax
je 0x593532
lea rcx, [rsi + 0x90]
mov rdx, qword [rsi + 0x80]
mov r8, qword [rsi + 0x88]
call qword [rax + 0x20]
nop
add rsp, 0x5a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [r14]
mov rdx, qword [r14 + 8]
lea rcx, [r14 + 0x18]
mov r8, qword [r14 + 0x10]
call qword [rax + 0x20]
mov rcx, qword [0x0076d128]
xor edx, edx
mov r8, r14
call fcn.006d3c74
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x593425
jmp 0x59343d
test r8, r8
je 0x593696
js 0x593f43
mov r13, rdx
movzx eax, byte [0x0076d188]
xor ecx, ecx
mov qword [rsp + 0x40], r8
mov rdx, r8
call fcn.0069df80
test rax, rax
je 0x593f4a
mov rdi, rax
mov rcx, rax
mov rdx, r13
mov r8, qword [rsp + 0x40]
call sub.msvcrt.dll_memcpy
test dil, 1
mov qword [rsp + 0xc0], rdi
jne 0x5936d6
mov rcx, rdi
or rcx, 1
mov qword [rsp + 0xd8], rdi
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rcx
lea rdi, [0x0071a300]
jmp 0x5936fa
movzx eax, byte [r15 + r14]
test al, al
js 0x59361f
movdqa xmm0, xmmword [r15]
pmovmskb eax, xmm0
tzcnt r14d, eax
movzx eax, byte [r15 + r14]
and al, 1
movzx eax, al
sub qword [r12 + 0x10], rax
lea rax, [r14 - 0x10]
and rax, rcx
mov byte [r15 + r14], 0xe
mov byte [r15 + rax + 0x10], 0xe
inc qword [r12 + 0x18]
shl r14, 5
mov rax, r15
sub rax, r14
neg r14
mov qword [r15 + r14 - 0x20], rbx
mov qword [rax - 0x18], rdi
mov qword [rax - 0x10], r13
lea rcx, [0x00702570]
mov qword [rax - 8], rcx
movzx edi, byte [rsp + 0x2f]
mov r13d, dword [rsp + 0x30]
jmp 0x592f09
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x58], r14
mov qword [rsp + 0xb8], r15
mov r13b, 1
xor edx, edx
mov r15b, 1
jmp 0x593997
mov eax, 1
mov qword [rsp + 0xc0], rax
mov ecx, 1
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0xd8], 1
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xe0], xmm0
lea rdi, [0x006f6af0]
xor eax, eax
mov qword [rsp + 0x40], rax
jmp 0x5936fa
mov qword [rsp + 0xd8], rdi
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rdi
lea rdi, [0x0071a328]
mov qword [rsp + 0xd0], rdi
movzx eax, byte [0x0076d188]
mov edx, 0x20
xor ecx, ecx
call fcn.0069df80
test rax, rax
je 0x593f2e
mov r13, rax
movdqu xmm0, xmmword [rsp + 0xd0]
movdqu xmm1, xmmword [rsp + 0xe0]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
mov dil, 2
mov dword [rsp + 0x40], eax
cmp qword [rsp + 0x70], 0
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0x58], r14
je 0x593782
movzx ecx, byte [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
call fcn.00594760
mov byte [rsp + 0x60], dil
mov eax, dword [rsp + 0x40]
mov byte [rsp + 0x61], al
mov word [rsp + 0x62], 0
mov qword [rsp + 0x68], r13
jmp 0x59378c
mov ecx, edi
mov rdx, r13
call fcn.0044afc0
mov rax, qword [rsp + 0x3a0]
mov rdx, qword [rsp + 0x3a8]
lea rcx, [rsp + 0x3b8]
mov r13b, 1
xor r15d, r15d
mov r8, qword [rsp + 0x3b0]
call qword [rax + 0x20]
movzx edi, byte [rsp + 0x2f]
cmp qword [rsi + 0x58], 0
je 0x593949
lea rax, [rsi + 0x58]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movdqa xmmword [rsp + 0xe0], xmm1
movdqa xmmword [rsp + 0xd0], xmm0
mov r9, qword [rsp + 0xe0]
test r9, r9
je 0x593d71
mov qword [rsp + 0x40], rbp
mov rax, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xd8]
lea rdx, [rsp + 0xe8]
lea rcx, [rsp + 0x588]
call qword [rax]
mov ebp, dword [rsp + 0x30]
lea rcx, [rsp + 0x540]
lea rdx, [rsp + 0x588]
call fcn.005947d0
mov rdi, qword [rsp + 0x540]
test rdi, rdi
je 0x593d92
mov ebp, edi
shr ebp, 8
mov r14d, edi
shr r14d, 0x10
mov r15, rdi
shr r15, 0x20
mov r13d, dword [rsp + 0x548]
movups xmm0, xmmword [rsp + 0x54c]
movaps xmmword [rsp + 0x3a0], xmm0
movups xmm0, xmmword [rsp + 0x558]
movups xmmword [rsp + 0x3ac], xmm0
movaps xmm0, xmmword [rsp + 0x3a0]
movaps xmmword [rsp + 0x300], xmm0
movups xmm0, xmmword [rsp + 0x3ac]
movups xmmword [rsp + 0x30c], xmm0
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x5938c9
lea rcx, [rsp + 0xa8]
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
call qword [rax + 0x20]
mov byte [rsp + 0x90], dil
mov byte [rsp + 0x91], bpl
mov word [rsp + 0x92], r14w
mov dword [rsp + 0x94], r15d
mov dword [rsp + 0x98], r13d
movaps xmm0, xmmword [rsp + 0x300]
movups xmmword [rsp + 0x9c], xmm0
movdqu xmm0, xmmword [rsp + 0x30c]
movdqu xmmword [rsp + 0xa8], xmm0
mov rax, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xd8]
xor r13d, r13d
mov r8, qword [rsp + 0xe0]
xor r15d, r15d
lea rcx, [rsp + 0xe8]
call qword [rax + 0x20]
mov rbp, qword [rsp + 0x40]
mov dl, 1
xor r13d, r13d
jmp 0x59398f
xor edx, edx
mov r13b, 1
cmp dil, 7
jne 0x59398f
mov r15d, 0
cmp qword [rsp + 0xb8], 0
mov rcx, qword [rsp + 0x50]
je 0x593997
mov rax, qword [rsp + 0x48]
mov word [rax + 8], 0x100
mov ecx, dword [rsp + 0x30]
mov dword [rax + 0xc], ecx
mov dword [rax + 0x10], 1
mov qword [rax], 3
jmp 0x5933f9
xor r15d, r15d
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x3c], ebx
mov rdi, qword [rsp + 0x220]
movzx ebx, byte [rsp + 0x228]
movzx r14d, byte [rsp + 0x229]
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x370], rax
movups xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x360], xmm0
movdqu xmm0, xmmword [rsp + 0x60]
movdqu xmm1, xmmword [rsp + 0x70]
movdqu xmm2, xmmword [rsp + 0x80]
movdqu xmm3, xmmword [rsp + 0x90]
movdqa xmmword [rsp + 0x350], xmm3
movdqa xmmword [rsp + 0x340], xmm2
movdqa xmmword [rsp + 0x330], xmm1
movdqa xmmword [rsp + 0x320], xmm0
cmp rdi, 3
jne 0x593ae3
movzx eax, byte [rsp + 0x320]
mov r14, qword [rsp + 0x328]
cmp eax, 3
lea rdi, [rsp + 0x22a]
ja 0x593a42
cmp eax, 2
jne 0x593a65
mov rax, qword [r14]
mov rdx, qword [r14 + 8]
lea rcx, [r14 + 0x18]
mov r8, qword [r14 + 0x10]
call qword [rax + 0x20]
mov rcx, qword [0x0076d128]
xor edx, edx
mov r8, r14
call fcn.006d3c74
mov rax, qword [rsp + 0x330]
test rax, rax
je 0x593a8d
lea rcx, [rsp + 0x348]
mov rdx, qword [rsp + 0x338]
mov r8, qword [rsp + 0x340]
call qword [rax + 0x20]
mov rax, qword [rsp + 0x350]
test rax, rax
je 0x593ab5
lea rcx, [rsp + 0x368]
mov rdx, qword [rsp + 0x358]
mov r8, qword [rsp + 0x360]
call qword [rax + 0x20]
lea rdx, [rsp + 0x3a0]
mov r8d, 0xd6
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x220], 3
mov byte [rsp + 0x228], bl
jmp 0x593d41
mov dword [rsp + 0xc0], edx
mov qword [rsp + 0x50], rcx
lea rcx, [rsp + 0xda]
mov r8d, 0xd6
lea rdx, [rsp + 0x22a]
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x210], rax
movups xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x200], xmm0
movdqu xmm0, xmmword [rsp + 0x60]
movdqu xmm1, xmmword [rsp + 0x70]
movdqu xmm2, xmmword [rsp + 0x80]
movdqu xmm3, xmmword [rsp + 0x90]
movdqa xmmword [rsp + 0x1f0], xmm3
movdqa xmmword [rsp + 0x1e0], xmm2
movdqa xmmword [rsp + 0x1d0], xmm1
movdqa xmmword [rsp + 0x1c0], xmm0
mov qword [rsp + 0xd0], rdi
mov byte [rsp + 0xd8], bl
mov byte [rsp + 0xd9], r14b
lea rcx, [rsp + 0x480]
lea rdx, [rsp + 0x1c0]
call fcn.005a4570
movzx edi, byte [rsp + 0x480]
cmp dil, 3
jne 0x593bcc
lea rcx, [rsp + 0xd0]
call fcn.00592550
mov qword [rsp + 0x220], 3
mov byte [rsp + 0x228], 3
jmp 0x593d41
mov qword [rsp + 0x40], rbp
movzx ebx, byte [rsp + 0x481]
movzx r14d, byte [rsp + 0x482]
movups xmm0, xmmword [rsp + 0x483]
movaps xmmword [rsp + 0x4e0], xmm0
movups xmm0, xmmword [rsp + 0x493]
movaps xmmword [rsp + 0x4f0], xmm0
movups xmm0, xmmword [rsp + 0x4a3]
movaps xmmword [rsp + 0x500], xmm0
movups xmm0, xmmword [rsp + 0x4b3]
movaps xmmword [rsp + 0x510], xmm0
movups xmm0, xmmword [rsp + 0x4c3]
movaps xmmword [rsp + 0x520], xmm0
mov rax, qword [rsp + 0x4d0]
mov qword [rsp + 0x52d], rax
lea rcx, [rsp + 0x130]
call fcn.004491e0
mov byte [rsp + 0x130], dil
mov byte [rsp + 0x131], bl
mov byte [rsp + 0x132], r14b
movaps xmm0, xmmword [rsp + 0x4e0]
movdqa xmm1, xmmword [rsp + 0x4f0]
movdqa xmm2, xmmword [rsp + 0x500]
movdqa xmm3, xmmword [rsp + 0x510]
movups xmmword [rsp + 0x133], xmm0
movdqu xmmword [rsp + 0x143], xmm1
movdqu xmmword [rsp + 0x153], xmm2
movdqu xmmword [rsp + 0x163], xmm3
movdqa xmm0, xmmword [rsp + 0x520]
movdqu xmmword [rsp + 0x173], xmm0
mov rax, qword [rsp + 0x52d]
mov qword [rsp + 0x180], rax
mov rdi, qword [rsp + 0xd0]
movzx ebx, byte [rsp + 0xd8]
movzx r14d, byte [rsp + 0xd9]
lea rcx, [rsp + 0x3a0]
mov r8d, 0xd6
lea rdx, [rsp + 0xda]
call sub.msvcrt.dll_memcpy
mov r8d, 0xd6
lea rbp, [rsp + 0x22a]
mov rcx, rbp
lea rdx, [rsp + 0x3a0]
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x220], rdi
mov byte [rsp + 0x228], bl
mov byte [rsp + 0x229], r14b
cmp rdi, 3
jne 0x593dce
mov rax, qword [rsp + 0x48]
mov word [rax + 8], 0x100
mov ecx, dword [rsp + 0x30]
mov dword [rax + 0xc], ecx
mov dword [rax + 0x10], 1
mov qword [rax], 3
xor ebp, ebp
mov ebx, dword [rsp + 0x3c]
movzx edi, byte [rsp + 0x2f]
jmp 0x59347f
mov rax, qword [rsp + 0x48]
mov word [rax + 8], 0x100
mov ecx, dword [rsp + 0x30]
mov dword [rax + 0xc], ecx
mov dword [rax + 0x10], 1
xor r15d, r15d
jmp 0x5932be
mov rax, qword [rsp + 0x48]
mov word [rax + 8], 0x100
mov dword [rax + 0xc], ebp
mov dword [rax + 0x10], 1
movaps xmm0, xmmword [rsp + 0x300]
movups xmmword [rax + 0x14], xmm0
movdqu xmm0, xmmword [rsp + 0x30c]
movdqu xmmword [rax + 0x20], xmm0
xor r15d, r15d
movzx edi, byte [rsp + 0x2f]
jmp 0x5932be
lea rcx, [rsp + 0xda]
mov r8d, 0xd6
mov rdx, rbp
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0xd0], rdi
mov byte [rsp + 0xd8], bl
mov byte [rsp + 0xd9], r14b
lea rcx, [rsp + 0xd0]
call fcn.006c63a0
mov rax, qword [rsp + 0xc8]
movups xmm0, xmmword [rax + 0x50]
movaps xmmword [rsp + 0x120], xmm0
movups xmm0, xmmword [rax + 0x40]
movaps xmmword [rsp + 0x110], xmm0
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movdqu xmm2, xmmword [rax + 0x20]
movdqu xmm3, xmmword [rax + 0x30]
movdqa xmmword [rsp + 0x100], xmm3
movdqa xmmword [rsp + 0xf0], xmm2
movdqa xmmword [rsp + 0xe0], xmm1
movdqa xmmword [rsp + 0xd0], xmm0
lea rdx, [rsp + 0xd0]
mov r8d, 0xe0
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_memcpy
cmp qword [rsp + 0x50], 0
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jne 0x593ea8
mov rax, qword [rsp + 0x1b8]
mov rax, qword [rax]
test rax, rax
je 0x593ea8
lea rcx, [rsi + 0x30]
mov rdx, qword [rsi + 0x20]
mov r8, qword [rsi + 0x28]
call qword [rax + 0x20]
test rdi, rdi
mov rdi, qword [rsp + 0xb8]
jne 0x593ecc
mov rax, qword [rbx]
test rax, rax
je 0x593ecc
lea rcx, [rsi + 0x50]
mov rdx, qword [rsi + 0x40]
mov r8, qword [rsi + 0x48]
call qword [rax + 0x20]
mov rax, qword [rsi + 0x58]
test rax, rax
sete cl
mov edx, dword [rsp + 0xc0]
or dl, cl
jne 0x593ef0
lea rcx, [rsi + 0x70]
mov rdx, qword [rsi + 0x60]
mov r8, qword [rsi + 0x68]
call qword [rax + 0x20]
test rdi, rdi
je 0x593511
jmp 0x593532
mov ecx, 8
mov edx, 0x20
call fcn.00522ef0
jmp 0x593f59
lea rcx, [0x007025a8]
call fcn.005722f0
jmp 0x593f59
mov ecx, 8
mov edx, 0x20
call fcn.00522ef0
jmp 0x593f59
mov dword [rsp + 0x3c], ebx
mov ecx, 8
mov edx, 0x20
call fcn.00522ef0
jmp 0x593f59
call fcn.00522eb0
jmp 0x593f59
mov ecx, 1
mov rdx, qword [rsp + 0x40]
call fcn.00522e90
ud2