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

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0xa0
mov rsi, qword [rdx + 0x10]
xor r14d, r14d
mov dword [rsp + 0x68], r14d
mov r13d, r14d
mov qword [rsp + 0x78], rsi
mov r15, rdx
mov rdi, rcx
call fcn.140058920
test eax, eax
jne 0x14005a535
mov qword [rsp + 0x98], rbx
mov rdx, r15
mov qword [rsp + 0x90], rbp
mov rcx, rdi
mov qword [rsp + 0x88], r12
call fcn.1400308e0
mov qword [rsp + 0x70], rax
mov rax, qword [r15 + 0x10]
movzx ecx, byte [rax]
cmp cl, 0x9a
jne 0x140059272
movzx ecx, byte [rax + 0x36]
cmp cl, 0x9b
jne 0x140059280
mov rcx, qword [rax + 0x20]
mov r12d, dword [rcx]
jmp 0x140059297
cmp cl, 0x78
jne 0x140059291
mov rax, qword [rax + 0x20]
mov rcx, qword [rax]
mov r12d, dword [rcx]
jmp 0x140059297
mov r12d, 1
mov rcx, qword [rdi]
movsxd rbp, r12d
mov dword [rsp + 0x48], r12d
mov qword [rsp + 0x50], rbp
lea rbx, [rbp*4 + 1]
add rbx, rbp
test rcx, rcx
je 0x1400592c1
mov rdx, rbx
call fcn.140055480
jmp 0x1400592c9
mov rcx, rbx
call fcn.140067eb0
mov qword [rsp + 0x60], rax
mov rcx, rax
test rax, rax
je 0x1400592e5
mov r8, rbx
xor edx, edx
call fcn.1400c71f0
mov rcx, qword [rsp + 0x60]
mov rax, qword [rdi]
cmp byte [rax + 0x61], r13b
jne 0x14005a3c3
mov r8d, dword [rsp + 0xe0]
lea r9, [rsp + 0x68]
cmp r8d, dword [rsp + 0xe8]
mov rdx, r15
mov rbx, qword [rdi + 0x10]
mov r8d, 3
mov qword [rsp + 0x20], rcx
cmove r9, r14
mov rcx, rdi
call fcn.14005db40
inc dword [rdi + 0x48]
lea r8, [rsp + 0x6c]
mov rdx, rsi
mov dword [rsp + 0x44], eax
mov rcx, rdi
mov r15d, eax
call fcn.1400303b0
mov r8, qword [rsp + 0x60]
mov r9d, eax
mov dword [rsp + 0x6c], eax
mov edx, r14d
mov rcx, r14
test r12d, r12d
jle 0x140059366
cmp dword [r8 + rcx*4], edx
jne 0x140059366
inc edx
inc rcx
cmp rcx, rbp
jl 0x140059356
cmp edx, r12d
jne 0x140059378
mov r12d, r9d
mov dword [rsp + 0x40], r9d
jmp 0x140059467
cmp r12d, 1
jne 0x1400593a7
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x140059392
inc dword [rdi + 0x38]
mov eax, dword [rdi + 0x38]
mov dword [rsp + 0x40], eax
jmp 0x1400593d5
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov eax, dword [rdi + rax*4 + 0x18c]
mov dword [rsp + 0x40], eax
jmp 0x1400593d5
mov ecx, dword [rdi + 0x28]
mov edx, dword [rdi + 0x2c]
mov dword [rsp + 0x40], edx
cmp r12d, ecx
jg 0x1400593c5
lea eax, [rdx + r12]
sub ecx, r12d
mov dword [rdi + 0x2c], eax
mov dword [rdi + 0x28], ecx
jmp 0x1400593d5
mov eax, dword [rdi + 0x38]
lea ecx, [rax + 1]
add eax, r12d
mov dword [rdi + 0x38], eax
mov dword [rsp + 0x40], ecx
mov rsi, r14
test r12d, r12d
jle 0x140059462
mov r12, qword [rsp + 0x50]
mov ebp, r9d
mov r15d, dword [rsp + 0x40]
nop
mov rax, qword [rbx + 0x18]
mov edx, dword [r8 + rsi*4]
movsxd rcx, dword [rbx + 0xb8]
add edx, r15d
cmp dword [rax + 0x3c], ecx
jg 0x140059426
mov r9d, edx
mov dword [rsp + 0x20], r14d
mov edx, 0x4b
mov r8d, ebp
mov rcx, rbx
call fcn.140038220
mov r8, qword [rsp + 0x60]
jmp 0x140059450
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
inc ebp
inc rsi
cmp rsi, r12
jl 0x1400593f0
mov r15d, dword [rsp + 0x44]
mov rbp, r12
mov r12d, dword [rsp + 0x40]
cmp r15d, 5
jne 0x1400599d0
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rcx + 0x20]
mov rdx, qword [rcx + 0x10]
mov rcx, rdi
mov qword [rsp + 0x50], rax
call fcn.14005b920
mov rsi, qword [rbx + 0x18]
mov r15, rax
movsxd r13, dword [rsi + 0x50]
lea ecx, [r13 + 1]
mov dword [rsi + 0x50], ecx
lea ecx, [r13 - 1]
test r13d, ecx
jne 0x1400594c8
mov rdx, qword [rsi + 0x58]
lea ecx, [r13*2 + 1]
movsxd r8, ecx
mov rcx, qword [rsi]
shl r8, 2
call fcn.140055590
mov qword [rsi + 0x58], rax
mov rcx, qword [rsi + 0x58]
test rcx, rcx
je 0x1400594dc
mov rax, r13
mov dword [rcx + r13*4], 0xffffffff
mov esi, dword [rsp + 0xe0]
not r13d
mov ebp, r14d
mov dword [rsp + 0xd8], r13d
cmp dword [rsp + 0xe8], esi
je 0x14005956d
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x14005950a
inc dword [rdi + 0x38]
mov ebp, dword [rdi + 0x38]
jmp 0x140059519
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov ebp, dword [rdi + rax*4 + 0x18c]
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140059542
mov r9d, r12d
mov dword [rsp + 0x20], ebp
mov r8d, r12d
mov edx, 0x55
mov rcx, rbx
call fcn.140038220
jmp 0x14005956d
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x55
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], r14
mov rax, qword [rsp + 0x50]
mov r12d, r14d
cmp dword [rax], r14d
jle 0x1400598a2
lea r13, [rax + 8]
mov rdx, qword [r13]
lea r8, [rsp + 0x58]
mov rcx, rdi
call fcn.14005b7f0
mov esi, eax
test ebp, ebp
je 0x140059655
mov rdx, qword [r13]
movzx ecx, byte [rdx]
add cl, 0x69
cmp cl, 1
ja 0x1400595b2
mov rdx, qword [rdx + 0x10]
jmp 0x1400595a1
movzx eax, byte [rdx]
cmp al, 0x9a
jne 0x1400595bd
movzx eax, byte [rdx + 0x36]
cmp al, 0x63
je 0x140059655
cmp al, 0x85
jbe 0x140059603
cmp al, 0x88
jbe 0x140059655
cmp al, 0x94
jne 0x140059603
test dword [rdx + 4], 0x100000
jne 0x140059603
mov r8, qword [rdx + 0x40]
test r8, r8
je 0x140059603
movzx eax, word [rdx + 0x30]
test ax, ax
js 0x140059655
movsx rcx, ax
mov rax, qword [r8 + 8]
shl rcx, 5
cmp byte [rcx + rax + 0x18], r14b
jne 0x140059655
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14005962c
mov r9d, esi
mov dword [rsp + 0x20], ebp
mov r8d, ebp
mov edx, 0x55
mov rcx, rbx
call fcn.140038220
jmp 0x140059655
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x55
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], r14
mov rax, qword [rsp + 0x50]
mov eax, dword [rax]
dec eax
cmp r12d, eax
jl 0x140059750
mov r9d, dword [rsp + 0xe0]
cmp dword [rsp + 0xe8], r9d
jne 0x140059750
mov rax, qword [rbx + 0x18]
movsxd rdx, dword [rbx + 0xb8]
mov r8d, dword [rsp + 0x40]
cmp dword [rax + 0x3c], edx
jg 0x1400596a7
mov edx, 0x34
mov dword [rsp + 0x20], esi
mov rcx, rbx
call fcn.140038220
mov edx, eax
jmp 0x1400596d2
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x34
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], r14
mov rcx, qword [rbx]
cmp byte [rcx + 0x61], r14b
je 0x1400596ea
mov r8, r15
mov edx, 0xfffffffe
call fcn.140034c90
jmp 0x14005972c
test edx, edx
jns 0x1400596f6
mov edx, dword [rbx + 0xb8]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
cmp byte [rax + rcx*8 + 1], r14b
lea rdx, [rax + rcx*8]
je 0x14005971f
mov r9d, 0xfffffffe
mov r8, r15
mov rcx, rbx
call fcn.140092010
jmp 0x14005972c
test r15, r15
je 0x14005972c
mov qword [rdx + 0x10], r15
mov byte [rdx + 1], 0xfe
mov ecx, dword [rbx + 0xb8]
test ecx, ecx
jle 0x140059835
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax]
or al, 0x10
movsx r8d, al
lea eax, [rcx - 1]
jmp 0x140059824
mov rax, qword [rbx + 0x18]
movsxd rdx, dword [rbx + 0xb8]
mov r8d, dword [rsp + 0x40]
cmp dword [rax + 0x3c], edx
jg 0x140059782
mov r9d, dword [rsp + 0xd8]
mov edx, 0x35
mov rcx, rbx
mov dword [rsp + 0x20], esi
call fcn.140038220
mov edx, eax
jmp 0x1400597b5
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8 + 4], r8d
mov r8d, dword [rsp + 0xd8]
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8], 0x35
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], r14
mov rcx, qword [rbx]
cmp byte [rcx + 0x61], r14b
je 0x1400597cd
mov r8, r15
mov edx, 0xfffffffe
call fcn.140034c90
jmp 0x14005980f
test edx, edx
jns 0x1400597d9
mov edx, dword [rbx + 0xb8]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
cmp byte [rax + rcx*8 + 1], r14b
lea rdx, [rax + rcx*8]
je 0x140059802
mov r9d, 0xfffffffe
mov r8, r15
mov rcx, rbx
call fcn.140092010
jmp 0x14005980f
test r15, r15
je 0x14005980f
mov qword [rdx + 0x10], r15
mov byte [rdx + 1], 0xfe
mov eax, dword [rbx + 0xb8]
test eax, eax
jle 0x140059835
mov rcx, qword [rsp + 0x70]
dec eax
movsx r8d, byte [rcx]
movsxd rcx, eax
mov rax, qword [rbx + 0x68]
lea rdx, [rcx + rcx*2]
mov word [rax + rdx*8 + 2], r8w
mov edx, dword [rsp + 0x58]
test edx, edx
je 0x14005987e
movzx r9d, byte [rdi + 0x1f]
cmp r9b, 8
jae 0x14005987e
movzx r8d, byte [rdi + 0x25]
lea rax, [rdi + 0xc4]
mov ecx, r14d
test r8d, r8d
je 0x140059870
nop dword [rax]
cmp dword [rax + 0xc], edx
je 0x1400598d9
inc ecx
add rax, 0x14
cmp ecx, r8d
jl 0x140059860
movzx eax, r9b
mov dword [rdi + rax*4 + 0x18c], edx
inc byte [rdi + 0x1f]
mov rax, qword [rsp + 0x50]
inc r12d
add r13, 0x28
cmp r12d, dword [rax]
jl 0x140059582
mov r13d, dword [rsp + 0xd8]
mov esi, dword [rsp + 0xe0]
test ebp, ebp
je 0x140059960
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x1400598df
mov r9d, dword [rsp + 0xe8]
mov r8d, ebp
mov edx, 0x32
mov dword [rsp + 0x20], r14d
mov rcx, rbx
call fcn.140038220
jmp 0x140059910
mov byte [rax + 6], 1
jmp 0x14005987e
mov edx, dword [rsp + 0xe8]
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x32
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140059939
xor r8d, r8d
mov dword [rsp + 0x20], r14d
mov r9d, esi
mov rcx, rbx
lea edx, [r8 + 0xd]
call fcn.140038220
jmp 0x140059960
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14005997c
mov eax, dword [rbx + 0xb8]
not r13d
movsxd rcx, r13d
mov dword [rdx + rcx*4], eax
test ebp, ebp
je 0x14005a2fb
movzx r8d, byte [rdi + 0x1f]
cmp r8b, 8
jae 0x14005a2fb
movzx edx, byte [rdi + 0x25]
lea rax, [rdi + 0xc4]
mov ecx, r14d
test edx, edx
je 0x1400599b4
cmp dword [rax + 0xc], ebp
je 0x1400599c7
inc ecx
add rax, 0x14
cmp ecx, edx
jl 0x1400599a5
movzx eax, r8b
mov dword [rdi + rax*4 + 0x18c], ebp
inc byte [rdi + 0x1f]
jmp 0x14005a2fb
mov byte [rax + 6], 1
jmp 0x14005a2fb
mov eax, dword [rsp + 0xe0]
cmp dword [rsp + 0xe8], eax
jne 0x1400599e5
mov r12d, eax
jmp 0x140059a36
mov rsi, qword [rbx + 0x18]
movsxd r13, dword [rsi + 0x50]
lea eax, [r13 + 1]
mov dword [rsi + 0x50], eax
lea eax, [r13 - 1]
test r13d, eax
jne 0x140059a1c
mov rdx, qword [rsi + 0x58]
lea eax, [r13*2 + 1]
mov rcx, qword [rsi]
movsxd r8, eax
shl r8, 2
call fcn.140055590
mov qword [rsi + 0x58], rax
mov rcx, qword [rsi + 0x58]
test rcx, rcx
je 0x140059a30
mov rax, r13
mov dword [rcx + r13*4], 0xffffffff
not r13d
mov r12d, r13d
test rbp, rbp
jle 0x140059b87
mov ebp, dword [rsp + 0x40]
mov rsi, r14
mov r15, qword [rsp + 0x50]
mov rdi, qword [rsp + 0xd8]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rdi + 0x10]
movzx r8d, byte [rcx]
movzx eax, r8b
cmp r8b, 0x9a
jne 0x140059a76
movzx eax, byte [rcx + 0x36]
cmp al, 0x9b
jne 0x140059a82
mov rdx, qword [rcx + 0x20]
mov eax, dword [rdx]
jmp 0x140059a8f
cmp al, 0x78
jne 0x140059ab0
mov rdx, qword [rcx + 0x20]
mov rax, qword [rdx]
mov eax, dword [rax]
cmp eax, 1
jle 0x140059ab0
cmp r8b, 0x78
je 0x140059aa7
cmp byte [rcx + 0x36], 0x78
je 0x140059aa7
mov rcx, qword [rdx + rsi + 8]
jmp 0x140059ab0
mov rax, qword [rdx]
mov rcx, qword [rax + rsi + 8]
nop
movzx eax, byte [rcx]
add al, 0x69
cmp al, 1
ja 0x140059abf
mov rcx, qword [rcx + 0x10]
jmp 0x140059ab0
movzx eax, byte [rcx]
cmp al, 0x9a
jne 0x140059aca
movzx eax, byte [rcx + 0x36]
cmp al, 0x63
je 0x140059b65
cmp al, 0x85
jbe 0x140059b10
cmp al, 0x88
jbe 0x140059b65
cmp al, 0x94
jne 0x140059b10
test dword [rcx + 4], 0x100000
jne 0x140059b10
mov rdx, qword [rcx + 0x40]
test rdx, rdx
je 0x140059b10
movzx eax, word [rcx + 0x30]
test ax, ax
js 0x140059b65
movsx rcx, ax
mov rax, qword [rdx + 8]
shl rcx, 5
cmp byte [rcx + rax + 0x18], r14b
jne 0x140059b65
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140059b3a
mov r9d, r12d
mov dword [rsp + 0x20], r14d
mov r8d, ebp
mov edx, 0x32
mov rcx, rbx
call fcn.140038220
jmp 0x140059b65
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x32
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
inc ebp
add rsi, 0x28
sub r15, 1
jne 0x140059a60
mov rdi, qword [rsp + 0xd0]
mov r15d, dword [rsp + 0x44]
mov rbp, qword [rsp + 0x50]
cmp r15d, 1
jne 0x140059c6c
mov rax, qword [rbx + 0x18]
mov rsi, qword [rsp + 0xd8]
movsxd rcx, dword [rbx + 0xb8]
mov edx, dword [rsi + 0x2c]
cmp dword [rax + 0x3c], ecx
jg 0x140059bd0
mov r15d, dword [rsp + 0x40]
mov r8d, edx
mov r9d, dword [rsp + 0xe0]
mov edx, 0x1f
mov rcx, rbx
mov dword [rsp + 0x20], r15d
call fcn.140038220
jmp 0x140059c06
mov r8d, dword [rsp + 0xe0]
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x40]
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8], 0x1f
mov dword [rax + rcx*8 + 8], r8d
mov qword [rax + rcx*8 + 0x10], r14
movsxd rdx, dword [rbx + 0xb8]
mov rax, qword [rbx + 0x18]
mov dword [rsp + 0x44], edx
cmp dword [rax + 0x3c], edx
jg 0x140059c3f
xor r9d, r9d
mov dword [rsp + 0x20], r14d
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0xd]
call fcn.140038220
mov r12d, dword [rsp + 0x48]
mov dword [rsp + 0x44], eax
jmp 0x140059dc3
mov r12d, dword [rsp + 0x48]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], 0xd
mov qword [rax + rcx*8 + 8], r14
mov qword [rax + rcx*8 + 0x10], r14
jmp 0x140059dc3
mov r12d, dword [rsp + 0x48]
mov edx, 0x64
mov rax, qword [rsp + 0x70]
mov r9d, r12d
mov r15d, dword [rsp + 0x40]
mov rcx, rbx
mov dword [rsp + 0x30], r12d
mov r8d, r15d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
call fcn.14007b3a0
mov r9d, dword [rsp + 0xe0]
cmp r9d, dword [rsp + 0xe8]
jne 0x140059d38
mov rax, qword [rsp + 0xd8]
movsxd rdx, dword [rbx + 0xb8]
mov r8d, dword [rax + 0x2c]
mov rax, qword [rbx + 0x18]
cmp dword [rax + 0x3c], edx
jg 0x140059ce5
mov edx, 0x1d
mov dword [rsp + 0x20], r15d
mov rcx, rbx
call fcn.140038220
mov edx, eax
jmp 0x140059d11
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x1d
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r14
mov rax, qword [rbx]
cmp byte [rax + 0x61], r14b
jne 0x14005a2fb
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], r12d
jmp 0x14005a2fb
movsxd r8, dword [rbx + 0xb8]
mov rax, qword [rbx + 0x18]
mov rsi, qword [rsp + 0xd8]
mov dword [rsp + 0x44], r8d
mov edx, dword [rsi + 0x2c]
cmp dword [rax + 0x3c], r8d
jg 0x140059d79
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, edx
mov rcx, rbx
lea edx, [r9 + 0x1e]
call fcn.140038220
mov r8d, eax
mov dword [rsp + 0x44], eax
jmp 0x140059da5
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x1e
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r14
mov rax, qword [rbx]
cmp byte [rax + 0x61], r14b
jne 0x140059dc3
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], r12d
mov edx, dword [rsp + 0x68]
test edx, edx
je 0x140059dfe
cmp r12d, 1
jne 0x140059dfe
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
mov r9d, dword [rsp + 0xe0]
cmp dword [rax + 0x3c], ecx
jg 0x140059e42
mov r8d, edx
mov dword [rsp + 0x20], r14d
lea edx, [r12 + 0x32]
mov rcx, rbx
call fcn.140038220
mov r9d, dword [rsp + 0xe0]
cmp r9d, dword [rsp + 0xe8]
jne 0x140059e97
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140059e6f
xor r8d, r8d
mov dword [rsp + 0x20], r14d
mov rcx, rbx
lea edx, [r8 + 0xd]
call fcn.140038220
mov r9d, dword [rsp + 0xe0]
jmp 0x140059e97
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x33
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
jmp 0x140059e06
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
test r13d, r13d
je 0x140059eb8
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x140059eb8
mov eax, dword [rbx + 0xb8]
not r13d
movsxd rcx, r13d
mov dword [rdx + rcx*4], eax
movsxd r8, dword [rbx + 0xb8]
mov rax, qword [rbx + 0x18]
mov edx, dword [rsi + 0x2c]
mov dword [rsp + 0x58], r8d
cmp dword [rax + 0x3c], r8d
jg 0x140059ef4
mov r8d, edx
mov dword [rsp + 0x20], r14d
mov edx, 0x25
mov rcx, rbx
call fcn.140038220
mov r9d, dword [rsp + 0xe0]
mov dword [rsp + 0x58], eax
jmp 0x140059f20
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x25
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
cmp r12d, 1
jle 0x140059f76
mov rsi, qword [rbx + 0x18]
movsxd r13, dword [rsi + 0x50]
lea eax, [r13 + 1]
mov dword [rsi + 0x50], eax
lea eax, [r13 - 1]
test r13d, eax
jne 0x140059f5d
mov rdx, qword [rsi + 0x58]
lea eax, [r13*2 + 1]
mov rcx, qword [rsi]
movsxd r8, eax
shl r8, 2
call fcn.140055590
mov qword [rsi + 0x58], rax
mov rcx, qword [rsi + 0x58]
test rcx, rcx
je 0x140059f71
mov rax, r13
mov dword [rcx + r13*4], 0xffffffff
not r13d
jmp 0x140059f79
mov r13d, r9d
mov r15d, r14d
test rbp, rbp
jle 0x14005a17c
mov r12, r14
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x140059f98
inc dword [rdi + 0x38]
mov ebp, dword [rdi + 0x38]
jmp 0x140059fa7
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov ebp, dword [rdi + rax*4 + 0x18c]
mov r8, qword [rsp + 0x78]
movzx edx, byte [r8]
movzx eax, dl
cmp dl, 0x9a
jne 0x140059fbd
movzx eax, byte [r8 + 0x36]
cmp al, 0x9b
jne 0x140059fc9
mov rcx, qword [r8 + 0x20]
mov eax, dword [rcx]
jmp 0x140059fd6
cmp al, 0x78
jne 0x140059ff8
mov rcx, qword [r8 + 0x20]
mov rax, qword [rcx]
mov eax, dword [rax]
cmp eax, 1
jle 0x140059ff8
cmp dl, 0x78
je 0x140059fee
cmp byte [r8 + 0x36], 0x78
je 0x140059fee
mov rdx, qword [rcx + r12 + 8]
jmp 0x140059ffb
mov rax, qword [rcx]
mov rdx, qword [r12 + rax + 8]
jmp 0x140059ffb
mov rdx, r8
mov rcx, rdi
call fcn.14005b920
mov rcx, qword [rbx + 0x18]
mov rsi, rax
mov rax, qword [rsp + 0xd8]
movsxd rdx, dword [rbx + 0xb8]
mov r8d, dword [rax + 0x2c]
cmp dword [rcx + 0x3c], edx
jg 0x14005a038
mov r9d, r15d
mov dword [rsp + 0x20], ebp
mov edx, 0x62
mov rcx, rbx
call fcn.140038220
jmp 0x14005a063
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x62
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], r14
mov rax, qword [rbx + 0x18]
movsxd r8, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], r8d
jg 0x14005a095
mov r8d, dword [rsp + 0x40]
mov r9d, r13d
add r8d, r15d
mov dword [rsp + 0x20], ebp
mov edx, 0x34
mov rcx, rbx
call fcn.140038220
mov r8d, eax
jmp 0x14005a0c9
lea eax, [r8 + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [r8 + r8*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x34
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], ebp
lea rdx, [rax + rcx*8]
mov eax, dword [rsp + 0x40]
add eax, r15d
mov qword [rdx + 0x10], r14
mov dword [rdx + 4], eax
mov rcx, qword [rbx]
cmp byte [rcx + 0x61], r14b
je 0x14005a0e1
mov r8, rsi
mov edx, 0xfffffffe
call fcn.140034c90
jmp 0x14005a126
test r8d, r8d
jns 0x14005a0f0
mov r8d, dword [rbx + 0xb8]
dec r8d
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
cmp byte [rax + rcx*8 + 1], r14b
lea rdx, [rax + rcx*8]
je 0x14005a119
mov r9d, 0xfffffffe
mov r8, rsi
mov rcx, rbx
call fcn.140092010
jmp 0x14005a126
test rsi, rsi
je 0x14005a126
mov qword [rdx + 0x10], rsi
mov byte [rdx + 1], 0xfe
test ebp, ebp
je 0x14005a164
movzx r8d, byte [rdi + 0x1f]
cmp r8b, 8
jae 0x14005a164
movzx edx, byte [rdi + 0x25]
lea rax, [rdi + 0xc4]
mov ecx, r14d
test edx, edx
je 0x14005a156
cmp dword [rax + 0xc], ebp
je 0x14005a1aa
inc ecx
add rax, 0x14
cmp ecx, edx
jl 0x14005a147
movzx eax, r8b
mov dword [rdi + rax*4 + 0x18c], ebp
inc byte [rdi + 0x1f]
inc r15d
add r12, 0x28
sub qword [rsp + 0x50], 1
jne 0x140059f88
mov r12d, dword [rsp + 0x48]
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14005a1b0
mov r9d, dword [rsp + 0xe8]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], r14d
lea edx, [r8 + 0xd]
call fcn.140038220
jmp 0x14005a1de
mov byte [rax + 6], 1
jmp 0x14005a164
mov edx, dword [rsp + 0xe8]
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
cmp r12d, 1
jle 0x14005a2c6
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14005a204
mov eax, dword [rbx + 0xb8]
not r13d
movsxd rcx, r13d
mov dword [rdx + rcx*4], eax
mov rax, qword [rsp + 0xd8]
mov edx, dword [rsp + 0x58]
movsxd rcx, dword [rbx + 0xb8]
inc edx
mov r8d, dword [rax + 0x2c]
mov rax, qword [rbx + 0x18]
cmp dword [rax + 0x3c], ecx
jg 0x14005a23d
mov r9d, edx
mov dword [rsp + 0x20], r14d
mov edx, 7
mov rcx, rbx
call fcn.140038220
jmp 0x14005a268
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 7
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14005a296
mov r9d, dword [rsp + 0xe0]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], r14d
lea edx, [r8 + 0xd]
call fcn.140038220
jmp 0x14005a2c6
mov r8d, dword [rsp + 0xe0]
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r14
mov ecx, dword [rsp + 0x44]
mov edx, dword [rbx + 0xb8]
test ecx, ecx
jns 0x14005a2d7
lea ecx, [rdx - 1]
mov rax, qword [rbx]
cmp byte [rax + 0x61], r14b
je 0x14005a2e9
lea rax, [0x1401f0030]
jmp 0x14005a2f8
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov r9d, dword [rsp + 0x40]
cmp r9d, dword [rsp + 0x6c]
je 0x14005a34f
test r9d, r9d
je 0x14005a34f
movzx r8d, byte [rdi + 0x1f]
cmp r8b, 8
jae 0x14005a34f
movzx edx, byte [rdi + 0x25]
lea rax, [rdi + 0xc4]
mov ecx, r14d
test edx, edx
je 0x14005a340
nop dword [rax]
cmp dword [rax + 0xc], r9d
je 0x14005a3ad
inc ecx
add rax, 0x14
cmp ecx, edx
jl 0x14005a330
movzx eax, r8b
mov dword [rdi + rax*4 + 0x18c], r9d
inc byte [rdi + 0x1f]
dec dword [rdi + 0x48]
cmp byte [rdi + 0x25], r14b
jbe 0x14005a3c3
lea rdx, [rdi + 0xca]
nop
mov eax, dword [rdi + 0x48]
cmp dword [rdx + 2], eax
jle 0x14005a3b3
cmp byte [rdx], 0
je 0x14005a385
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x14005a385
movzx ecx, al
mov eax, dword [rdx + 6]
mov dword [rdi + rcx*4 + 0x18c], eax
inc byte [rdi + 0x1f]
dec byte [rdi + 0x25]
movzx eax, byte [rdi + 0x25]
cmp r14d, eax
jge 0x14005a3ba
lea rcx, [rax + rax*4]
movups xmm0, xmmword [rdi + rcx*4 + 0xc4]
movups xmmword [rdx - 6], xmm0
mov eax, dword [rdi + rcx*4 + 0xd4]
mov dword [rdx + 0xa], eax
jmp 0x14005a3ba
mov byte [rax + 6], 1
jmp 0x14005a34f
inc r14d
add rdx, 0x14
movzx eax, byte [rdi + 0x25]
cmp r14d, eax
jl 0x14005a360
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rdi]
mov r12, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x90]
test rbx, rbx
je 0x14005a480
test rcx, rcx
je 0x14005a425
cmp qword [rcx + 0x2a8], 0
je 0x14005a400
mov rdx, rbx
call fcn.14003b520
jmp 0x14005a480
cmp rbx, qword [rcx + 0x190]
jb 0x14005a425
cmp rbx, qword [rcx + 0x198]
jae 0x14005a425
mov rax, qword [rcx + 0x188]
mov qword [rbx], rax
mov qword [rcx + 0x188], rbx
jmp 0x14005a480
cmp dword [0x1401c9170], 0
je 0x14005a477
mov rcx, qword [0x1401efbc0]
test rcx, rcx
je 0x14005a440
call qword [0x1401c9200]
mov rcx, rbx
call qword [0x1401c91b8]
dec qword [0x1401efd18]
movsxd rcx, eax
sub qword [0x1401efcd0], rcx
mov rcx, rbx
call qword [0x1401c91a8]
mov rcx, qword [0x1401efbc0]
test rcx, rcx
je 0x14005a480
call qword [0x1401c9210]
jmp 0x14005a480
mov rcx, rbx
call qword [0x1401c91a8]
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rdi]
test rbx, rbx
je 0x14005a52d
test rcx, rcx
je 0x14005a4d2
cmp qword [rcx + 0x2a8], 0
je 0x14005a4ad
mov rdx, rbx
call fcn.14003b520
jmp 0x14005a52d
cmp rbx, qword [rcx + 0x190]
jb 0x14005a4d2
cmp rbx, qword [rcx + 0x198]
jae 0x14005a4d2
mov rax, qword [rcx + 0x188]
mov qword [rbx], rax
mov qword [rcx + 0x188], rbx
jmp 0x14005a52d
cmp dword [0x1401c9170], 0
je 0x14005a524
mov rcx, qword [0x1401efbc0]
test rcx, rcx
je 0x14005a4ed
call qword [0x1401c9200]
mov rcx, rbx
call qword [0x1401c91b8]
dec qword [0x1401efd18]
movsxd rcx, eax
sub qword [0x1401efcd0], rcx
mov rcx, rbx
call qword [0x1401c91a8]
mov rcx, qword [0x1401efbc0]
test rcx, rcx
je 0x14005a52d
call qword [0x1401c9210]
jmp 0x14005a52d
mov rcx, rbx
call qword [0x1401c91a8]
mov rbx, qword [rsp + 0x98]
add rsp, 0xa0
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret