Function at 0x466600
Capabilities:
Reference sql statements
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, 0xe8
movaps xmmword [rsp + 0xd0], xmm6
mov rsi, rdx
mov r15, rcx
cmp byte [rdx + 0x65], 0
je 0x46666b
cmp dword [rsi + 0xd8], 2
jl 0x4666bb
mov edx, 0x2b
mov rcx, rsi
call fcn.00429840
mov rbx, rax
test rax, rax
je 0x4666a3
movups xmm0, xmmword [0x005fdb0a]
movups xmmword [rbx + 0x1b], xmm0
movups xmm0, xmmword [0x005fdaff]
movups xmmword [rbx + 0x10], xmm0
movups xmm0, xmmword [0x005fdaef]
movups xmmword [rbx], xmm0
jmp 0x4666a3
mov edx, 0x28
mov rcx, rsi
call fcn.00429840
mov rbx, rax
test rax, rax
je 0x4666a3
movups xmm0, xmmword [0x005fdad7]
movups xmmword [rbx + 0x10], xmm0
movups xmm0, xmmword [0x005fdac7]
movups xmmword [rbx], xmm0
movabs rax, 0x6e6f6974636173
mov qword [rbx + 0x20], rax
mov rdx, qword [r15]
mov rcx, rsi
call fcn.00408130
mov qword [r15], rbx
mov ebp, 1
jmp 0x466c2f
mov rbx, r9
mov ebp, r8d
mov r13d, dword [rsi + 0x4c]
test r9, r9
je 0x46671a
mov eax, dword [rbx + 0x14]
mov ecx, eax
xor ecx, 0xc0
and ecx, eax
movabs rdx, 0x4000400040004
shr rdx, cl
movabs rcx, 0x7fffffffffffe
xor rcx, rdx
test rcx, rdx
je 0x46673d
mov ecx, eax
xor ecx, 0xfffffdfd
and ecx, eax
movzx ecx, cx
cmp ecx, 0x202
jne 0x466728
cmp byte [rbx + 0x16], 1
jne 0x466728
mov r9, qword [rbx + 8]
mov eax, r13d
jmp 0x46677b
mov qword [rsp + 0x58], rbx
lea r9, [0x005fadb4]
jmp 0x466789
not eax
or eax, 0xfffe
cmp ax, 0xffff
je 0x46676b
xor r9d, r9d
mov eax, r13d
jmp 0x46677b
mov edx, 0x12
mov rcx, rsi
call fcn.00429840
mov rbx, rax
test rax, rax
je 0x4666a3
movups xmm0, xmmword [0x005fdb1a]
movups xmmword [rbx], xmm0
mov word [rbx + 0x10], 0x65
jmp 0x4666a3
mov rcx, rbx
mov dl, 1
call fcn.0044a3f0
mov r9, rax
mov eax, dword [rsi + 0x4c]
mov qword [rsp + 0x58], rbx
or eax, 6
and eax, 0xfffffffe
mov dword [rsi + 0x4c], eax
mov rdi, qword [rsi + 0x30]
mov edx, dword [rsi + 0x2c]
movups xmm6, xmmword [rsi + 0x78]
mov bl, byte [rsi + 0x6e]
mov eax, edx
not eax
and eax, 0x5cb4aec8
mov ecx, edx
and ecx, 0xa34b5137
or ecx, eax
xor ecx, 0x5cb4aece
mov dword [rsp + 0x3c], edx
mov eax, edx
and eax, 6
or eax, ecx
mov dword [rsi + 0x2c], eax
mov qword [rsp + 0x50], rdi
mov rax, rdi
not rax
movabs rcx, 0xfffffffeefffadfe
not rcx
or rcx, rax
not rcx
or rcx, 0x201
mov qword [rsi + 0x30], rcx
mov byte [rsi + 0x6e], 0
mov rax, qword [rsi + 0x20]
movsxd r14, ebp
shl r14, 5
mov rcx, qword [rax + r14]
mov qword [rsp + 0x68], rcx
mov rax, qword [rax + r14 + 8]
mov qword [rsp + 0x40], rax
mov rax, qword [rax + 8]
mov rax, qword [rax]
mov ecx, 1
cmp byte [rax + 0x10], 0
jne 0x466824
xor ecx, ecx
cmp byte [rax + 0x14], 0
setne cl
mov dword [rsp + 0x60], ecx
movsxd r12, dword [rsi + 0x28]
lea r8, [0x005fdb2c]
mov rcx, rsi
mov rdx, r15
call fcn.0047c560
mov dword [rsi + 0x4c], r13d
test eax, eax
je 0x46685d
mov ebp, eax
xor edi, edi
mov eax, dword [rsp + 0x3c]
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x50]
jmp 0x466bda
mov byte [rsp + 0x2f], bl
mov rax, qword [rsi + 0x20]
mov rcx, r12
shl rcx, 5
lea rdx, [rax + rcx]
mov qword [rsp + 0x48], rdx
mov rdi, qword [rax + rcx + 8]
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x4668d7
mov rax, qword [rdi + 8]
mov rax, qword [rax]
mov rcx, qword [rax + 0x48]
mov qword [rsp + 0x80], 0
mov rax, qword [rcx]
test rax, rax
je 0x4668c7
lea rdx, [rsp + 0x80]
call qword [rax + 0x30]
test eax, eax
setne al
cmp qword [rsp + 0x80], 0
setg cl
test al, cl
jne 0x4668f9
xor al, cl
jne 0x4668f9
mov eax, dword [rsi + 0x2c]
mov ecx, eax
and ecx, 8
xor eax, 8
or eax, ecx
mov dword [rsi + 0x2c], eax
mov qword [rsp + 0x30], rdi
mov rdi, qword [rsp + 0x40]
cmp byte [rdi + 0x11], 0
je 0x4668f5
add dword [rdi + 0x14], 1
cmp byte [rdi + 0x12], 0
je 0x466952
xor eax, eax
jmp 0x466961
mov al, 1
jmp 0x466961
mov edx, 0x1b
mov rcx, rsi
call fcn.00429840
mov rbx, rax
test rax, rax
je 0x466923
movups xmm0, xmmword [0x005fdb4e]
movups xmmword [rbx + 0xb], xmm0
movups xmm0, xmmword [0x005fdb43]
movups xmmword [rbx], xmm0
mov rdx, qword [r15]
mov rcx, rsi
call fcn.00408130
mov qword [r15], rbx
mov ebp, 1
mov bl, byte [rsp + 0x2f]
mov eax, dword [rsp + 0x3c]
mov r14, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov r13, qword [rsp + 0x50]
jmp 0x466bda
mov rcx, rdi
call fcn.0043e9d0
cmp byte [rdi + 0x11], 0
sete al
mov rdi, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rcx + 8]
movzx ebx, byte [rdx + 0x26]
mov r13d, dword [rdx + 0x34]
sub r13d, dword [rdx + 0x38]
test al, al
jne 0x46698a
add dword [rcx + 0x14], 0xffffffff
jne 0x46698a
call fcn.0043ea70
cmp r13d, ebx
cmovl r13d, ebx
mov rax, qword [rsi + 0x20]
mov rax, qword [rax + r14 + 0x18]
mov ebp, dword [rax + 0x74]
mov rbx, qword [rdi + 8]
cmp byte [rdi + 0x11], 0
je 0x4669b9
add dword [rdi + 0x14], 1
cmp byte [rdi + 0x12], 0
jne 0x4669b9
mov rcx, rdi
call fcn.0043e9d0
mov rax, qword [rbx]
mov rdx, qword [rax + 0x120]
mov dword [rdx + 0x1c], ebp
mov rcx, qword [rdx + 0x40]
mov r8, qword [0x005f60e0]
test ebp, ebp
mov r14, qword [rsp + 0x40]
jns 0x466a12
movsxd rax, ebp
shl rax, 0xa
mov ebp, dword [rdx + 0x28]
add ebp, dword [rdx + 0x24]
neg rax
movsxd rbx, ebp
mov rdx, rax
or rdx, rbx
shr rdx, 0x20
je 0x466a00
cqo
idiv rbx
jmp 0x466a04
xor edx, edx
div ebp
cmp rax, 0x3b9aca00
mov ebp, 0x3b9aca00
cmovl ebp, eax
mov edx, ebp
call r8
cmp byte [rdi + 0x11], 0
je 0x466a2b
add dword [rdi + 0x14], 0xffffffff
jne 0x466a2b
mov rcx, rdi
call fcn.0043ea70
mov rbx, qword [r14 + 8]
cmp byte [r14 + 0x11], 0
je 0x466a4a
add dword [r14 + 0x14], 1
cmp byte [r14 + 0x12], 0
jne 0x466a4a
mov rcx, r14
call fcn.0043e9d0
mov rax, qword [rbx]
mov rcx, qword [rax + 0x120]
movsxd rbp, dword [rcx + 0x1c]
test rbp, rbp
jns 0x466a97
shl rbp, 0xa
mov ebx, dword [rcx + 0x28]
add ebx, dword [rcx + 0x24]
neg rbp
movsxd r8, ebx
mov rax, rbp
or rax, r8
shr rax, 0x20
je 0x466a83
mov rax, rbp
cqo
idiv r8
jmp 0x466a89
mov eax, ebp
xor edx, edx
div ebx
cmp rax, 0x3b9aca00
mov ebp, 0x3b9aca00
cmovl ebp, eax
mov eax, dword [rcx + 0x20]
cmp ebp, eax
cmovl ebp, eax
cmp byte [r14 + 0x11], 0
je 0x466abe
mov eax, dword [r14 + 0x14]
lea ecx, [rax - 1]
mov dword [r14 + 0x14], ecx
cmp eax, 1
jne 0x466abe
mov rcx, r14
call fcn.0043ea70
mov rbx, qword [rdi + 8]
cmp byte [rdi + 0x11], 0
je 0x466ada
add dword [rdi + 0x14], 1
cmp byte [rdi + 0x12], 0
jne 0x466ada
mov rcx, rdi
call fcn.0043e9d0
test ebp, ebp
je 0x466b1c
mov rax, qword [rbx]
mov rcx, qword [rax + 0x120]
jns 0x466b19
movsxd rax, ebp
shl rax, 0xa
mov ebp, dword [rcx + 0x28]
add ebp, dword [rcx + 0x24]
neg rax
movsxd rbx, ebp
mov rdx, rax
or rdx, rbx
shr rdx, 0x20
je 0x466b13
cqo
idiv rbx
mov rbp, rax
jmp 0x466b19
xor edx, edx
div ebp
mov ebp, eax
mov dword [rcx + 0x20], ebp
cmp byte [rdi + 0x11], 0
je 0x466b36
mov eax, dword [rdi + 0x14]
lea ecx, [rax - 1]
mov dword [rdi + 0x14], ecx
cmp eax, 1
je 0x466b3c
mov rbx, qword [rdi + 8]
jmp 0x466b4e
mov rbx, qword [rdi + 8]
jmp 0x466b60
mov rcx, rdi
call fcn.0043ea70
mov rbx, qword [rdi + 8]
cmp byte [rdi + 0x11], 0
je 0x466b60
add dword [rdi + 0x14], 1
cmp byte [rdi + 0x12], 0
jne 0x466b60
mov rcx, rdi
call fcn.0043e9d0
mov rax, qword [rbx]
mov byte [rax + 0xb], 1
mov dword [rax + 0xc], 0
and byte [rax + 0x19], 0xfe
cmp byte [rdi + 0x11], 0
je 0x466b8e
mov eax, dword [rdi + 0x14]
lea ecx, [rax - 1]
mov dword [rdi + 0x14], ecx
cmp eax, 1
jne 0x466b8e
mov rcx, rdi
call fcn.0043ea70
lea r8, [0x005fdb5e]
mov rcx, rsi
mov rdx, r15
call fcn.0047c810
test eax, eax
mov rbx, qword [rsp + 0x58]
jne 0x466bc6
xor edx, edx
test rbx, rbx
sete dl
add edx, edx
mov rcx, r14
xor r8d, r8d
call fcn.00410150
test eax, eax
je 0x466c4d
mov ebp, eax
mov r13, qword [rsp + 0x50]
mov bl, byte [rsp + 0x2f]
mov eax, dword [rsp + 0x3c]
mov rdi, qword [rsp + 0x48]
mov byte [rsi + 0xc4], 0
mov dword [rsi + 0x2c], eax
mov qword [rsi + 0x30], r13
movups xmmword [rsi + 0x78], xmm6
mov byte [rsi + 0x6e], bl
mov rcx, r14
mov edx, 0xffffffff
xor r8d, r8d
mov r9d, 1
call fcn.00427310
mov byte [rsi + 0x65], 1
test rdi, rdi
je 0x466c27
mov rcx, qword [rdi + 8]
call fcn.00449380
mov qword [rdi + 8], 0
mov qword [rdi + 0x18], 0
mov rcx, rsi
call fcn.00411230
mov eax, ebp
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test rbx, rbx
sete cl
mov rax, qword [r14 + 8]
mov rdx, qword [rax]
cmp byte [rdx + 9], 5
setne dl
cmp cl, dl
je 0x466c71
test rbx, rbx
jne 0x466c71
mov dword [rsi + 0x74], 0
mov edx, dword [rax + 0x34]
mov rcx, rdi
mov r8d, r13d
xor r9d, r9d
call fcn.00427310
mov ebp, 7
test eax, eax
jne 0x466bc8
cmp dword [rsp + 0x60], 0
je 0x466d79
cmp byte [rsi + 0x67], 0
jne 0x466bc8
movzx ebx, byte [rsi + 0x6a]
test bl, bl
mov r13, qword [rsp + 0x50]
js 0x466d97
mov rbp, qword [rdi + 8]
cmp byte [rdi + 0x11], 0
je 0x466cd1
add dword [rdi + 0x14], 1
cmp byte [rdi + 0x12], 0
jne 0x466cd1
mov rcx, rdi
call fcn.0043e9d0
mov eax, dword [rbp + 0x28]
not eax
or eax, 0xfffd
cmp ax, 0xffff
je 0x466ceb
test ebx, ebx
setne al
cmp byte [rbp + 0x21], al
jne 0x466cf8
test ebx, ebx
setne byte [rbp + 0x21]
cmp ebx, 2
sete byte [rbp + 0x22]
cmp byte [rdi + 0x11], 0
je 0x466d0c
add dword [rdi + 0x14], 0xffffffff
jne 0x466d0c
mov rcx, rdi
call fcn.0043ea70
mov byte [rsi + 0xc4], r12b
lea r8, [0x005fdb64]
mov rcx, rsi
mov rdx, r15
mov rdi, qword [rsp + 0x68]
mov r9, rdi
call fcn.0047c560
test eax, eax
jne 0x466d72
lea r8, [0x005fdbd0]
mov rcx, rsi
mov rdx, r15
mov r9, rdi
call fcn.0047c560
test eax, eax
jne 0x466d72
mov byte [rsi + 0xc4], 0
lea r8, [0x005fdc06]
mov rcx, rsi
mov rdx, r15
mov r9, rdi
call fcn.0047c560
and byte [rsi + 0x2c], 0xfb
test eax, eax
je 0x466df8
mov ebp, eax
jmp 0x466bcd
mov edx, dword [rsi + 0x74]
mov rcx, rdi
mov r8d, r13d
xor r9d, r9d
call fcn.00427310
test eax, eax
jne 0x466bc8
jmp 0x466c9a
cmp byte [r14 + 0x11], 0
je 0x466db2
add dword [r14 + 0x14], 1
cmp byte [r14 + 0x12], 0
jne 0x466db2
mov rcx, r14
call fcn.0043e9d0
mov rax, qword [r14 + 8]
cmp byte [rax + 0x21], 0
je 0x466dca
cmp byte [rax + 0x22], 1
mov ebx, 2
sbb ebx, 0
jmp 0x466dcc
xor ebx, ebx
cmp byte [r14 + 0x11], 0
je 0x466cb5
mov eax, dword [r14 + 0x14]
lea ecx, [rax - 1]
mov dword [r14 + 0x14], ecx
cmp eax, 1
jne 0x466cb5
mov rcx, r14
call fcn.0043ea70
jmp 0x466cb5
lea r8, [0x005fdc9d]
mov rcx, rsi
mov rdx, r15
mov r9, rdi
call fcn.0047c560
test eax, eax
je 0x466e2a
mov ebp, eax
mov r13, qword [rsp + 0x50]
mov bl, byte [rsp + 0x2f]
mov eax, dword [rsp + 0x3c]
mov r14, qword [rsp + 0x40]
jmp 0x466bd5
mov rdi, 0xffffffffffffffff
xor ecx, ecx
mov r14, qword [rsp + 0x40]
mov r15, qword [rsp + 0x30]
lea rax, [0x005fdd1f]
mov qword [rsp + 0x60], rcx
movzx ebp, byte [rcx + rax]
mov rbx, qword [r14 + 8]
cmp byte [r14 + 0x11], 0
je 0x466e75
add dword [r14 + 0x14], 1
mov al, 1
cmp byte [r14 + 0x12], 0
jne 0x466e77
mov rcx, r14
call fcn.0043e9d0
movzx eax, byte [r14 + 0x11]
jmp 0x466e77
xor eax, eax
mov rcx, qword [rbx + 0x18]
mov rcx, qword [rcx + 0x50]
movzx r12d, byte [rcx + rbp*4 + 0x24]
movzx r14d, byte [rcx + rbp*4 + 0x25]
movzx r13d, byte [rcx + rbp*4 + 0x26]
mov qword [rsp + 0x68], rbp
movzx ecx, byte [rcx + rbp*4 + 0x27]
mov dword [rsp + 0x74], ecx
test al, al
je 0x466ec0
mov rdx, qword [rsp + 0x40]
mov eax, dword [rdx + 0x14]
lea ecx, [rax - 1]
mov dword [rdx + 0x14], ecx
cmp eax, 1
jne 0x466ec0
mov rcx, qword [rsp + 0x40]
call fcn.0043ea70
mov rbp, qword [r15 + 8]
cmp byte [r15 + 0x11], 0
je 0x466edf
add dword [r15 + 0x14], 1
cmp byte [r15 + 0x12], 0
jne 0x466edf
mov rcx, r15
call fcn.0043e9d0
mov rax, qword [rbp + 0x18]
mov rbx, qword [rax + 0x50]
mov rcx, qword [rax + 0x70]
mov rax, qword [rcx + 0x28]
mov edx, dword [rcx + 0x34]
not edx
or edx, 0xfffb
cmp dx, 0xffff
je 0x466f08
mov edx, dword [rax + 0x20]
cmp edx, dword [rcx + 0x30]
jae 0x466f29
mov ebp, dword [rax + 0x30]
test ebp, ebp
jne 0x466f49
mov qword [rsp + 0x78], rbx
mov edx, dword [rax + 0xb8]
cmp edx, dword [rax + 0xc8]
jbe 0x466f3e
call fcn.0043fc70
jmp 0x466f43
mov qword [rsp + 0x78], rbx
cmp dword [rax + 0x80], 0
je 0x466f50
call fcn.00432ba0
jmp 0x466f43
call fcn.00440110
mov ebp, eax
test eax, eax
je 0x466f50
xor ebx, ebx
jmp 0x467008
shl r12d, 0x18
shl r14d, 0x10
or r14d, r12d
movabs r9, 0x791ab7b1322d9d45
mov rax, r9
not rax
shl r13d, 8
mov ebp, r14d
not ebp
mov ebx, r13d
not ebx
mov r8d, edi
not r8d
mov ecx, r9d
or ecx, eax
mov edx, eax
and edx, 1
and ecx, r8d
and ebp, 0x18c07a77
and r14d, 0xe73f0000
or r14d, ebp
and ebx, 0x18c07a77
and r13d, 0x8500
or r13d, ebx
xor r13d, r14d
mov rbp, rdi
and rbp, r9
and rax, qword [rsp + 0x60]
or rax, rbp
mov rbp, r9
and rbp, 0xfffffffffffffffe
or rdx, rbp
xor rdx, rax
and ecx, 1
or rcx, rdx
mov eax, r13d
mov edx, dword [rsp + 0x74]
and eax, edx
xor r13d, edx
or r13d, eax
lea rax, [0x005fdd1f]
movzx eax, byte [rcx + rax]
add eax, r13d
mov rcx, qword [rsp + 0x68]
lea rcx, [rcx*4 + 0x24]
bswap eax
mov rdx, qword [rsp + 0x78]
mov dword [rdx + rcx], eax
xor ebp, ebp
mov bl, 1
cmp byte [r15 + 0x11], 0
mov r14, qword [rsp + 0x40]
je 0x467023
add dword [r15 + 0x14], 0xffffffff
jne 0x467023
mov rcx, r15
call fcn.0043ea70
test bl, bl
je 0x466bc8
mov r12, qword [rsp + 0x60]
lea rcx, [r12 + 2]
add rdi, 0xfffffffffffffffe
cmp r12, 7
jbe 0x466e3d
cmp qword [rsp + 0x58], 0
je 0x467126
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x11], 0
je 0x467073
mov rax, qword [rsp + 0x30]
add dword [rax + 0x14], 1
cmp byte [rax + 0x12], 0
jne 0x467073
mov rcx, qword [rsp + 0x30]
call fcn.0043e9d0
mov rcx, qword [rsp + 0x30]
xor edx, edx
call fcn.00411d00
mov ebp, eax
test eax, eax
jne 0x467093
mov rcx, qword [rsp + 0x30]
xor edx, edx
call fcn.00411ba0
mov ebp, eax
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x11], 0
je 0x4670bb
mov rdx, qword [rsp + 0x30]
mov eax, dword [rdx + 0x14]
lea ecx, [rax - 1]
mov dword [rdx + 0x14], ecx
cmp eax, 1
jne 0x4670bb
mov rcx, qword [rsp + 0x30]
call fcn.0043ea70
cmp qword [rsp + 0x58], 0
setne al
test ebp, ebp
sete bl
setne cl
test cl, al
jne 0x467301
xor cl, al
jne 0x467301
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x11], 0
je 0x467100
mov rax, qword [rsp + 0x30]
add dword [rax + 0x14], 1
cmp byte [rax + 0x12], 0
jne 0x467100
mov rcx, qword [rsp + 0x30]
call fcn.0043e9d0
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 8]
cmp byte [rax + 0x21], 0
je 0x46726a
cmp byte [rax + 0x22], 1
mov r14d, 2
sbb r14d, 0
jmp 0x46726d
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x11], 0
je 0x46714a
mov rax, qword [rsp + 0x40]
add dword [rax + 0x14], 1
cmp byte [rax + 0x12], 0
jne 0x46714a
mov rcx, qword [rsp + 0x40]
call fcn.0043e9d0
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x11], 0
je 0x46716e
mov rax, qword [rsp + 0x30]
add dword [rax + 0x14], 1
cmp byte [rax + 0x12], 0
jne 0x46716e
mov rcx, qword [rsp + 0x30]
call fcn.0043e9d0
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 8]
mov rax, qword [rax]
mov rcx, qword [rax + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x4671c1
mov rdx, qword [rsp + 0x30]
mov rdx, qword [rdx + 8]
movsxd rbp, dword [rdx + 0x34]
mov edx, dword [rdx + 0x40]
imul rdx, rbp
mov qword [rsp + 0x80], rdx
lea r8, [rsp + 0x80]
mov edx, 0xb
call qword [rax + 0x50]
cmp eax, 0xc
je 0x4671c1
mov ebp, eax
test eax, eax
jne 0x467353
xorps xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0xc0], 0
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rcx
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x98], 1
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov edx, 0x7fffffff
call fcn.0040f770
mov rcx, rbx
call fcn.004121f0
test eax, eax
je 0x467343
mov ebp, eax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 8]
mov rcx, qword [rax]
cmp byte [rcx + 0x10], 0
jne 0x467353
call fcn.0043b7e0
jmp 0x467353
xor r14d, r14d
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x11], 0
je 0x46728d
mov rax, qword [rsp + 0x30]
add dword [rax + 0x14], 0xffffffff
jne 0x46728d
mov rcx, qword [rsp + 0x30]
call fcn.0043ea70
mov rax, qword [rsp + 0x40]
mov rbx, qword [rax + 8]
cmp byte [rax + 0x11], 0
je 0x4672b5
mov rax, qword [rsp + 0x40]
add dword [rax + 0x14], 1
cmp byte [rax + 0x12], 0
jne 0x4672b5
mov rcx, qword [rsp + 0x40]
call fcn.0043e9d0
mov eax, dword [rbx + 0x28]
mov ecx, eax
xor ecx, 0xfffd
test cx, ax
je 0x4672d0
test r14d, r14d
setne al
cmp byte [rbx + 0x21], al
jne 0x4672df
test r14d, r14d
setne byte [rbx + 0x21]
cmp r14d, 2
sete byte [rbx + 0x22]
mov bl, 1
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x11], 0
je 0x467301
mov rax, qword [rsp + 0x40]
add dword [rax + 0x14], 0xffffffff
jne 0x467301
mov rcx, qword [rsp + 0x40]
call fcn.0043ea70
cmp qword [rsp + 0x58], 0
sete al
xor bl, 1
cmp al, bl
je 0x466e13
cmp qword [rsp + 0x58], 0
jne 0x466e13
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x11], 0
je 0x46733f
mov rax, qword [rsp + 0x30]
add dword [rax + 0x14], 1
cmp byte [rax + 0x12], 0
je 0x4673a0
xor eax, eax
jmp 0x4673b4
mov al, 1
jmp 0x4673b4
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 8]
and word [rax + 0x28], 0xfffd
xor ebp, ebp
mov rax, qword [rsp + 0x30]
cmp byte [rax + 0x11], 0
je 0x467373
mov rax, qword [rsp + 0x30]
add dword [rax + 0x14], 0xffffffff
jne 0x467373
mov rcx, qword [rsp + 0x30]
call fcn.0043ea70
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x11], 0
je 0x467393
mov rax, qword [rsp + 0x40]
add dword [rax + 0x14], 0xffffffff
jne 0x467393
mov rcx, qword [rsp + 0x40]
call fcn.0043ea70
test ebp, ebp
jne 0x466e13
jmp 0x46704f
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call fcn.0043e9d0
cmp byte [rdi + 0x11], 0
sete al
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx + 8]
movzx ebx, byte [rcx + 0x26]
mov edx, dword [rcx + 0x34]
mov ebp, edx
sub ebp, dword [rcx + 0x38]
test al, al
jne 0x4673ec
mov rax, qword [rsp + 0x30]
add dword [rax + 0x14], 0xffffffff
jne 0x4673ec
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
call fcn.0043ea70
mov rax, qword [rdi + 8]
mov edx, dword [rax + 0x34]
cmp ebp, ebx
cmovl ebp, ebx
mov r14, qword [rsp + 0x40]
mov rcx, r14
mov r8d, ebp
mov r9d, 1
call fcn.00427310
jmp 0x466bc6