Function at 0x44bda0
Capabilities:
Encode data using base64
Encode data using xor
Encrypt data using speck
Parse credit card information
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2d8
movdqa xmmword [rsp + 0x2c0], xmm15
movdqa xmmword [rsp + 0x2b0], xmm14
movdqa xmmword [rsp + 0x2a0], xmm13
movdqa xmmword [rsp + 0x290], xmm12
movdqa xmmword [rsp + 0x280], xmm11
movdqa xmmword [rsp + 0x270], xmm10
movdqa xmmword [rsp + 0x260], xmm9
movdqa xmmword [rsp + 0x250], xmm8
movapd xmmword [rsp + 0x240], xmm7
movapd xmmword [rsp + 0x230], xmm6
mov r12, rcx
mov rbp, qword [rcx + 0x88]
mov r15, qword [rcx]
mov r14, qword [rcx + 0x68]
mov r13b, byte [r15 + 0x64]
cmp dword [rcx + 0xd0], 0
je 0x44be7b
mov edi, dword [r15 + 0x28]
test edi, edi
jle 0x44be7b
mov rbx, qword [r15 + 0x20]
mov eax, dword [r12 + 0xd0]
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
je 0x44be6f
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x44be6f
cmp byte [rcx + 0x11], 0
je 0x44be6f
add dword [rcx + 0x14], 1
cmp byte [rcx + 0x12], 0
jne 0x44be6f
call fcn.0043e9d0
lea eax, [rdi - 1]
cmp eax, 2
jae 0x44bfa2
mov qword [rsp + 0x130], rbp
cmp qword [r15 + 0x208], 0
je 0x44bf3e
mov eax, dword [r12 + 0xe4]
mov edi, dword [r15 + 0x218]
xor edx, edx
div edi
sub edi, edx
cmp dword [r12 + 0x34], 7
mov qword [rsp + 0x40], r12
jne 0x44bf56
xor r13d, r13d
xor r14d, r14d
mov rbx, qword [rsp + 0x130]
cmp byte [r15 + 0x67], 0
jne 0x44bf25
cmp byte [r15 + 0x68], 0
jne 0x44bf25
mov byte [r15 + 0x67], 1
cmp dword [r15 + 0xe4], 0
jle 0x44beed
mov dword [r15 + 0x198], 1
add dword [r15 + 0x1a0], 1
mov word [r15 + 0x1a4], 0
mov rcx, qword [r15 + 0x160]
test rcx, rcx
je 0x44bf25
lea rdx, [0x005fc480]
call fcn.00419aa0
mov rax, qword [r15 + 0x160]
mov dword [rax + 0x18], 7
lea rdx, [0x005fc480]
mov rcx, r12
call fcn.004496d0
mov ebp, 7
jmp 0x45f56c
mov rdi, 0xffffffffffffffff
cmp dword [r12 + 0x34], 7
mov qword [rsp + 0x40], r12
je 0x44beb7
mov dword [r12 + 0x34], 0
mov qword [r12 + 0x48], 0
mov qword [r12 + 0xa0], 0
mov dword [r15 + 0x290], 0
mov eax, dword [r15 + 0x198]
test eax, eax
je 0x44bffa
mov ebp, 9
xor r13d, r13d
xor r14d, r14d
mov rbx, qword [rsp + 0x130]
jmp 0x45f56c
add rbx, 0x48
mov esi, 2
jmp 0x44bfc1
add rsi, 1
add rbx, 0x20
cmp rdi, rsi
je 0x44be7b
mov eax, 0xfffffffe
mov ecx, esi
rol eax, cl
mov ecx, dword [r12 + 0xd0]
not ecx
or eax, ecx
cmp eax, 0xffffffff
je 0x44bfb0
mov rcx, qword [rbx]
test rcx, rcx
je 0x44bfb0
cmp byte [rcx + 0x11], 0
je 0x44bfb0
add dword [rcx + 0x14], 1
cmp byte [rcx + 0x12], 0
jne 0x44bfb0
call fcn.0043e9d0
jmp 0x44bfb0
mov qword [rsp + 0x78], r14
lea rax, [r12 + 0x68]
mov qword [rsp + 0x140], rax
movsxd rax, dword [r12 + 0x30]
lea rax, [rax + rax*2]
mov rcx, qword [rsp + 0x130]
lea rbx, [rcx + rax*8]
movapd xmm6, xmmword [0x005fa340]
pcmpeqd xmm10, xmm10
movdqa xmm9, xmmword [0x005fa350]
movdqa xmm15, xmmword [0x005fa300]
movdqa xmm11, xmmword [0x005fa330]
xorpd xmm7, xmm7
movabs rax, 0xbefdcc9f76ba65b8
movabs rcx, 0xba559618187b766e
movabs rdx, 0x1ffffffffffffffd
and rcx, rdx
mov qword [rsp + 0x210], rcx
movabs rcx, 0x1ffffffffffffffc
and rax, rcx
mov qword [rsp + 0x208], rax
pxor xmm13, xmm13
movdqa xmm12, xmmword [0x005fa2e0]
movabs rax, 0xa754a359a1160eda
movabs rcx, 0x1ffffffffffffffe
and rcx, rax
mov qword [rsp + 0x218], rcx
movabs rax, 0x7ff0000000000000
not rax
mov qword [rsp + 0x200], rax
movabs rax, 0x3ffffffffffffffe
lea rax, [rax + 1]
not rax
mov qword [rsp + 0x220], rax
movabs rax, 0xb5f7f9ff45ff9d00
movabs rcx, 0x3ffffffffffffff7
and rcx, rax
mov qword [rsp + 0x1e8], rcx
movdqa xmm8, xmmword [0x005fa2f0]
movdqa xmm14, xmmword [0x005fa310]
lea rax, [r15 + 0x20]
mov qword [rsp + 0xb8], rax
lea rax, [r12 + 0xa8]
mov qword [rsp + 0x148], rax
lea rax, [r12 + 0x78]
mov qword [rsp + 0x90], rax
lea rax, [r15 + 0x224]
mov qword [rsp + 0x1f8], rax
lea rax, [r15 + 0x228]
mov qword [rsp + 0x1f0], rax
lea rax, [r12 + 0x128]
mov qword [rsp + 0x178], rax
movabs rsi, 0xd4a2a94b0460db81
mov byte [rsp + 0x67], r13b
xor r13d, r13d
mov dword [rsp + 0xac], 0
xor r14d, r14d
xor eax, eax
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x70], r15
jmp 0x44c1d4
xor eax, eax
mov qword [rsp + 0x80], rax
test ebp, ebp
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r12
mov r14, qword [rsp + 0x48]
jne 0x45eb4a
nop word cs:[rax + rax]
nop dword [rax]
add rbx, 0x18
add r13, 1
movzx ebp, byte [rbx]
cmp rbp, 0x5e
jae 0x44c2a0
cmp bpl, 0x2f
jae 0x44c320
cmp bpl, 0x12
jae 0x44c3f3
cmp bpl, 9
jae 0x44c6a6
cmp bpl, 4
jae 0x44cbc8
cmp bpl, 2
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x48], r14
jae 0x44d2e3
mov r12d, dword [rbx + 4]
test bpl, bpl
jne 0x45e1fd
mov rsi, qword [rbx + 0x10]
test r12d, r12d
je 0x450a9e
mov qword [rsp + 0x68], rbx
mov rax, qword [rsp + 0x70]
mov rbx, qword [rax + 0x2d8]
test rbx, rbx
je 0x45e15c
xor r14d, r14d
mov rax, qword [rbx]
xor ecx, ecx
jmp 0x44c275
lea rdi, [0x005fade0]
movzx edx, byte [rdx + rdi]
cmp dl, byte [rbp + rdi]
jne 0x44c28b
add rcx, 1
movzx edx, byte [rax + rcx]
movzx ebp, byte [rsi + rcx]
cmp dl, bpl
jne 0x44c260
test dl, dl
jne 0x44c271
jmp 0x44e536
add r14d, 1
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x44c258
jmp 0x45e15c
cmp bpl, 0x8d
jae 0x44c370
cmp bpl, 0x79
jae 0x44c47c
cmp bpl, 0x6a
jae 0x44c6f4
cmp bpl, 0x62
jae 0x44cc1b
cmp bpl, 0x60
jae 0x44d404
mov qword [rsp + 0x58], rdi
cmp bpl, 0x5f
jne 0x44e616
mov r15, qword [rbx + 0x10]
movzx eax, word [r15 + 0x36]
test ax, ax
jle 0x458aa2
mov qword [rsp + 0x48], r14
mov r14, qword [r15 + 8]
mov qword [rsp + 0x68], rbx
movsxd rcx, dword [rbx + 4]
imul rsi, rcx, 0x38
add rsi, qword [rsp + 0x78]
lea rbx, [r14 + 0x12]
xor ebp, ebp
jmp 0x44c590
cmp bpl, 0x48
jae 0x44c4e3
cmp bpl, 0x3d
jae 0x44c7c6
cmp bpl, 0x33
jae 0x44cc8e
cmp bpl, 0x31
jae 0x44d4f9
cmp bpl, 0x30
jne 0x44e6f2
cmp dword [rbx + 4], 0
je 0x451cc8
cmp qword [r15 + 0x2f0], 0
jne 0x44c1d0
jmp 0x451cd8
cmp bpl, 0xa1
jae 0x44c51f
cmp bpl, 0x97
jae 0x44c810
cmp bpl, 0x92
jae 0x44ccd9
cmp bpl, 0x90
jae 0x44d52b
mov qword [rsp + 0x50], r13
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov qword [rsp + 0x68], rbx
movsxd rcx, dword [rbx + 4]
mov r13, qword [rax + rcx*8]
cmp bpl, 0x8f
jne 0x44e867
cmp byte [r13 + 3], 0
je 0x44c3e0
mov rcx, r13
call fcn.0045ff40
xor ecx, ecx
mov qword [rsp + 0x80], rcx
test eax, eax
jne 0x45e3bb
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
add rbx, 0x18
jmp 0x44c1d4
cmp bpl, 0x20
jae 0x44c891
cmp bpl, 0x19
jae 0x44cd26
cmp bpl, 0x14
jae 0x44d57c
cmp bpl, 0x13
jne 0x44e8bf
mov r12, rdi
mov qword [rsp + 0x48], r14
movsxd rax, dword [rbx + 4]
imul rax, rax, 0x38
mov rsi, rbx
movsxd rcx, dword [rbx + 8]
imul rdi, rcx, 0x38
mov rbp, qword [rsp + 0x78]
lea r14, [rdi + rbp]
movzx ecx, word [rbp + rax + 0x14]
mov ebx, ecx
not ebx
mov edx, ebx
or edx, 0xfffe
cmp dx, 0xffff
je 0x451ceb
mov eax, dword [rbp + rdi + 0x14]
mov ecx, eax
xor ecx, 0x6fff
test cx, ax
je 0x454146
mov rcx, r14
call fcn.00449e10
jmp 0x454153
cmp bpl, 0x83
jae 0x44ca3c
cmp bpl, 0x7e
jae 0x44cd70
cmp bpl, 0x7c
jae 0x44d6b3
cmp bpl, 0x7a
jae 0x44e90b
mov edx, dword [rbx + 4]
mov r8d, dword [rbx + 0xc]
mov rcx, qword [rsp + 0x40]
mov r9b, 3
call fcn.004604f0
test rax, rax
je 0x45e138
mov byte [rax + 2], 1
mov ecx, dword [rbx + 8]
mov dword [rax + 0x24], ecx
mov byte [rax + 4], 1
lea rcx, [0x0213b3c0]
mov qword [rax + 0x30], rcx
add rbx, 0x18
jmp 0x44c1d4
cmp bpl, 0x52
jae 0x44cac2
cmp bpl, 0x4d
jae 0x44cddb
cmp bpl, 0x4a
jae 0x44d6f8
cmp bpl, 0x49
jne 0x44e95b
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], rdi
jmp 0x455325
cmp bpl, 0xac
jae 0x44caff
cmp bpl, 0xa7
jae 0x44cec1
cmp bpl, 0xa4
jae 0x44d753
cmp bpl, 0xa3
jne 0x44e995
mov rbp, qword [rbx + 0x10]
jmp 0x44ea25
movzx edx, byte [rbx - 6]
mov rcx, rsi
movzx r8d, byte [rsp + 0x67]
call fcn.0045f9c0
movzx eax, word [rsi + 0x14]
mov ecx, eax
xor ecx, 0xfffe
test ecx, eax
je 0x44c5ba
add rsi, 0x38
movzx eax, word [r15 + 0x36]
add rbp, 1
movsx rcx, ax
add rbx, 0x18
cmp rbp, rcx
jge 0x450b7c
movzx ecx, word [rbx]
mov edx, ecx
xor edx, 0xff9f
test edx, ecx
je 0x44c550
not ecx
or ecx, 0xffffffdf
cmp ecx, 0xffffffff
jne 0x44c57b
mov rcx, qword [rsp + 0x68]
cmp dword [rcx + 0xc], 0
je 0x44c550
add rsi, 0x38
jmp 0x44c57b
mov ecx, dword [rbx - 0xa]
shr ecx, 4
and ecx, 0xf
cmp ecx, 5
jae 0x44c5e9
mov edx, eax
cmp ecx, 2
ja 0x44c605
not edx
or edx, 0xffffffef
cmp edx, 0xffffffff
jne 0x44c572
cmp ecx, 2
jne 0x44c572
mov dl, 1
test dl, dl
je 0x44c572
jmp 0x45e17d
je 0x44c619
cmp ecx, 6
jne 0x44c572
mov edx, eax
not edx
or edx, 0xfffffffd
cmp edx, 0xffffffff
jne 0x44c572
jmp 0x45e17d
xor edx, 0xfffb
test dx, ax
jne 0x44c572
jmp 0x45e17d
mov edi, eax
not edi
mov edx, edi
or edx, 0xfffffffb
cmp edx, 0xffffffff
je 0x44c66b
mov rcx, qword [rsi]
movabs rdx, 0x800000000000
add rdx, rcx
shr rdx, 0x30
jne 0x44c67c
mov ecx, eax
xor ecx, 0x24
and ecx, eax
mov eax, ecx
not eax
and eax, 0xffff8a91
mov edx, ecx
and edx, 0x756e
or edx, eax
xor edx, 0xffff8ab1
and ecx, 0x20
or ecx, edx
mov word [rsi + 0x14], cx
jmp 0x44c572
or edi, 0xffffffd7
cmp edi, 0xffffffff
jne 0x44c572
jmp 0x45e17d
xorps xmm0, xmm0
cvtsi2sd xmm0, rcx
movsd qword [rsi], xmm0
or edi, 8
and edi, 0xfffff59b
and eax, 0xa60
or eax, edi
xor eax, 0xf593
mov word [rsi + 0x14], ax
jmp 0x44c572
cmp bpl, 0xd
jae 0x44cef9
cmp bpl, 0xb
jae 0x44d7ea
movsxd rax, dword [rbx + 4]
imul rax, rax, 0x38
cmp bpl, 0xa
jne 0x44ea69
mov ecx, dword [rbx + 0xc]
add ecx, 0xffffffff
movsxd rcx, ecx
mov rdx, qword [rsp + 0x78]
mov qword [rdx + rax], rcx
mov word [rdx + rax + 0x14], 4
cmp dword [rbx + 8], 0
jne 0x45dd69
jmp 0x44c1d0
cmp bpl, 0x74
jae 0x44cf91
cmp bpl, 0x70
jae 0x44d853
mov r12, rdi
mov qword [rsp + 0x50], r13
movsxd rax, dword [rbx + 4]
imul r10, rax, 0x38
mov rdi, qword [rsp + 0x78]
lea r13, [rdi + r10]
cmp bpl, 0x6f
mov qword [rsp + 0x48], r14
jne 0x44eaa6
mov rcx, r13
movsxd r11, dword [rbx + 8]
mov rax, rbx
imul r13, r11, 0x38
mov qword [rsp + 0x68], rbx
movsxd r9, dword [rbx + 0xc]
imul rbx, r9, 0x38
lea r8, [rdi + rbx]
mov r14d, dword [rdi + r10 + 0x14]
mov eax, dword [rdi + r13 + 0x14]
mov ebp, eax
not ebp
mov edx, r14d
not edx
mov esi, ebp
and esi, 0x3113
and eax, 0xffffceec
or eax, esi
or ebp, edx
and edx, 0x3113
mov esi, r14d
and esi, 0xffffceec
or esi, edx
xor esi, eax
not ebp
or ebp, esi
mov eax, ebp
xor eax, 0xfffe
test ax, bp
je 0x451d0e
mov eax, dword [rdi + rbx + 0x14]
mov ecx, eax
xor ecx, 0x6fff
test cx, ax
movabs rsi, 0xd4a2a94b0460db81
je 0x454160
mov rcx, r8
call fcn.00449e10
jmp 0x45416d
cmp bpl, 0x43
jae 0x44cfee
cmp bpl, 0x3f
jae 0x44d933
cmp bpl, 0x3e
jne 0x44eac8
mov rdx, rdi
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
je 0x451e09
mov rdi, rdx
add rbx, 0x18
jmp 0x44c1d4
cmp bpl, 0x9c
jae 0x44d03e
cmp bpl, 0x99
jae 0x44d9d0
movsxd rax, dword [rbx + 4]
mov rdx, qword [rbx + 0x10]
cmp bpl, 0x98
jne 0x44ebb8
mov rcx, qword [rsp + 0xb8]
mov rcx, qword [rcx]
shl rax, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x20
xor r8d, r8d
call fcn.004790f0
test rax, rax
je 0x4541d8
mov rsi, rax
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rsi
je 0x45417c
test rcx, rcx
je 0x454187
mov rax, rcx
mov rcx, qword [rcx + 0x28]
cmp rcx, rsi
jne 0x44c873
add rax, 0x28
jmp 0x454180
cmp bpl, 0x26
jae 0x44d09b
cmp bpl, 0x23
jae 0x44da1a
cmp bpl, 0x21
jae 0x44ebff
movsxd rax, dword [rbx + 4]
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx]
mov rax, qword [rcx + rax*8]
mov r12, qword [rax + 0x30]
mov rcx, r12
call fcn.00467e70
cmp eax, 0x10
je 0x451778
test eax, eax
jne 0x45e3a8
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x58], rdi
lea r15, [r12 + 0x88]
mov rax, qword [r15]
cmp byte [rax + 8], 0
jne 0x45570f
movsx r10, byte [r12 + 0x54]
cmp r10, 0x13
jge 0x45e0bd
movzx r8d, word [r12 + 0x56]
mov r9, qword [rax + 0x50]
mov rdx, qword [rax + 0x60]
movzx esi, word [rax + 0x1a]
movzx edi, byte [rdx + r8*2]
shl rdi, 8
movzx edx, byte [rdx + r8*2 + 1]
mov rbx, rdi
not rbx
movabs rbp, 0xace701bec874535c
mov ecx, ebp
not ecx
and edi, ecx
and ecx, edx
not rdx
and rbx, rbp
or rdi, rbx
and rdx, rbp
or rcx, rdx
xor rcx, rdi
xor rsi, rcx
not rsi
and rsi, rcx
movzx edi, byte [r9 + rsi + 1]
shl edi, 0x10
movzx ecx, byte [r9 + rsi]
shl ecx, 0x18
mov edx, ecx
not edx
mov ebx, edi
not ebx
and edx, 0x8201305d
and ecx, 0x7d000000
or ecx, edx
and ebx, 0x8201305d
and edi, 0xfe0000
or edi, ebx
xor edi, ecx
movzx ecx, byte [r9 + rsi + 2]
shl ecx, 8
mov edx, edi
not edx
mov ebx, ecx
not ebx
mov ebp, edx
and ebp, 0x9bc68b54
and edi, 0x64390000
or edi, ebp
or edx, ebx
and ebx, 0x9bc68b54
and ecx, 0x7400
or ecx, ebx
xor ecx, edi
not edx
or edx, ecx
movzx ebp, byte [r9 + rsi + 3]
movabs rsi, 0xd4a2a94b0460db81
mov ebx, edx
and ebx, ebp
mov rcx, qword [r12 + 0x20]
mov word [r12 + 0x46], 0
and byte [r12 + 1], 0xf9
xor edx, ebp
or edx, ebx
mov word [r12 + r10*2 + 0x58], r8w
mov qword [r12 + r10*8 + 0x90], rax
mov word [r12 + 0x56], 0
lea eax, [r10 + 1]
mov byte [r12 + 0x54], al
movzx eax, byte [r12 + 2]
mov dword [rsp + 0x20], eax
mov r8, r15
mov r9, r12
call fcn.004681b0
test eax, eax
je 0x44c8f1
jmp 0x45e0ee
cmp bpl, 0x88
jae 0x44d10f
cmp bpl, 0x85
jae 0x44da85
cmp bpl, 0x84
jne 0x44eca4
mov r12, r14
mov r14, r13
mov r13, rdi
movsxd rax, dword [rbx + 0xc]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rax, qword [rax + rcx*8]
mov qword [rsp + 0x68], rbx
mov ebp, dword [rbx + 0x10]
mov rdi, qword [rax + 0x30]
mov rbx, qword [rax + 0x38]
mov rsi, qword [rdi + 0x30]
test rsi, rsi
jne 0x45592c
movzx eax, word [rbx + 6]
imul rdx, rax, 0x38
add rdx, 0x60
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x455905
call fcn.00429840
jmp 0x45590d
cmp bpl, 0x57
jae 0x44d231
cmp bpl, 0x54
jae 0x44dad5
cmp bpl, 0x53
jne 0x44ecc9
xor eax, eax
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x50], 0
jle 0x44c1d0
jmp 0x45e6ac
cmp bpl, 0xb1
jae 0x44d29a
cmp bpl, 0xae
jae 0x44db24
cmp bpl, 0xad
jne 0x44ed0e
mov rbp, rdi
mov qword [rsp + 0xc0], 0
mov rax, qword [rbx + 0x10]
mov rsi, qword [rax + 0x10]
mov eax, 6
test rsi, rsi
je 0x45e373
mov rdi, qword [rsi]
test rdi, rdi
je 0x45e373
mov rcx, rsi
lea rdx, [rsp + 0xc0]
call qword [rdi + 0x30]
cmp qword [rsi + 0x10], 0
je 0x45602e
mov dword [rsp + 0x80], eax
mov r12, r14
mov qword [rsp + 0x50], r13
mov r13, rbx
mov r14, rbp
mov rax, qword [rsp + 0x40]
mov rbx, qword [rax]
mov rdx, qword [rax + 0xa8]
mov rcx, rbx
call fcn.00408130
mov r15, qword [rsi + 0x10]
test r15, r15
je 0x455f9b
mov rcx, r15
call fcn.005f4bd8
mov rbp, rax
add rbp, 1
test rbx, rbx
je 0x455f7b
mov rcx, rbx
mov rdx, rbp
call fcn.00429840
jmp 0x455f83
cmp bpl, 6
jae 0x44dbcc
cmp bpl, 5
jne 0x44ee8e
mov r8d, dword [rbx + 4]
movsxd rax, dword [rbx + 8]
imul r9, rax, 0x38
add r9, qword [rsp + 0x78]
test rax, rax
cmove r9, rax
mov rcx, qword [rsp + 0x148]
mov rdx, r15
call fcn.00466600
xor ecx, ecx
mov qword [rsp + 0x80], rcx
test eax, eax
je 0x44c1d0
jmp 0x45e109
cmp bpl, 0x64
jae 0x44dc47
cmp bpl, 0x63
mov qword [rsp + 0x50], r13
jne 0x44eee2
mov r13, rdi
mov r12, r14
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov r14, rbx
mov edi, dword [rbx + 0xc]
shl rcx, 5
mov rsi, qword [rax + rcx + 8]
mov rbx, qword [rsi + 8]
cmp byte [rsi + 0x11], 0
je 0x44cc74
add dword [rsi + 0x14], 1
cmp byte [rsi + 0x12], 0
jne 0x44cc74
mov rcx, rsi
call fcn.0043e9d0
cmp edi, 0xf
jne 0x450b90
mov rax, qword [rbx]
mov edi, dword [rsi + 0x1c]
add edi, dword [rax + 0x84]
jmp 0x450be3
cmp bpl, 0x3a
jae 0x44dcf7
mov rdx, r15
mov qword [rsp + 0x58], rdi
movsxd r15, dword [rbx + 4]
cmp bpl, 0x34
jae 0x44ef22
imul rax, r15, 0x38
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx + rax + 0x14]
not eax
or eax, 0xfffe
cmp ax, 0xffff
mov rdi, qword [rsp + 0x58]
mov r15, rdx
jne 0x44c1d0
jmp 0x45dd69
cmp bpl, 0x94
jae 0x44dd1b
cmp bpl, 0x93
jne 0x44efb4
mov rax, qword [rsp + 0x140]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 8]
imul rcx, rcx, 0x38
lea rsi, [rax + rcx]
mov ebp, dword [rax + rcx + 0x14]
mov edx, ebp
xor edx, 0x6fff
test dx, bp
je 0x451e9c
mov rcx, rsi
call fcn.00467410
jmp 0x451ea8
cmp bpl, 0x1d
jae 0x44dd5d
cmp bpl, 0x1a
jae 0x44efe5
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rax, qword [rax + rcx*8]
movzx edx, word [rax + 0xc]
mov eax, dword [rbx + 0x10]
cmp eax, edx
jle 0x44c1d0
mov r12, rdi
lea rdx, [rbx + 0x10]
mov qword [rsp + 0x80], rdx
jmp 0x44effb
test bpl, bpl
js 0x44e472
cmp bpl, 0x7f
jne 0x44e4fd
mov qword [rsp + 0xc0], 0
mov dword [rsp + 0x180], 0
mov rax, qword [rsp + 0x140]
mov rax, qword [rax]
mov r15, rbx
movsxd rcx, dword [rbx + 8]
imul rbx, rcx, 0x38
lea rcx, [rax + rbx]
mov ebp, dword [rax + rbx + 0x14]
mov edx, ebp
xor edx, 0x6fff
test dx, bp
mov qword [rsp + 0x88], rcx
je 0x4517a2
call fcn.00467410
jmp 0x4517ae
cmp bpl, 0x4f
jae 0x44de7c
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], rdi
cmp bpl, 0x4e
jne 0x44f070
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x80]
mov qword [rsp + 0x68], rbx
mov ecx, dword [rbx + 4]
add ecx, 0xffffffff
movsxd rcx, ecx
imul rcx, rcx, 0x38
lea rdi, [rax + rcx]
movzx ebx, word [rax + rcx + 0x14]
mov edx, ebx
xor edx, 0xffed
test edx, ebx
je 0x44ce54
mov edx, dword [rax + rcx + 0x10]
mov ebp, ebx
xor ebp, 0xfbff
test ebp, ebx
je 0x44ce43
add edx, dword [rdi]
mov rax, qword [rax + rcx + 0x18]
cmp edx, dword [rax + 0x88]
jg 0x45f3db
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
lea rsi, [rcx + rax]
lea rbx, [rcx + rax]
add rbx, 0x14
mov eax, dword [rcx + rax + 0x14]
mov ecx, eax
xor ecx, 0x6fff
test cx, ax
je 0x44ce8b
mov rcx, rsi
call fcn.00449e10
mov rax, qword [rdi + 0x10]
mov qword [rsi + 0x10], rax
movdqu xmm0, xmmword [rdi]
movdqu xmmword [rsi], xmm0
mov eax, dword [rbx]
mov ecx, eax
not ecx
or ecx, 0x5000
and ecx, 0x5591
and eax, 0xffff8a2e
or eax, ecx
xor eax, 0x75d1
mov word [rbx], ax
jmp 0x4577f8
cmp bpl, 0xa9
jae 0x44dfcb
cmp bpl, 0xa8
jne 0x44f0b1
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rax, qword [rax + rcx*8]
mov rax, qword [rax + 0x30]
and byte [rax + 1], 0xbf
add rbx, 0x18
jmp 0x44c1d4
cmp bpl, 0xf
jae 0x44e038
cmp bpl, 0xe
jne 0x44f0e1
mov rcx, rsi
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsi + 0x108]
test rax, rax
je 0x451ef3
mov r10, rdi
mov r8, rbx
mov rcx, rbx
movabs rdx, 0x6084c00a251e4335
sub rcx, rdx
sub rcx, qword [rsi + 0x88]
add rcx, rdx
shr rcx, 3
imul edx, ecx, 0xaaaaaaab
mov r9, qword [rax + 0x30]
mov ecx, edx
xor ecx, 0xf8
and ecx, edx
shr edx, 3
mov ebp, 1
shl ebp, cl
movzx edi, byte [r9 + rdx]
mov ebx, edi
btc ebx, ecx
not ebx
bt ebx, ecx
jae 0x4541fd
mov rbx, r8
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r10
jmp 0x45dd69
cmp bpl, 0x76
jae 0x44e072
cmp bpl, 0x75
jne 0x44e078
mov rsi, rdi
mov qword [rsp + 0x48], r14
mov rax, qword [rsp + 0x140]
mov rdi, qword [rax]
movsxd rax, dword [rbx + 8]
imul rbp, rax, 0x38
lea r12, [rdi + rbp]
lea r14, [rdi + rbp]
add r14, 0x14
mov eax, dword [rdi + rbp + 0x14]
mov ecx, eax
xor ecx, 0x6fff
test cx, ax
je 0x451f0e
mov rcx, r12
call fcn.00467410
jmp 0x451f14
cmp bpl, 0x45
jae 0x44e1dd
movsxd rax, dword [rbx + 4]
imul rax, rax, 0x38
cmp bpl, 0x44
jne 0x44f0fd
mov rbp, qword [rsp + 0x78]
mov rcx, qword [rbp + rax]
lea rcx, [rcx + rcx*2]
mov rdx, qword [rsp + 0x130]
mov ecx, dword [rdx + rcx*8 + 8]
add ecx, 0xffffffff
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
lea rbx, [rdx + rcx*8]
mov word [rbp + rax + 0x14], 0
jmp 0x44c1d0
cmp bpl, 0x9e
jae 0x44e218
mov qword [rsp + 0x58], rdi
cmp bpl, 0x9d
jne 0x44f121
mov rax, qword [rsp + 0x140]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 8]
imul rcx, rcx, 0x38
lea rsi, [rax + rcx]
lea rdi, [rax + rcx]
add rdi, 0x14
mov eax, dword [rax + rcx + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x451f42
mov rcx, rsi
call fcn.00467410
movzx eax, word [rdi]
jmp 0x451f4b
cmp bpl, 0x2b
jae 0x44e249
cmp bpl, 0x27
jae 0x44f151
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov r12, qword [rax + rcx*8]
mov rsi, qword [r12 + 0x30]
mov word [rsi + 0x46], 0
and byte [rsi + 1], 0xf9
cmp byte [rsi], 0
jne 0x454a77
mov rax, qword [rsi + 0x88]
movzx ecx, word [rsi + 0x56]
lea edx, [rcx + 1]
mov word [rsi + 0x56], dx
cmp dx, word [rax + 0x18]
jae 0x454a73
cmp byte [rax + 8], 0
je 0x457de6
movabs rsi, 0xd4a2a94b0460db81
jmp 0x454dd3
cmp bpl, 0x8a
jae 0x44e290
cmp bpl, 0x89
je 0x44fc51
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rdx, dword [rbx + 4]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x44d192
mov rcx, qword [rsp + 0x40]
mov r8d, 1
mov r9b, 3
call fcn.004604f0
test rax, rax
je 0x45e138
mov dword [rax + 0x24], 0
mov byte [rax + 4], 1
mov edx, dword [rax + 8]
mov ebp, edx
not ebp
and ebp, 0xd61e47cf
mov ecx, edx
and ecx, 0x29e1b830
or ecx, ebp
xor ecx, 0xd61e47c7
and edx, 8
or edx, ecx
mov dword [rax + 8], edx
lea rcx, [0x0213b3c0]
mov qword [rax + 0x30], rcx
mov byte [rax + 2], 1
mov dword [rax + 0x20], 0
cmp byte [rax], 0
jne 0x44c1d0
mov rbp, rdi
mov rdi, qword [rax + 0x30]
mov rsi, qword [rdi + 0x18]
test rsi, rsi
je 0x4578a7
cmp dword [0x005f6010], 0
je 0x45789e
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x44d1d9
call qword [0x005f6090]
mov rcx, rsi
call qword [0x005f6048]
mov rcx, qword [0x0213b040]
cdqe
movabs rdx, 0xb136d1e7923e856f
sub rcx, rdx
sub rcx, rax
add rcx, rdx
mov qword [0x0213b040], rcx
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rsi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4578a7
call qword [0x005f60a0]
jmp 0x4578a7
cmp bpl, 0x5a
jae 0x44e416
cmp bpl, 0x58
jae 0x44f262
movsxd rax, dword [rbx + 4]
imul rbp, rax, 0x38
mov rdx, qword [rsp + 0x78]
mov eax, dword [rdx + rbp + 0x14]
mov ecx, eax
not ecx
or ecx, 0xffdb
cmp cx, 0xffff
je 0x44c1d0
mov qword [rsp + 0x48], r14
mov r12, rdi
lea rdi, [rdx + rbp]
lea rsi, [rdx + rbp]
add rsi, 0x14
movzx ecx, ax
mov edx, ecx
not edx
or edx, 0xfffffff7
cmp edx, 0xffffffff
je 0x45424e
movsd xmm0, qword [rdi]
jmp 0x459dcf
cmp bpl, 0xb3
jae 0x44e443
mov r12, r14
mov rax, qword [rsp + 0x140]
mov rax, qword [rax]
mov r14, rbx
movsxd rcx, dword [rbx + 8]
imul rcx, rcx, 0x38
lea rsi, [rax + rcx]
mov ebx, dword [rax + rcx + 0x14]
mov edx, ebx
xor edx, 0x6fff
test dx, bx
je 0x4509e5
mov rcx, rsi
call fcn.00467410
jmp 0x4509f1
jne 0x44f334
mov dword [rsp + 0xc0], 0
mov edx, dword [rbx + 8]
test edx, edx
je 0x44d318
mov rax, qword [r15 + 0x30]
mov rcx, rax
movabs rbp, 0xfffffffdffefffff
xor rcx, rbp
test rcx, rax
jne 0x45e9c2
mov rax, qword [rsp + 0xb8]
mov rsi, qword [rax]
movsxd r12, dword [rbx + 4]
shl r12, 5
mov rdi, qword [rsi + r12 + 8]
test rdi, rdi
je 0x45947d
mov rcx, rdi
lea r8, [rsp + 0xc0]
call fcn.00410150
test eax, eax
jne 0x45e9ed
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0xc8]
mov ecx, eax
xor ecx, 0xffffffdf
test ecx, eax
je 0x45948d
cmp dword [rbx + 8], 0
je 0x45948d
cmp byte [r15 + 0x65], 0
je 0x44d388
cmp dword [r15 + 0xdc], 2
jl 0x45948d
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x40]
mov qword [rsp + 0x80], rax
test eax, eax
jne 0x44d3c4
mov ecx, dword [r15 + 0x2ec]
add ecx, 1
mov dword [r15 + 0x2ec], ecx
add ecx, dword [r15 + 0x2e8]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x80], rcx
mov dword [rax + 0x40], ecx
mov qword [rsp + 0xa0], rsi
cmp qword [r15 + 0x240], 0
je 0x4587c9
mov qword [rsp + 0x98], rdi
mov rsi, r15
mov rdi, qword [rsp + 0x80]
lea eax, [rdi - 1]
mov dword [rsp + 0x88], eax
xor r15d, r15d
mov qword [rsp + 0x50], r13
jmp 0x4539b5
mov qword [rsp + 0x50], r13
jne 0x44f40a
mov r13, rdi
mov r12, r15
mov r15, r14
mov rdi, qword [rbx + 0x10]
movsxd rax, dword [rbx + 4]
imul rsi, rax, 0x38
add rsi, qword [rsp + 0x78]
mov dl, byte [rdi]
add rdi, 1
movabs r14, 0x800000000000
jmp 0x44d483
xorps xmm0, xmm0
cvtsi2sd xmm0, rcx
movsd qword [rsi], xmm0
mov ecx, eax
xor ecx, 0xc
and ecx, eax
mov eax, ecx
not eax
and eax, 0x12c7
mov edx, ecx
and edx, 0xffffed38
or edx, eax
xor edx, 0x12cf
and ecx, 8
or ecx, edx
mov word [rsi + 0x14], cx
movzx edx, byte [rdi]
add rsi, 0x38
add rdi, 1
test dl, dl
je 0x44f4b7
mov rcx, rsi
movzx r8d, byte [rsp + 0x67]
call fcn.0045f9c0
cmp byte [rdi - 1], 0x45
jne 0x44d470
mov eax, dword [rsi + 0x14]
mov ecx, eax
xor ecx, 0xfffb
test cx, ax
je 0x44d470
mov rcx, qword [rsi]
movabs rbp, 0xb033f9a057d5193b
lea rdx, [rcx + rbp]
add rdx, r14
sub rdx, rbp
movabs rbp, 0x1000000000000
cmp rdx, rbp
jae 0x44d43b
mov ecx, eax
xor ecx, 0x24
and ecx, eax
mov eax, ecx
not eax
and eax, 0x5f50
mov edx, ecx
and edx, 0xffffa0af
or edx, eax
xor edx, 0x5f70
and ecx, 0x20
jmp 0x44d46a
movsxd rax, dword [rbx + 4]
jne 0x44f4cc
imul rax, rax, 0x38
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rdx + rax]
test rcx, rcx
jle 0x44c1d0
add rax, rdx
movsxd rdx, dword [rbx + 0xc]
sub rcx, rdx
mov qword [rax], rcx
jmp 0x45dd69
mov qword [rsp + 0x48], r14
jne 0x44f4ef
mov rax, qword [rsp + 0x140]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 8]
imul rcx, rcx, 0x38
lea r14, [rax + rcx]
lea rbp, [rax + rcx]
add rbp, 0x14
mov eax, dword [rax + rcx + 0x14]
mov ecx, eax
xor ecx, 0x6fff
test cx, ax
mov qword [rsp + 0x58], rdi
je 0x451f9d
mov rcx, r14
call fcn.00467410
jmp 0x451fa3
cmp bpl, 0x18
jae 0x44f564
mov qword [rsp + 0x50], r13
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov r13, qword [rax + rcx*8]
mov word [r13 + 2], 0
mov dword [r13 + 0x20], 0
cmp byte [r13 + 4], 0
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x48], r14
je 0x4520b4
mov qword [rsp + 0x68], rbx
movsxd rax, dword [rbx + 0xc]
imul rbx, rax, 0x38
mov rax, qword [rsp + 0x78]
lea r14, [rax + rbx]
lea r15, [rax + rbx]
add r15, 0x14
mov r12d, dword [rax + rbx + 0x14]
mov ecx, r12d
xor ecx, 0xffffffd1
and ecx, r12d
mov eax, r12d
cmp cx, 2
jne 0x45ac64
mov rax, qword [rsp + 0x78]
mov r9b, byte [rax + rbx + 0x16]
mov rcx, qword [rax + rbx + 8]
mov r8d, dword [rax + rbx + 0x10]
lea rdx, [rsp + 0x180]
call fcn.0044aa80
test eax, eax
jle 0x45ac60
xorpd xmm0, xmm0
movapd xmm7, xmm6
movsd xmm6, qword [rsp + 0x180]
cmp eax, 1
jne 0x45ac16
cvttsd2si rax, xmm6
ucomisd xmm6, xmm0
jne 0x44d64b
jnp 0x44d6a7
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
movq rcx, xmm6
movq rdx, xmm0
cmp rcx, rdx
setne r9b
sete r8b
mov rdx, rax
movabs rcx, 0x246d4922c0f2ca19
sub rdx, rcx
movabs rdi, 0x8000000000000
add rdx, rdi
add rdx, rcx
shr rdx, 0x34
setne cl
sete dl
cmp cl, r9b
jne 0x45abef
or dl, r8b
xor dl, 1
jne 0x45abef
mov qword [r14], rax
mov ax, 4
jmp 0x45ac1f
jne 0x44f583
mov rax, rdi
mov rdi, r15
mov qword [rsp + 0x58], rax
movsxd rax, dword [rbx + 0x1c]
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx]
mov r15, qword [rcx + rax*8]
mov rax, qword [r15 + 0x30]
cmp byte [rax], 0
je 0x452156
mov rax, qword [rsp + 0x58]
mov r15, rdi
mov rdi, rax
add rbx, 0x18
jmp 0x44c1d4
cmp bpl, 0x4c
jae 0x44f5b2
mov r12, r14
mov qword [rsp + 0x58], rdi
mov rax, qword [rsp + 0x140]
mov r14, qword [rax]
mov eax, dword [rbx + 8]
movsxd rcx, eax
imul rsi, rcx, 0x38
lea r15, [r14 + rsi]
add r15, 0x14
mov ecx, dword [r14 + rsi + 0x14]
mov edx, ecx
xor edx, 0x6fff
test dx, cx
mov qword [rsp + 0x50], r13
je 0x4524ab
lea rcx, [r14 + rsi]
call fcn.00467410
mov eax, dword [rbx + 8]
jmp 0x4524b1
movsxd rax, dword [rbx + 4]
cmp bpl, 0xa6
jae 0x44f5ed
mov rbp, r14
mov r14, rdi
imul rdi, rax, 0x38
mov r12, qword [rsp + 0x78]
lea rsi, [r12 + rdi]
movsxd rax, dword [rbx + 0xc]
test rax, rax
je 0x45255d
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x50], r13
imul rax, rax, 0x38
mov rcx, rbx
lea rbx, [r12 + rax]
mov r13, rcx
mov rbp, qword [rcx + 0x10]
movdqa xmmword [rsp + 0xe0], xmm13
movdqa xmmword [rsp + 0xd0], xmm13
movdqa xmmword [rsp + 0xc0], xmm13
mov qword [rsp + 0xf0], 0
mov ecx, dword [r12 + rax + 0x14]
mov edx, ecx
xor edx, 0x6fff
test dx, cx
je 0x45426b
mov rcx, rbx
call fcn.00449e10
jmp 0x454277
mov qword [rsp + 0x48], r14
mov r14, r13
mov r13, rdi
movsxd rax, dword [rbx + 4]
jne 0x44f627
imul rax, rax, 0x38
mov rdi, qword [rsp + 0x78]
mov word [rdi + rax + 0x14], 4
movsxd rcx, dword [rdi + rax]
movabs rdx, 0x32aeb152641ea3dc
add rbx, rdx
mov rbp, qword [rsp + 0x130]
sub rbx, rbp
sub rbx, rdx
shr rbx, 3
imul edx, ebx, 0xaaaaaaab
movsxd rdx, edx
mov qword [rdi + rax], rdx
lea rax, [rcx + rcx*2]
lea rbx, [rax*8]
add rbx, rbp
jmp 0x45a739
cmp bpl, 0x72
jae 0x44f6dd
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0xc8]
not eax
or eax, 0xfffffffc
cmp eax, 0xfffffffe
je 0x45e3df
mov rax, r14
mov r14, r15
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], rdi
mov r15d, dword [rbx + 8]
movsxd r13, dword [rbx + 0xc]
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rax]
mov rdx, r13
shl rdx, 5
mov r12, qword [rcx + rdx + 8]
mov rax, rbx
xor ebx, ebx
mov rdi, rax
movzx eax, word [rax + 2]
cmp bpl, 0x71
jne 0x44d8e4
mov ebx, eax
not ebx
or ebx, 0x43
and ebx, 0x4b
xor ebx, 0x4f
mov rcx, qword [rcx + rdx + 0x18]
mov cl, byte [rcx + 0x70]
mov rdx, qword [rsp + 0x40]
cmp cl, byte [rdx + 0xc3]
jae 0x44d8e4
mov byte [rdx + 0xc3], cl
mov ecx, eax
xor ecx, 0xffef
test cx, ax
je 0x4582e2
mov qword [rsp + 0x80], r12
imul rax, r15, 0x38
mov rcx, qword [rsp + 0x78]
lea rbp, [rcx + rax]
lea r12, [rcx + rax]
add r12, 0x14
movzx esi, word [rcx + rax + 0x14]
movzx ecx, si
mov edx, ecx
xor edx, 0xffdb
test edx, ecx
je 0x453a85
mov r15, qword [rbp]
jmp 0x4582c3
jne 0x44f72c
mov r12, rdi
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r13
movsxd r14, dword [rbx + 4]
mov eax, dword [rbx + 0x10]
test eax, eax
jle 0x45256e
mov r13, rbx
movsxd rbx, dword [rbx + 0xc]
add eax, ebx
movsxd rbp, eax
imul rdi, rbx, 0x38
add rdi, qword [rsp + 0x78]
xor esi, esi
jmp 0x44d984
add rsi, qword [rdi]
add rbx, 1
add rdi, 0x38
cmp rbx, rbp
jge 0x452573
movzx eax, word [rdi + 0x14]
mov ecx, eax
xor ecx, 0xffdb
test ecx, eax
jne 0x44d970
mov ecx, eax
not ecx
mov edx, ecx
or edx, 0xfffffff7
cmp edx, 0xffffffff
je 0x44d9b0
movsd xmm0, qword [rdi]
call fcn.0044b040
add rsi, rax
jmp 0x44d973
or ecx, 0xffffffed
cmp ecx, 0xffffffff
je 0x44d973
movsxd rcx, dword [rdi + 0x10]
add rsi, rcx
mov ecx, eax
xor ecx, 0xfbff
test ecx, eax
je 0x44d973
movsxd rax, dword [rdi]
jmp 0x44d9ab
jne 0x44f79f
mov rbp, rdi
mov rax, qword [rsp + 0x140]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 8]
imul rcx, rcx, 0x38
lea rsi, [rax + rcx]
lea rdi, [rax + rcx]
add rdi, 0x14
mov eax, dword [rax + rcx + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x45259e
mov rcx, rsi
call fcn.00467410
jmp 0x4525a3
je 0x44ec0b
cmp bpl, 0x25
jae 0x450c37
movsxd rax, dword [rbx + 4]
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx]
mov r12, qword [rcx + rax*8]
mov rsi, qword [r12 + 0x30]
cmp byte [rsi + 0x58], 0
je 0x454aaa
cmp byte [rsi + 0x59], 0
je 0x4565cb
mov rcx, qword [rsi + 0x10]
call fcn.00477df0
test eax, eax
jne 0x454a7f
mov rax, qword [rsi + 0x10]
cmp qword [rax + 0x18], 0
movabs rsi, 0xd4a2a94b0460db81
jne 0x454dd3
jmp 0x456613
jne 0x44f7fb
mov qword [rsp + 0x48], r14
mov r14, r13
mov r13, rdi
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [rbx + 8]
imul rdi, rcx, 0x38
mov rax, qword [rax + 0x30]
cmp byte [rax + 0x58], 0
je 0x4525b7
cmp byte [rax + 0x59], 0
je 0x454333
mov r12, rbx
mov rax, qword [rax + 0x10]
jmp 0x45434e
je 0x45e250
movsxd rax, dword [rbx + 4]
cmp bpl, 0x56
jae 0x45098f
test eax, eax
je 0x44c1d0
imul rax, rax, 0x38
mov rbp, qword [rsp + 0x78]
lea rcx, [rax + rbp]
mov edx, dword [rbp + rax + 0x14]
not edx
or edx, 0x6fff
cmp dx, 0xffff
je 0x4546fd
xor edx, edx
call fcn.0044b3a0
add rbx, 0x18
jmp 0x44c1d4
jne 0x44f85b
mov rbp, r13
mov r13, rdi
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
call fcn.00402ec0
test eax, eax
jne 0x45e313
mov ecx, 0x10
call fcn.00404550
test rax, rax
je 0x45e313
mov rsi, rax
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rbp
mov rax, qword [rdi + 0x30]
mov qword [rsi], rax
movsxd rax, dword [rbx + 0xc]
imul rax, rax, 0x38
add rax, qword [rsp + 0x78]
mov qword [rsi + 8], rax
mov rax, qword [rsp + 0x140]
mov rdi, qword [rax]
mov r12, rbx
movsxd rax, dword [rbx + 8]
imul rbp, rax, 0x38
lea rbx, [rdi + rbp]
lea r14, [rdi + rbp]
add r14, 0x14
mov eax, dword [rdi + rbp + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x453461
mov rcx, rbx
call fcn.00467410
jmp 0x453467
jne 0x44f8bd
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], rdi
movsxd rbp, dword [rbx + 0xc]
imul rcx, rbp, 0x38
mov rdx, qword [rsp + 0x40]
mov rax, qword [rdx + 0x70]
mov rdx, qword [rdx + 0x78]
mov r13, rbx
movsxd rbx, dword [rbx + 4]
mov rdx, qword [rdx + rbx*8]
mov qword [rsp + 0x80], rdx
mov r15, qword [rdx + 0x30]
mov r12, qword [r15]
mov r10, qword [r12]
mov rdx, qword [rsp + 0x78]
mov r9, qword [rdx + rcx + 0x38]
mov edx, dword [rdx + rcx]
test r9d, r9d
jle 0x453591
mov rbx, r9
mov edi, 0xffffffff
xor rbx, rdi
not rbx
and rbx, r9
cmp rbx, 4
jae 0x4534bc
xor ecx, ecx
jmp 0x453564
jne 0x44f955
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x58], rdi
mov rax, rbx
mov rcx, qword [rsp + 0xb8]
mov rbx, qword [rcx]
movsxd rbp, dword [rax + 4]
shl rbp, 5
mov rsi, qword [rbx + rbp + 8]
mov r12d, dword [rax + 8]
mov qword [rsp + 0x68], rax
mov r15d, dword [rax + 0xc]
mov rdi, qword [rsi + 8]
cmp byte [rsi + 0x11], 0
je 0x44dc9b
add dword [rsi + 0x14], 1
cmp byte [rsi + 0x12], 0
jne 0x44dc9b
mov rcx, rsi
call fcn.0043e9d0
mov rax, qword [rdi + 0x18]
mov r14, 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 0x44dcc8
mov edx, dword [rax + 0x20]
cmp edx, dword [rcx + 0x30]
jae 0x453608
mov edx, dword [rax + 0x30]
mov qword [rsp + 0x80], rdx
test edx, edx
jne 0x4561b3
mov edx, dword [rax + 0xb8]
cmp edx, dword [rax + 0xc8]
jbe 0x45619e
call fcn.0043fc70
jmp 0x4561a3
jne 0x44fa1a
cmp dword [rsp + 0xac], 0
jne 0x44c1d0
mov dword [rsp + 0xac], 0
jmp 0x45dd69
jne 0x44fa66
add byte [r15 + 0x70], 1
mov rdx, qword [rbx + 0x10]
mov qword [rsp + 0x20], 0
xor eax, eax
mov qword [rsp + 0x80], rax
mov rcx, r15
xor r8d, r8d
xor r9d, r9d
call fcn.0041c6d0
add byte [r15 + 0x70], 0xff
test eax, eax
je 0x44c1d0
jmp 0x45e109
jne 0x44fba8
mov qword [rsp + 0x48], r14
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
mov rbp, qword [rsp + 0x78]
mov edx, dword [rbp + rcx + 0x14]
not edx
or edx, 0xffdb
cmp dx, 0xffff
jne 0x44fbc0
movupd xmm0, xmmword [rbp + rcx]
movdqu xmm1, xmmword [rbp + rcx + 0x10]
movdqu xmm2, xmmword [rbp + rcx + 0x20]
movdqa xmmword [rsp + 0xd0], xmm1
mov rax, qword [rbp + rcx + 0x30]
mov qword [rsp + 0xf0], rax
movdqa xmmword [rsp + 0xe0], xmm2
movapd xmmword [rsp + 0xc0], xmm0
movzx esi, word [rsp + 0xd4]
movzx eax, si
mov ecx, eax
not ecx
mov edx, ecx
or edx, 0xfffffffb
mov r12, rdi
cmp edx, 0xffffffff
jne 0x45a6cf
or ecx, 0xfffffff7
cmp ecx, 0xffffffff
je 0x458ab5
movapd xmm7, xmm6
mov rdi, rbx
movsd xmm6, qword [rsp + 0xc0]
movapd xmm0, xmm6
call fcn.0044b040
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
ucomisd xmm0, xmm6
setp cl
setne dl
or dl, cl
movabs rcx, 0x7fffffffffffffff
add rcx, rax
add rcx, 2
cmp rcx, 1
seta bl
cmp bl, dl
je 0x45a6c4
cmp rcx, 2
movapd xmm6, xmm7
jb 0x44de74
mov qword [rsp + 0xc0], rax
mov eax, esi
not eax
or eax, 0x5a9
and eax, 0xffffe5a9
and esi, 0x1240
or esi, eax
xor esi, 0xe5ad
mov word [rsp + 0xd4], si
mov rbx, rdi
jmp 0x45a6cb
jne 0x44fce8
mov rbp, rdi
movsxd rax, dword [rbx + 4]
movsxd rcx, dword [rbx + 8]
mov r12, rbx
mov edi, dword [rbx + 0xc]
imul rsi, rcx, 0x38
mov rcx, qword [rsp + 0x78]
add rsi, rcx
imul rax, rax, 0x38
lea rbx, [rcx + rax]
add rbx, 0x20
jmp 0x44dedb
mov rcx, rsi
call fcn.0044a9d0
test eax, eax
jne 0x45e06b
movzx eax, word [rsi + 0x14]
and eax, 0xbfff
mov word [rsi + 0x14], ax
add rsi, 0x38
add rbx, 0x38
add edi, 0xffffffff
je 0x450ad9
mov eax, dword [rsi + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
jne 0x44def1
cmp dword [rsi + 0x20], 0
je 0x44def9
mov rcx, rsi
call fcn.00449ce0
mov rax, qword [rbx + 0x10]
mov qword [rsi + 0x30], rax
movdqu xmm0, xmmword [rbx - 0x20]
movdqu xmm1, xmmword [rbx - 0x10]
movdqu xmm2, xmmword [rbx]
movdqu xmmword [rsi + 0x20], xmm2
movdqu xmmword [rsi + 0x10], xmm1
movdqu xmmword [rsi], xmm0
mov word [rbx - 0xc], 1
mov dword [rbx], 0
movzx eax, word [rsi + 0x14]
mov ecx, eax
xor ecx, 0xbfff
test cx, ax
je 0x44deca
mov ecx, eax
xor ecx, 0xffed
test ecx, eax
je 0x44dec1
mov ecx, eax
not ecx
or ecx, 0xfffffbff
cmp ecx, 0xffffffff
je 0x44dfae
mov edx, dword [rsi]
add edx, dword [rsi + 0x10]
test edx, edx
jg 0x44df74
mov ecx, eax
xor ecx, 0xffef
mov edx, 1
test cx, ax
je 0x44dfae
mov rcx, rsi
mov r8d, 1
call fcn.00449fe0
test eax, eax
jne 0x45e06b
movsxd r8, dword [rsi]
movsxd rcx, dword [rsi + 0x10]
add rcx, qword [rsi + 8]
xor edx, edx
call fcn.005f4c10
mov eax, dword [rsi]
add dword [rsi + 0x10], eax
movzx eax, word [rsi + 0x14]
and eax, 0xf9ff
mov word [rsi + 0x14], ax
cmp dword [rsi + 0x20], 0
je 0x44dead
mov rcx, qword [rsi + 8]
cmp rcx, qword [rsi + 0x28]
jne 0x44dead
jmp 0x44dec1
jne 0x44fe92
mov r12, rdi
mov edi, dword [rbx + 0xc]
mov eax, edi
not eax
or eax, 0xffffff00
cmp eax, 0xffffffff
je 0x4525c7
movsxd rax, dword [rbx + 4]
mov rcx, qword [rsp + 0xb8]
mov rcx, qword [rcx]
shl rax, 5
mov rsi, qword [rcx + rax + 8]
xor eax, eax
mov qword [rsp + 0x80], rax
cmp byte [rsi + 0x11], 0
je 0x45b4a8
mov qword [rsp + 0x68], rbx
mov ebp, dword [rbx + 8]
add dword [rsi + 0x14], 1
add dil, 1
cmp byte [rsi + 0x12], 0
je 0x45552f
mov rbx, qword [rsi + 8]
jmp 0x455545
jne 0x44ff76
movsxd rax, dword [rbx + 4]
imul rax, rax, 0x38
mov rdx, qword [rsp + 0x78]
lea rcx, [rdx + rax]
movzx ebp, word [rdx + rax + 0x14]
mov edx, ebp
xor edx, 0xffdb
test edx, ebp
je 0x4525ea
xor eax, eax
cmp qword [rcx], 0
setne al
jmp 0x45a867
jne 0x44ffb5
mov eax, dword [rbx + 0xc]
test eax, eax
jle 0x44e09c
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
mov dword [rcx + rax + 0x10], 0
lea rdx, [0x005fadb4]
mov qword [rcx + rax + 8], rdx
mov qword [rsp + 0x68], rbx
movsxd rdx, dword [rbx + 4]
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x44e0d8
mov eax, dword [rbx + 8]
not eax
or eax, 0xfffffff7
cmp eax, 0xffffffff
jne 0x44e0d8
movsx eax, word [rbx + 0x48]
mov rcx, qword [rsp + 0x68]
cmp dword [rcx + 8], eax
jle 0x4543f9
mov rbp, rdi
mov rdi, qword [rsp + 0x68]
mov r8d, dword [rdi + 8]
mov rcx, qword [rsp + 0x40]
xor r9d, r9d
call fcn.004604f0
test rax, rax
je 0x45e366
mov rbx, rax
mov eax, dword [rax + 8]
mov ecx, eax
and ecx, 1
xor eax, 1
or eax, ecx
mov dword [rbx + 8], eax
mov rcx, qword [r15]
lea rsi, [rbx + 0x10]
movzx eax, word [rdi + 2]
mov edx, eax
and edx, 5
xor eax, 5
or eax, edx
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], 0x41e
xor edx, edx
mov r8, r15
mov r9, rsi
call fcn.004307c0
test eax, eax
jne 0x45e36e
mov rcx, qword [rsi]
mov edx, 1
xor r8d, r8d
call fcn.00410150
test eax, eax
mov rdi, rbp
jne 0x4546a2
mov qword [rsp + 0x48], r14
mov rax, qword [rsp + 0x68]
mov r12, qword [rax + 0x10]
mov qword [rbx + 0x38], r12
test r12, r12
je 0x454671
mov rdx, rbx
add rdx, 0x44
movzx r8d, word [rax + 2]
mov rcx, qword [rsi]
mov eax, r8d
not eax
and eax, 0xffff9474
mov edi, r8d
and edi, 0x6b8b
or edi, eax
xor edi, 0xffff9476
and r8d, 2
or r8d, edi
call fcn.004609b0
mov ecx, eax
test eax, eax
jne 0x44e1d3
mov edx, dword [rbx + 0x44]
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x20], rax
mov r8d, 4
mov r9, r12
call fcn.00460730
xor ecx, ecx
mov rdi, rbp
jmp 0x45469a
jne 0x4500fd
movsxd rax, dword [rbx + 0xc]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx + rax + 0x14]
mov ecx, eax
xor ecx, 0xfffe
test cx, ax
jne 0x450107
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
jne 0x4501a4
mov rcx, qword [r15 + 0x30]
mov rdx, rcx
xor rdx, 0xfffffffffff7ffff
movsxd rax, dword [rbx + 8]
test rdx, rcx
je 0x452602
add qword [r15 + 0x2f8], rax
add rbx, 0x18
jmp 0x44c1d4
mov r12, rdi
cmp bpl, 0x2d
jae 0x450223
mov rdi, rbx
movsxd rax, dword [rbx + 4]
imul rax, rax, 0x38
mov rdx, qword [rsp + 0x78]
lea rcx, [rdx + rax]
movzx ebx, word [rdx + rax + 0x14]
mov ebp, ebx
not ebp
mov edx, ebp
or edx, 0xffffffdb
cmp edx, 0xffffffff
je 0x452636
xor esi, esi
cmp qword [rcx], 0
setne sil
jmp 0x45a7af
mov qword [rsp + 0x50], r13
jne 0x450355
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x48], r14
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rbx + 8]
mov rcx, rbx
imul rbx, rax, 0x38
mov r13, rcx
movzx eax, word [rcx + 2]
mov ecx, eax
not ecx
or ecx, 0xfffe
cmp cx, 0xffff
je 0x44e2e4
mov rcx, qword [rsp + 0x40]
add qword [rcx + 0x38], 1
mov rdi, qword [rsp + 0x78]
mov ecx, dword [rdi + rbx + 0x10]
mov ebp, dword [rdi + rbx + 0x14]
mov edx, ebp
xor edx, 0xfbff
test dx, bp
je 0x44e363
lea rsi, [rdi + rbx]
mov edx, dword [rsi]
add edx, ecx
test edx, edx
jg 0x44e31c
mov edi, ebp
xor edi, 0xffef
mov edx, 1
test di, bp
je 0x44e363
mov rcx, rsi
mov r8d, 1
call fcn.00449fe0
test eax, eax
jne 0x45ea72
mov rax, qword [rsp + 0x78]
lea rdi, [rax + rbx]
add rdi, 0x14
movsxd r8, dword [rsi]
movsxd rcx, dword [rdi - 4]
add rcx, qword [rax + rbx + 8]
xor edx, edx
call fcn.005f4c10
mov ecx, dword [rdi - 4]
add ecx, dword [rsi]
mov dword [rdi - 4], ecx
and byte [rdi + 1], 0xf9
movzx eax, word [r13 + 2]
movsxd rcx, ecx
mov qword [rsp + 0xc8], rcx
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rdx + rbx + 8]
mov qword [rsp + 0xc0], rcx
mov rbx, r13
movsxd rcx, dword [r13 + 0xc]
imul rcx, rcx, 0x38
add rcx, rdx
mov qword [rsp + 0xd8], rcx
movzx ecx, word [r13 + 0x10]
mov word [rsp + 0xe0], cx
mov rcx, qword [r14 + 0x30]
movzx eax, ax
mov r8d, eax
xor r8d, 0xff75
and r8d, eax
mov edx, eax
xor edx, 0xffef
xor ebp, ebp
mov qword [rsp + 0x80], rbp
mov r9d, 0
test edx, eax
je 0x44e3d7
mov r9d, dword [r14 + 0x24]
lea rdx, [rsp + 0xc0]
call fcn.004622b0
mov dword [r14 + 0x20], 0
test eax, eax
mov r13, qword [rsp + 0x50]
movabs rsi, 0xd4a2a94b0460db81
mov rdi, qword [rsp + 0x58]
jne 0x45e801
mov r14, qword [rsp + 0x48]
add rbx, 0x18
jmp 0x44c1d4
jne 0x450426
mov qword [rsp + 0x50], r13
movzx eax, word [rbx + 2]
not eax
or eax, 0xfffe
cmp ax, 0xffff
je 0x45265e
mov r13, qword [rbx - 8]
add r13, 4
jmp 0x452661
jne 0x450472
movsxd rax, dword [rbx + 4]
imul rax, rax, 0x38
mov rbp, qword [rsp + 0x78]
mov ecx, dword [rbp + rax + 0x14]
mov edx, ecx
xor edx, 0x800
and edx, ecx
mov word [rbp + rax + 0x14], dx
add rbx, 0x18
jmp 0x44c1d4
cmp bpl, 0x80
jne 0x450a54
mov qword [rsp + 0x50], r13
mov r13, rdi
mov qword [rsp + 0x48], r14
movsxd rax, dword [rbx + 8]
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx]
movsxd rdx, dword [rbx + 4]
mov rsi, qword [rcx + rdx*8]
movsxd rcx, dword [rbx + 0xc]
imul rcx, rcx, 0x38
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rdx + rcx]
mov qword [rsp + 0xc8], rcx
cmp byte [rbx + 1], 0xfb
mov edi, 0
mov r14d, 0
jne 0x455a20
cmp qword [r15 + 0x140], 0
je 0x455a1b
mov rdx, qword [rsp + 0xb8]
mov rdx, qword [rdx]
movsx rbp, byte [rsi + 1]
shl rbp, 5
mov r14, qword [rdx + rbp]
mov rdi, qword [rbx + 0x10]
jmp 0x455a20
mov rax, qword [rsp + 0x140]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 8]
imul rcx, rcx, 0x38
lea rsi, [rax + rcx]
mov ebp, dword [rax + rcx + 0x14]
mov edx, ebp
xor edx, 0x6fff
test dx, bp
je 0x451819
mov rcx, rsi
call fcn.00467410
jmp 0x451825
cmp r12d, 1
sete al
mov rcx, qword [rsp + 0x70]
cmp dword [rcx + 0xe0], 0
setle cl
cmp al, cl
je 0x44e55a
cmp r12d, 1
je 0x45e5ca
cmp qword [rbx + 0x18], 0
je 0x4519cb
xor r15d, r15d
mov eax, r14d
not eax
and eax, 0xb9a16b83
and r14d, 0x465e947c
or r14d, eax
xor r14d, 0x465e947c
mov rcx, qword [rsp + 0x70]
add r14d, dword [rcx + 0x2e8]
cmp r12d, 2
jne 0x45185a
mov eax, dword [rcx + 0x2c]
mov ebp, eax
xor ebp, 0xfffffffe
and ebp, eax
cmp dword [rcx + 0x28], 0
jle 0x4518ac
mov qword [rsp + 0x50], r13
mov eax, ebp
not eax
and eax, 1
mov esi, ebp
and esi, 0xfffffffe
or esi, eax
mov edi, 8
xor r13d, r13d
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
mov rcx, qword [rax + rdi]
mov edx, 0x204
mov r8d, esi
call fcn.00444ab0
test eax, eax
jne 0x45e115
add r13, 1
mov rax, qword [rsp + 0x70]
movsxd rax, dword [rax + 0x28]
add rdi, 0x20
cmp r13, rax
jl 0x44e5c8
xor ecx, ecx
mov qword [rsp + 0x80], rcx
mov r13, qword [rsp + 0x50]
jmp 0x45185f
mov rax, rbx
movsxd rbx, dword [rbx + 4]
shl rbx, 3
mov rcx, qword [rsp + 0x90]
add rbx, qword [rcx]
mov qword [rsp + 0x68], rax
mov edi, dword [rax + 8]
mov rbx, qword [rbx]
nop word [rax + rax]
mov r15, qword [rbx + 0x58]
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2c]
cmp dword [rbx + 0x20], eax
jne 0x44e67b
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x45497a
mov rcx, rbx
call fcn.0045ffc0
mov ebp, eax
xor eax, eax
mov qword [rsp + 0x80], rax
test ebp, ebp
je 0x44e640
jmp 0x45e052
cmp byte [rbx + 2], 0
jne 0x454994
mov rsi, qword [rbx + 0x30]
cmp byte [rbx + 3], 0
jne 0x44e6bf
cmp byte [rsi], 0
je 0x45b84e
mov rcx, rbx
call fcn.0045ffc0
mov ebp, eax
xor eax, eax
mov qword [rsp + 0x80], rax
test ebp, ebp
movabs rsi, 0xd4a2a94b0460db81
je 0x44e640
jmp 0x45e052
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x45b832
lea ecx, [rdi + 1]
mov eax, dword [rax + rcx*4]
test eax, eax
je 0x45b832
add rbx, 0x28
add eax, 0xffffffff
mov edi, eax
movabs rsi, 0xd4a2a94b0460db81
jmp 0x44e634
mov qword [rsp + 0x48], r14
mov r14, qword [rbx + 0x10]
movsxd rax, dword [rbx + 0xc]
cmp word [rbx + 2], 0
je 0x44e72e
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + 0x108]
test rcx, rcx
je 0x44e72e
mov rdx, qword [r14 + 0x20]
cmp qword [rcx + 0x38], rdx
je 0x454a65
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x44e71b
mov rcx, qword [rsp + 0x40]
mov ecx, dword [rcx + 0x118]
cmp ecx, dword [r15 + 0xb0]
jge 0x45e919
mov qword [rsp + 0x58], rdi
imul rdi, rax, 0x38
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx + rdi + 0x14]
not eax
or eax, 0xffef
cmp ax, 0xffff
je 0x453aa7
mov rsi, qword [rcx + rdi + 8]
mov ecx, dword [r14 + 0x10]
mov rdi, qword [rsp + 0x40]
add dword [rdi + 0x118], 1
mov rax, qword [rdi + 0x108]
mov qword [rsi + 8], rax
mov rax, qword [r15 + 0x38]
mov qword [rsi + 0x40], rax
mov rax, qword [rdi + 0x38]
mov qword [rsi + 0x68], rax
mov rax, qword [rdi]
mov rax, qword [rax + 0x78]
mov qword [rsi + 0x70], rax
mov rax, qword [rdi + 0x128]
mov qword [rsi + 0x48], rax
mov qword [rdi + 0x128], 0
mov qword [rdi + 0x38], 0
mov qword [rdi + 0x108], rsi
lea rax, [rsi + 0x78]
mov qword [rsp + 0x78], rax
mov qword [rdi + 0x68], rax
movsxd rax, dword [rsi + 0x60]
mov dword [rdi + 0x24], eax
movzx edx, word [rsi + 0x64]
mov dword [rdi + 0x28], edx
imul rax, rax, 0x38
add rax, rsi
add rax, 0x78
mov qword [rdi + 0x78], rax
movsxd rcx, ecx
lea rcx, [rax + rcx*8]
mov qword [rsi + 0x30], rcx
mov eax, dword [r14 + 8]
lea edx, [rax + 7]
add eax, 0xe
test edx, edx
cmovns eax, edx
sar eax, 3
movsxd r8, eax
xor edx, edx
call fcn.005f4c10
mov rcx, qword [r14]
mov qword [rdi + 0x88], rcx
mov eax, dword [r14 + 8]
mov dword [rdi + 0x90], eax
mov qword [rsp + 0x130], rcx
lea rbx, [rcx - 0x18]
mov r14, qword [rsp + 0x48]
movabs rsi, 0xd4a2a94b0460db81
mov rdi, qword [rsp + 0x58]
mov eax, dword [r15 + 0x198]
mov ebp, 9
test eax, eax
je 0x458a60
jmp 0x45eb4a
mov rax, qword [r13 + 0x30]
cmp byte [rax], 0
je 0x44e880
mov rcx, r13
call fcn.0045ffc0
test eax, eax
jne 0x45e3bb
cmp byte [r13 + 2], 0
je 0x453376
mov rbx, qword [rsp + 0x68]
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
mov rdx, qword [rsp + 0x78]
mov eax, dword [rdx + rcx + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x4546d8
add rcx, rdx
call fcn.00449e10
jmp 0x4546e5
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rax, qword [rax + rcx*8]
cmp byte [rax + 2], 0
je 0x44c1d0
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
mov rdx, qword [rsp + 0x78]
mov eax, dword [rdx + rcx + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x45445f
add rcx, rdx
call fcn.00449e10
jmp 0x45dd69
jne 0x44c1d0
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax]
movsxd rax, dword [rbx + 4]
mov rdx, qword [rcx + rax*8]
test rdx, rdx
je 0x44e94a
mov rbp, rsi
mov rsi, rdi
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call fcn.00447f70
movsxd rax, dword [rbx + 4]
mov rcx, qword [rdi + 0x78]
mov rdi, rsi
mov rsi, rbp
mov qword [rcx + rax*8], 0
add rbx, 0x18
jmp 0x44c1d4
mov rax, qword [rsp + 0x140]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 8]
imul rcx, rcx, 0x38
lea rsi, [rax + rcx]
mov edx, dword [rax + rcx + 0x14]
not edx
or edx, 0x6fff
cmp dx, 0xffff
je 0x4526f6
mov rcx, rsi
call fcn.00467410
jmp 0x452702
movzx esi, word [rbx + 2]
lea rdx, [rsi*8 + 0x68]
mov rcx, r15
call fcn.00429840
test rax, rax
je 0x45e138
mov rbp, rax
mov qword [rax + 0x10], 0
lea rax, [rax + rsi*8]
add rax, 0x30
mov qword [rbp], rax
mov word [rbp + rsi*8 + 0x44], 1
mov qword [rbp + rsi*8 + 0x48], r15
mov dword [rbp + rsi*8 + 0x50], 0
mov rax, qword [rbx + 0x10]
mov qword [rbp + 8], rax
mov rax, rbx
sub rax, qword [rsp + 0x130]
shr rax, 3
imul eax, eax, 0xaaaaaaab
mov dword [rbp + 0x20], eax
mov rax, qword [rsp + 0x40]
mov qword [rbp + 0x18], rax
mov byte [rbp + 0x29], 0
mov dword [rbp + 0x24], 0
mov al, byte [rsp + 0x67]
mov byte [rbp + 0x28], al
mov byte [rbp + 0x2a], sil
mov qword [rbx + 0x10], rbp
mov word [rbx], 0xf1a3
mov r11, rbx
movsxd rax, dword [rbx + 0xc]
imul r10, rax, 0x38
mov rax, qword [rsp + 0x78]
lea rcx, [rax + r10]
cmp qword [rbp + 0x10], rcx
je 0x451c1e
mov qword [rbp + 0x10], rcx
movzx edx, byte [rbp + 0x2a]
test rdx, rdx
je 0x451c1e
movsxd r9, dword [r11 + 8]
cmp dl, 4
jae 0x451ad0
mov rcx, rdx
jmp 0x451be1
mov rdx, qword [rsp + 0x78]
mov word [rdx + rax + 0x14], 4
mov rcx, rbx
movabs rbp, 0xf37c00e5117f1dc6
sub rcx, rbp
sub rcx, qword [rsp + 0x130]
add rcx, rbp
shr rcx, 3
imul ecx, ecx, 0xaaaaaaab
movsxd rcx, ecx
mov qword [rdx + rax], rcx
jmp 0x458a2d
movzx eax, word [rdi + r10 + 0x14]
mov esi, eax
not esi
or esi, 0xffffffd3
cmp esi, 0xffffffff
mov qword [rsp + 0x58], r12
je 0x45270e
not esi
jmp 0x455c5e
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x58], rdi
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
shl rcx, 5
mov r15, qword [rax + rcx + 8]
mov r14, qword [r15 + 8]
cmp byte [r15 + 0x11], 0
je 0x44eb09
add dword [r15 + 0x14], 1
cmp byte [r15 + 0x12], 0
jne 0x44eb09
mov rcx, r15
call fcn.0043e9d0
mov eax, 0x65
mov qword [rsp + 0x80], rax
cmp byte [r14 + 0x21], 0
je 0x453943
mov qword [rsp + 0x68], rbx
mov r12d, dword [r14 + 0x40]
mov rax, qword [r14 + 0x18]
mov rax, qword [rax + 0x50]
movzx ecx, byte [rax + 0x24]
shl ecx, 0x18
movzx edx, byte [rax + 0x25]
shl edx, 0x10
or edx, ecx
movzx r8d, byte [rax + 0x26]
shl r8d, 8
mov ecx, edx
not ecx
mov ebp, r8d
not ebp
and ecx, 0xcdbb9c14
and edx, 0x32440000
or edx, ecx
and ebp, 0xcdbb9c14
and r8d, 0x6300
or r8d, ebp
xor r8d, edx
movzx eax, byte [rax + 0x27]
mov ecx, r8d
and ecx, eax
xor r8d, eax
or r8d, ecx
mov ebx, dword [r14 + 0x38]
mov eax, 0xcccccccd
imul rbx, rax
shr rbx, 0x22
cmp r12d, 1
ja 0x45361f
mov eax, dword [0x005f6c40]
xor edi, edi
xor edx, edx
div dword [r14 + 0x34]
mov ebp, eax
lea r9d, [rbx + 1]
jmp 0x45364f
mov rcx, qword [rsp + 0xb8]
mov rcx, qword [rcx]
shl rax, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 8
xor r8d, r8d
call fcn.004790f0
test rax, rax
je 0x45447b
cmp qword [r15 + 0x300], 0
je 0x454471
mov rcx, r15
mov rdx, rax
call fcn.0047f4d0
jmp 0x45447b
mov rax, qword [rsp + 0x40]
add dword [rax + 0xdc], 1
mov qword [rsp + 0x58], rdi
movsxd rax, dword [rbx + 4]
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx]
mov r12, qword [rcx + rax*8]
cmp byte [r12], 1
mov qword [rsp + 0x50], r13
jne 0x45053d
mov qword [rsp + 0x48], r14
mov r14, qword [r12 + 0x30]
cmp byte [r14 + 0x58], 0
je 0x452733
mov qword [rsp + 0x68], rbx
mov rcx, r14
call fcn.00470e40
movzx edi, byte [r14 + 0x5b]
test rdi, rdi
je 0x4544ab
imul rcx, rdi, 0x68
lea rbx, [r14 + rcx]
add rbx, 0xfffffffffffffff8
lea rsi, [rdi + 1]
mov ebp, eax
nop word cs:[rax + rax]
nop
add rdi, 0xffffffffffffffff
mov rcx, rbx
call fcn.00449170
test ebp, ebp
cmove ebp, eax
add rbx, 0xffffffffffffff98
add rsi, 0xffffffffffffffff
cmp rsi, 1
jg 0x44ec80
jmp 0x4544ad
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 0x38]
mov qword [r15 + 0x78], rax
add qword [r15 + 0x80], rax
mov qword [rcx + 0x38], 0
add rbx, 0x18
jmp 0x44c1d4
mov r12, r14
mov r14, rdi
movsxd rax, dword [rbx + 4]
imul rdx, rax, 0x38
mov rsi, rbx
movsxd rax, dword [rbx + 8]
imul rax, rax, 0x38
mov rdi, qword [rsp + 0x78]
lea rcx, [rdi + rax]
mov rdx, qword [rdi + rdx]
mov ebx, dword [rdi + rax + 0x14]
mov ebp, ebx
xor ebp, 0x6fff
test bp, bx
je 0x45275d
call fcn.0044b3a0
jmp 0x45276c
mov qword [rsp + 0x50], r13
mov r13, rdi
mov edi, dword [r15 + 0xe8]
lea eax, [rdi + 1]
mov dword [r15 + 0xe8], eax
movsxd rax, dword [rbx + 4]
mov rdx, qword [rbx + 0x10]
mov rcx, qword [r15 + 0x20]
shl rax, 5
mov r8, qword [rcx + rax]
mov rcx, r15
call fcn.00426380
test rax, rax
je 0x4509cf
mov rsi, rax
cmp byte [rax + 0x3f], 1
jne 0x4509cf
mov rax, qword [rsi + 0x50]
test rax, rax
je 0x4509cf
mov rcx, rax
mov r12, qword [rsp + 0x40]
mov rdi, r13
mov rdx, qword [rcx + 0x10]
cmp dword [rdx + 8], 0
jg 0x45e14a
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x44ed71
mov rdi, rbx
mov qword [rsi + 0x50], 0
xor ebx, ebx
jmp 0x44edae
mov qword [rsi + 0x50], rax
mov qword [rax + 0x28], 0
mov rbx, rax
mov rax, rcx
test rcx, rcx
je 0x44edd4
mov rdx, qword [rax]
mov rcx, qword [rax + 0x28]
cmp rdx, r15
je 0x44ed97
mov rbp, qword [rdx + 0x248]
mov qword [rax + 0x28], rbp
mov qword [rdx + 0x248], rax
mov rax, rcx
test rcx, rcx
jne 0x44edae
mov r12, r14
mov rax, qword [rbx + 8]
mov rax, qword [rax]
mov rdx, qword [rax + 0x28]
test rdx, rdx
jne 0x44edeb
mov rdx, qword [rax + 0x20]
add dword [rsi + 0x2c], 1
mov rcx, qword [rbx + 0x10]
call rdx
mov ebp, eax
test eax, eax
jne 0x44ee68
mov qword [rbx + 0x10], 0
mov qword [rsi + 0x50], 0
mov rax, qword [rbx]
add dword [rbx + 0x18], 0xffffffff
jne 0x44ee68
mov qword [rsp + 0x80], rax
mov r14, qword [rbx + 8]
mov r15, qword [rbx + 0x10]
add dword [r14 + 0x10], 0xffffffff
jne 0x44ee4a
mov rax, qword [r14 + 0x20]
test rax, rax
je 0x44ee3a
mov rcx, qword [r14 + 0x18]
call rax
mov rcx, qword [rsp + 0x80]
mov rdx, r14
call fcn.00408130
test r15, r15
je 0x44ee58
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x80]
mov rdx, rbx
call fcn.00408130
mov r15, qword [rsp + 0x70]
cmp qword [r15 + 0x300], 0
je 0x459641
mov rcx, r15
mov rdx, rsi
call fcn.0047f4d0
mov rbx, rdi
jmp 0x459655
mov qword [rsp + 0x48], r14
mov rax, qword [rsp + 0x140]
mov rsi, qword [rax]
movsxd rax, dword [rbx + 8]
imul r14, rax, 0x38
lea rbp, [rsi + r14]
lea rcx, [rsi + r14]
add rcx, 0x14
mov eax, dword [rsi + r14 + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x88], rcx
je 0x452774
mov rcx, rbp
call fcn.00467410
jmp 0x452779
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rax, qword [rax + rcx*8]
mov r12, qword [rax + 0x30]
cmp dword [rbx + 0xc], 0
je 0x4527ef
mov r13, rdi
mov rdi, 0xffffffffffffffff
cmp byte [r12], 0
je 0x4544d1
mov r15, qword [rsp + 0x70]
jmp 0x459847
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r13
imul r14, r15, 0x38
mov rdx, qword [rsp + 0x78]
lea r11, [rdx + r14]
movsxd r12, dword [rbx + 0xc]
imul r13, r12, 0x38
lea r8, [rdx + r13]
movzx r10d, word [rdx + r14 + 0x14]
movzx edi, word [rdx + r13 + 0x14]
mov eax, r10d
xor eax, edi
not eax
and eax, edi
mov ecx, eax
xor ecx, 0xfffb
test ecx, eax
je 0x452b57
mov rax, qword [r11]
cmp qword [r8], rax
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
jle 0x4537ab
lea r12, [0x005fade0]
cmp byte [rbp + r12 + 0xd8], 0
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
jne 0x45dd69
mov dword [rsp + 0xac], 1
add rbx, 0x18
jmp 0x44c1d4
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rax, qword [rax + rcx*8]
cmp byte [rax], 1
jne 0x450c77
mov rdx, qword [rax + 0x30]
mov rcx, r15
call fcn.004483e0
add rbx, 0x18
jmp 0x44c1d4
mov r12, rdi
movsxd rcx, dword [rbx + 4]
lea rax, [rbx + 0x10]
mov qword [rsp + 0x80], rax
mov eax, dword [rbx + 0x10]
mov rdx, qword [rsp + 0x90]
mov rdx, qword [rdx]
mov rdi, qword [rdx + rcx*8]
mov qword [rsp + 0x68], rbx
movsxd rcx, dword [rbx + 0xc]
imul rbp, rcx, 0x38
mov rcx, qword [rsp + 0x78]
lea rsi, [rcx + rbp]
mov qword [rsp + 0xc8], rsi
mov word [rsp + 0xdc], ax
not eax
or eax, 0xffff0000
cmp eax, 0xffffffff
je 0x450ae1
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0xc0], rax
mov byte [rsp + 0xde], 0
mov rcx, qword [rdi + 0x30]
lea r8, [rdi + 0x24]
lea rdx, [rsp + 0xc0]
call fcn.00461850
mov ebp, eax
jmp 0x4548b8
mov rax, qword [rsp + 0x140]
mov rdi, qword [rax]
movsxd rax, dword [rbx + 8]
imul rbp, rax, 0x38
lea rsi, [rdi + rbp]
lea r14, [rdi + rbp]
add r14, 0x14
mov eax, dword [rdi + rbp + 0x14]
mov ecx, eax
xor ecx, 0x6fff
test cx, ax
je 0x452bfd
mov rcx, rsi
call fcn.00467410
jmp 0x452c03
movsxd rax, dword [rbx + 4]
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x30]
mov cl, byte [rax + 1]
mov edx, ecx
and dl, 0x40
xor cl, 0x40
or cl, dl
mov byte [rax + 1], cl
add rbx, 0x18
jmp 0x44c1d4
cmp dword [rsp + 0xac], 0
js 0x452c33
je 0x45452e
mov eax, dword [rbx + 0xc]
jmp 0x45dd6c
mov rdx, qword [rsp + 0x78]
mov ecx, dword [rdx + rax + 0x14]
not ecx
or ecx, 0xfffb
cmp cx, 0xffff
je 0x44c1d0
mov rax, qword [rdx + rax]
jmp 0x45dd71
movsxd rax, dword [rbx + 4]
imul rbp, rax, 0x38
movsxd rdi, dword [rbx + 8]
mov rdx, qword [rsp + 0x78]
mov eax, dword [rdx + rbp + 0x14]
mov ecx, eax
xor ecx, 0xffef
test cx, ax
je 0x452c3b
mov rsi, qword [rdx + rbp + 8]
jmp 0x452d43
mov qword [rsp + 0x48], r14
mov r14, r13
mov r13, rdi
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rax, qword [rax + rcx*8]
mov rcx, qword [rax + 0x38]
mov qword [rsp + 0x180], rcx
movzx ecx, word [rbx + 0x10]
mov word [rsp + 0x19c], cx
cmp bpl, 0x29
sbb ecx, ecx
mov byte [rsp + 0x19e], cl
mov rdi, rbx
movsxd rcx, dword [rbx + 0xc]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x78]
mov qword [rsp + 0x188], rcx
mov rbx, qword [rax + 0x30]
mov rcx, rbx
call fcn.004412b0
mov esi, dword [rbx + 0x40]
test esi, esi
jle 0x45e6ed
mov word [rsp + 0xd4], 0
mov qword [rsp + 0xd8], r15
mov dword [rsp + 0xe0], 0
movzx eax, word [rbx + 0x44]
mov rdx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x88]
mov ecx, dword [rcx + 0x58]
sub ecx, edx
mov ebp, 0
cmovns ebp, ecx
cmp eax, ecx
cmovle ebp, eax
mov qword [rsp + 0xc8], rdx
cmp ebp, esi
jae 0x45178c
mov word [rsp + 0xd4], 1
mov rax, qword [rbx + 0x20]
mov ecx, dword [rax + 0x34]
mov eax, dword [rax + 0x40]
imul rax, rcx
cmp rax, rsi
jb 0x45eab9
lea edx, [rsi + 1]
test edx, edx
jle 0x4555f2
lea rcx, [rsp + 0xc0]
xor r8d, r8d
call fcn.00449fe0
test eax, eax
jne 0x45ee88
mov r9, qword [rsp + 0xc8]
jmp 0x45560c
jne 0x44c1d0
mov qword [rsp + 0x48], r14
mov r14, r13
mov r13, rdi
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
mov rax, qword [rsp + 0x78]
lea rsi, [rax + rdi]
mov eax, dword [rax + rdi + 0x14]
mov ecx, eax
not ecx
or ecx, 0xfbff
cmp cx, 0xffff
je 0x44f2fe
mov edx, dword [rsi]
mov rcx, qword [rsp + 0x78]
add edx, dword [rcx + rdi + 0x10]
test edx, edx
jg 0x44f2b9
mov ecx, eax
xor ecx, 0xffef
mov edx, 1
test cx, ax
je 0x44f2fe
mov rcx, rsi
mov r8d, 1
call fcn.00449fe0
test eax, eax
jne 0x45eee4
mov rbp, rbx
mov rax, qword [rsp + 0x78]
lea rbx, [rax + rdi]
add rbx, 0x14
movsxd r8, dword [rsi]
movsxd rcx, dword [rbx - 4]
add rcx, qword [rax + rdi + 8]
xor edx, edx
call fcn.005f4c10
mov eax, dword [rsi]
add dword [rbx - 4], eax
and byte [rbx + 1], 0xf9
mov rbx, rbp
mov dl, byte [rbx + 8]
mov rcx, rsi
mov r8b, byte [rsp + 0x67]
call fcn.0045fae0
mov ebp, eax
xor eax, eax
mov qword [rsp + 0x80], rax
test ebp, ebp
mov rdi, r13
jne 0x45eab2
movabs rsi, 0xd4a2a94b0460db81
jmp 0x45a73c
movabs rax, 0xffffffff00000000
mov qword [rsp + 0xc0], rax
mov dword [rsp + 0xc8], 0xffffffff
mov ecx, dword [r15 + 0x28]
test ecx, ecx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x50], r13
jle 0x452d79
mov r8d, dword [rbx + 4]
mov eax, dword [rbx + 8]
mov dword [rsp + 0x80], eax
cmp r8d, 0xc
jne 0x4537e4
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
mov rbp, qword [rax + 8]
test rbp, rbp
je 0x45664a
mov rdi, qword [rbp + 8]
cmp byte [rbp + 0x11], 0
je 0x44f3b3
add dword [rbp + 0x14], 1
cmp byte [rbp + 0x12], 0
jne 0x44f3b3
mov rcx, rbp
call fcn.0043e9d0
mov esi, 6
cmp byte [rdi + 0x24], 0
jne 0x44f3e9
mov rcx, qword [rdi]
mov rdx, qword [rbp]
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x20], rax
mov r8d, dword [rsp + 0x80]
lea r9, [rsp + 0xc4]
call fcn.0053f300
mov esi, eax
cmp byte [rbp + 0x11], 0
je 0x45664c
add dword [rbp + 0x14], 0xffffffff
jne 0x45664c
mov rcx, rbp
call fcn.0043ea70
jmp 0x45664c
mov qword [rsp + 0x58], rdi
movsxd rax, dword [rbx + 4]
mov rcx, rbx
mov rbx, qword [rbx + 0x10]
imul r15, rax, 0x38
add r15, qword [rsp + 0x78]
mov eax, dword [rcx + 8]
add eax, 0xffffffff
cdqe
imul rdi, rax, 0x38
mov qword [rsp + 0x68], rcx
movsxd rax, dword [rcx + 0xc]
imul rax, rax, 0x38
mov qword [rsp + 0xa0], rax
test rbx, rbx
mov ebp, 0
je 0x450697
mov dl, byte [rbx]
add rbx, 1
mov rsi, r15
jmp 0x44f473
add rsi, 0x38
movzx edx, byte [rbx]
add rbx, 1
test dl, dl
je 0x450697
mov rcx, rsi
movzx r8d, byte [rsp + 0x67]
call fcn.0045f9c0
cmp byte [rbx - 1], 0x45
jne 0x44f460
mov eax, dword [rsi + 0x14]
not eax
mov ecx, eax
or ecx, 0xfffb
cmp cx, 0xffff
je 0x44f460
mov ecx, eax
not ecx
and eax, 0x2ad1
and ecx, 0xffffd50a
or ecx, eax
xor ecx, 0x2af1
mov word [rsi + 0x14], cx
jmp 0x44f460
movabs rsi, 0xd4a2a94b0460db81
mov r14, r15
mov r15, r12
jmp 0x455b46
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx + rax + 0x14]
mov ecx, eax
xor ecx, 0xfffe
test cx, ax
jne 0x45dd69
jmp 0x44c1d0
mov r12, rdi
mov qword [rsp + 0xc0], 0
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 8]
shl rcx, 5
mov rsi, qword [rax + rcx + 8]
mov r14, rbx
mov ebx, dword [rbx + 4]
mov rdi, qword [rsi + 8]
cmp byte [rsi + 0x11], 0
je 0x44f538
add dword [rsi + 0x14], 1
cmp byte [rsi + 0x12], 0
jne 0x44f538
mov rcx, rsi
call fcn.0043e9d0
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x451926
test ebx, ebx
je 0x451916
cmp dword [rcx + 0x50], ebx
je 0x451916
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x44f54d
jmp 0x451926
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
cmp qword [rax + rcx*8], 0
jne 0x44c1d0
jmp 0x458a2d
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rax, qword [rax + rcx*8]
movzx ecx, word [rax + 0xc]
mov edx, dword [rbx + 8]
cmp edx, ecx
jle 0x450cd5
mov word [rax + 0xc], dx
add rbx, 0x18
jmp 0x44c1d4
movsxd rax, dword [rbx + 4]
imul rax, rax, 0x38
mov rbp, qword [rsp + 0x78]
movzx ecx, word [rbp + rax + 0x14]
mov edx, ecx
not edx
or edx, 7
and edx, 0xffffd807
and ecx, 0x27c0
or ecx, edx
xor ecx, 0xd806
mov word [rbp + rax + 0x14], cx
add rbx, 0x18
jmp 0x44c1d4
test eax, eax
je 0x452d85
mov rbp, qword [rsp + 0x40]
mov eax, dword [rbp + 0xc8]
mov ecx, eax
xor ecx, 3
and ecx, eax
mov eax, dword [rbx + 8]
add eax, 1
and eax, 3
mov edx, eax
and edx, ecx
xor eax, ecx
or eax, edx
mov dword [rbp + 0xc8], eax
add rbx, 0x18
jmp 0x44c1d4
mov rbp, rbx
imul rsi, rax, 0x38
mov rax, qword [rsp + 0x78]
lea rdi, [rax + rsi]
add rdi, 0x14
mov ebx, dword [rax + rsi + 0x14]
mov eax, ebx
xor eax, 0xfffb
test ax, bx
jne 0x45a716
movzx eax, bx
mov ecx, eax
xor ecx, 0xfffb
test ecx, eax
jne 0x45a707
add rsi, qword [rsp + 0x78]
mov ecx, eax
xor ecx, 0xfff7
test ecx, eax
je 0x458ae4
movapd xmm7, xmm6
movsd xmm6, qword [rsi]
movapd xmm0, xmm6
call fcn.0044b040
movabs rcx, 0x7fffffffffffffff
add rcx, rax
add rcx, 2
cmp rcx, 2
jb 0x45a6ff
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
ucomisd xmm6, xmm0
jne 0x45a6ff
jp 0x45a6ff
mov cl, 1
test cl, cl
movapd xmm6, xmm7
je 0x45a703
mov qword [rsi], rax
or ebx, 4
and ebx, 0xf244
mov word [rdi], bx
jmp 0x45a703
jne 0x450ced
mov r12, rdi
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
mov rbp, rbx
movsxd rax, dword [rbx + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
lea rsi, [rcx + rax]
lea rbx, [rcx + rax]
add rbx, 0x14
mov eax, dword [rcx + rax + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x454b0f
mov rcx, rsi
call fcn.00449e10
jmp 0x454b14
cmp bpl, 0x41
jb 0x4515cc
mov qword [rsp + 0x58], rdi
mov rax, rbx
mov rbx, qword [rbx + 0x10]
mov qword [rsp + 0x68], rax
movsxd rax, dword [rax + 0xc]
imul r12, rax, 0x38
mov rax, qword [rsp + 0x78]
lea rdi, [rax + r12]
cmp qword [rbx], rdi
mov qword [rsp + 0x48], r14
je 0x454b47
mov rax, qword [rsp + 0x40]
mov qword [rbx + 0x18], rax
mov qword [rbx], rdi
mov al, byte [rsp + 0x67]
mov byte [rbx + 0x28], al
movzx eax, byte [rbx + 0x2a]
test rax, rax
je 0x45686a
mov rcx, qword [rsp + 0x68]
movsxd r9, dword [rcx + 8]
cmp al, 4
jae 0x457148
mov rcx, rax
jmp 0x457244
cmp bpl, 0x9b
jae 0x450dab
movsxd rax, dword [rbx + 4]
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rsp + 0xb8]
mov rcx, qword [rcx]
shl rax, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x38
xor r8d, r8d
call fcn.004790f0
test rax, rax
je 0x44c1d0
mov rbp, rax
mov r11, qword [rax + 0x28]
cmp r11, qword [rax + 0x30]
je 0x456871
mov rcx, r15
mov rdx, rbp
call fcn.00401e90
jmp 0x4541d8
cmp bpl, 0x87
mov qword [rsp + 0x68], rbx
jae 0x450e2d
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], rdi
mov rax, qword [rsp + 0x140]
mov r15, qword [rax]
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
lea r14, [r15 + rdi]
lea r12, [r15 + rdi]
add r12, 0x14
mov eax, dword [r15 + rdi + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x454b4f
mov rcx, r14
call fcn.00467410
jmp 0x454b56
cmp bpl, 0xb0
jae 0x450e71
mov rax, r13
mov r13, rdi
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rsi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rdi, rax, 0x38
mov rdx, qword [rsp + 0x78]
lea rcx, [rdx + rdi]
cmp byte [rsi + 2], 0
je 0x454c15
mov eax, dword [rdx + rdi + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x4568be
call fcn.00449e10
jmp 0x4568cb
cmp bpl, 8
jae 0x458a2d
mov qword [rsp + 0xc0], 0
cmp byte [r15 + 0x67], 0
jne 0x45e138
mov rax, qword [rbx + 0x10]
mov r12, qword [rax + 0x10]
mov ebp, 6
test r12, r12
je 0x45ee02
mov r9, qword [r12]
test r9, r9
je 0x45ee02
mov rbp, qword [r9 + 0x68]
test rbp, rbp
je 0x459447
mov qword [rsp + 0x58], rdi
mov edx, dword [rbx + 8]
mov rax, qword [rsp + 0x70]
mov r15b, byte [rax + 0x6c]
mov rax, qword [rsp + 0x40]
mov r8, qword [rax + 0x70]
test edx, edx
jle 0x4574fb
mov qword [rsp + 0x50], r13
movsxd rax, dword [rbx + 0xc]
imul r10, rax, 0x38
add r10, qword [rsp + 0x78]
cmp edx, 4
jae 0x4573df
xor ecx, ecx
mov r13, r10
jmp 0x4574e1
movsxd rax, dword [rbx + 4]
cmp bpl, 0x66
jae 0x450eea
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx]
mov rsi, qword [rcx + rax*8]
test rsi, rsi
je 0x44d85d
mov eax, dword [rsi + 0x44]
cmp eax, dword [rbx + 8]
jne 0x44d85d
mov qword [rsp + 0x48], r14
mov rbp, rdi
mov r12, rbx
mov rdi, qword [rsi + 0x30]
mov rbx, qword [rdi + 0x18]
test rbx, rbx
je 0x459621
cmp dword [0x005f6010], 0
je 0x459618
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x44f9c2
call qword [0x005f6090]
mov rcx, rbx
call qword [0x005f6048]
cdqe
mov rcx, qword [0x0213b040]
movabs rdx, 0x51de06c6f4729f8b
add rcx, rdx
sub rcx, rax
sub rcx, rdx
mov qword [0x0213b040], rcx
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rbx
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x459621
call qword [0x005f60a0]
jmp 0x459621
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
mov rdx, qword [rsp + 0x78]
lea rax, [rdx + rcx]
mov rcx, qword [rdx + rcx]
cmp bpl, 0x3c
jae 0x450f8f
test rcx, rcx
je 0x44c1d0
jle 0x45dd69
movabs rbp, 0xddf111cc0c5ea8d9
mov rdx, rbp
not rdx
add rcx, rdx
add rcx, rbp
mov qword [rax], rcx
jmp 0x45dd69
cmp bpl, 0x96
jae 0x450fca
mov eax, dword [rbx + 4]
movsxd rsi, eax
cmp qword [rbx + 0x10], 0
je 0x454ca5
mov qword [rsp + 0xc0], r15
mov dword [rsp + 0xd0], esi
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0xc8], rax
mov dword [rsp + 0xd8], 0
mov rax, qword [r15 + 0x20]
shl rsi, 5
mov rcx, qword [rax + rsi + 8]
mov rcx, qword [rcx + 8]
mov ecx, dword [rcx + 0x40]
mov dword [rsp + 0xe0], ecx
mov r8, qword [rax + rsi]
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
mov rcx, r15
lea rdx, [0x005fd415]
lea r9, [0x005fd407]
call fcn.00419c10
test rax, rax
je 0x45ee54
mov rsi, rax
mov byte [r15 + 0xc5], 1
mov dword [rsp + 0xd4], 0
mov dword [rsp + 0xdc], 0
mov qword [rsp + 0x20], 0
mov rcx, r15
mov rdx, rax
lea r8, [fcn.00465e20]
lea r9, [rsp + 0xc0]
call fcn.0041c6d0
mov ebp, eax
test eax, eax
jne 0x44fb43
mov ebp, dword [rsp + 0xd4]
test ebp, ebp
jne 0x44fb82
xor ebp, ebp
cmp dword [rsp + 0xdc], 0
jne 0x44fb82
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
mov ebp, 0xb
mov ecx, 0xb
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov r9d, 0x1731d
call fcn.00408970
cmp qword [r15 + 0x300], 0
je 0x456b71
mov rcx, r15
mov rdx, rsi
call fcn.004297f0
mov byte [r15 + 0xc5], 0
jmp 0x454d00
cmp bpl, 0x1e
ja 0x44fc51
mov qword [rsp + 0x48], r14
movsxd rax, dword [rbx + 0xc]
mov rbp, qword [rsp + 0x78]
mov r12, rdi
imul rax, rax, 0x38
mov rsi, qword [rbp + rax]
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi + 0x30]
mov dword [rsp + 0x174], 0
mov rdx, rsi
xor r8d, r8d
lea r9, [rsp + 0x174]
call fcn.004612f0
mov ebp, eax
mov qword [rdi + 0x50], rsi
mov word [rdi + 2], 0
mov dword [rdi + 0x20], 0
mov eax, dword [rsp + 0x174]
mov dword [rdi + 0x24], eax
test eax, eax
je 0x44c19f
cmp dword [rbx + 8], 0
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r12
je 0x45e8de
mov eax, ebp
mov qword [rsp + 0x80], rax
mov r14, qword [rsp + 0x48]
jmp 0x45dd69
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rsi, qword [rax + rcx*8]
mov rcx, qword [rsi + 0x30]
mov dword [rsp + 0xc0], 0
cmp bpl, 0x89
jne 0x44fc89
mov dword [rsi + 0x24], 0xffffffff
cmp byte [rcx], 0
je 0x453cad
lea rdx, [rsp + 0xc0]
call fcn.00461120
mov ecx, dword [rsp + 0xc0]
mov byte [rsi + 2], cl
mov byte [rsi + 3], 0
mov dword [rsi + 0x20], 0
test eax, eax
jne 0x45e109
test ecx, ecx
sete al
cmp dword [rbx + 8], 0
setle cl
xor edx, edx
mov qword [rsp + 0x80], rdx
test al, cl
movabs rsi, 0xd4a2a94b0460db81
jne 0x44c1d0
xor al, cl
je 0x45dd69
jmp 0x44c1d0
mov qword [rsp + 0x50], r13
mov r13, rdi
cmp bpl, 0x51
jae 0x450fec
mov edi, dword [rbx + 0xc]
movsxd rax, dword [rbx + 4]
imul rsi, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rsi, rcx
mov rbp, rbx
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rbx, rcx
nop dword [rax + rax]
mov eax, dword [rbx + 0x14]
mov ecx, eax
xor ecx, 0x6fff
test cx, ax
je 0x44fd43
mov rcx, rbx
mov rdx, rsi
mov r8d, 0x4000
call fcn.00467450
jmp 0x44fd90
mov rax, qword [rsi + 0x10]
mov qword [rbx + 0x10], rax
movupd xmm0, xmmword [rsi]
movupd xmmword [rbx], xmm0
mov eax, dword [rsi + 0x14]
mov ecx, eax
xor ecx, 0xdfff
test cx, ax
jne 0x44fd90
mov eax, dword [rbx + 0x14]
mov ecx, eax
xor ecx, 0x7000
and ecx, eax
mov eax, ecx
and eax, 0x4000
xor ecx, 0x4000
or ecx, eax
mov word [rbx + 0x14], cx
nop word [rax + rax]
mov eax, dword [rbx + 0x14]
mov ecx, eax
xor ecx, 0xbfff
test cx, ax
je 0x44fe4f
movzx ecx, ax
mov edx, ecx
xor edx, 0xffed
test edx, ecx
je 0x44fe3f
mov edx, ecx
xor edx, 0xfbff
test edx, ecx
je 0x44fe1b
mov edx, dword [rbx]
add edx, dword [rbx + 0x10]
test edx, edx
jg 0x44fdde
mov ecx, eax
xor ecx, 0xffef
mov edx, 1
test cx, ax
je 0x44fe1b
mov rcx, rbx
mov r8d, 1
call fcn.00449fe0
test eax, eax
jne 0x45e0a8
movsxd r8, dword [rbx]
movsxd rcx, dword [rbx + 0x10]
add rcx, qword [rbx + 8]
xor edx, edx
call fcn.005f4c10
mov eax, dword [rbx]
mov ecx, dword [rbx + 0x14]
add dword [rbx + 0x10], eax
mov eax, ecx
xor eax, 0x600
and eax, ecx
mov word [rbx + 0x14], ax
cmp dword [rbx + 0x20], 0
je 0x44fe2b
mov rcx, qword [rbx + 8]
cmp rcx, qword [rbx + 0x28]
je 0x44fe3f
mov rcx, rbx
call fcn.0044a9d0
test eax, eax
jne 0x45e0a8
movzx eax, word [rbx + 0x14]
mov ecx, eax
xor ecx, 0x4000
and ecx, eax
mov word [rbx + 0x14], cx
mov eax, ecx
mov ecx, eax
not ecx
or ecx, 0xf7ff
cmp cx, 0xffff
je 0x44fe7a
movzx ecx, word [rbp + 2]
not ecx
or ecx, 0xfffd
cmp cx, 0xffff
je 0x44fe7a
and eax, 0xf7ff
mov word [rbx + 0x14], ax
test edi, edi
je 0x4534b4
add edi, 0xffffffff
add rbx, 0x38
add rsi, 0x38
jmp 0x44fd20
cmp bpl, 0xab
jae 0x451034
mov r12, r15
mov r15, rdi
mov rsi, qword [rbx + 0x10]
movsxd rdx, dword [r12 + 0x21c]
test rdx, rdx
jle 0x44fec2
cmp qword [r12 + 0x240], 0
je 0x4568e9
test rsi, rsi
je 0x4558ae
mov rcx, qword [rsi + 0x10]
mov r9, qword [rcx]
mov rbp, qword [r9 + 0x70]
test rbp, rbp
je 0x45c261
mov r8, rbx
mov eax, edx
test eax, eax
jle 0x44ff05
mov rbx, qword [r12 + 0x240]
xor edi, edi
cmp qword [rbx + rdi*8], rsi
je 0x458e49
add rdi, 1
cmp rax, rdi
jne 0x44fef2
imul eax, edx, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333332
mov rbx, r8
ja 0x45c1d8
lea r8, [rdx*8 + 0x28]
mov rcx, r12
mov rax, qword [r12 + 0x240]
test rax, rax
je 0x45b7bb
cmp qword [rcx + 0x1f0], rax
jbe 0x45c191
cmp qword [rcx + 0x1e0], rax
jbe 0x45c188
cmp qword [rcx + 0x1e8], rax
ja 0x45c191
movzx ebp, word [rcx + 0x1a6]
cmp r8, rbp
ja 0x45c191
jmp 0x45c1b3
movsxd rax, dword [rbx + 4]
imul rax, rax, 0x38
cmp bpl, 0x11
jae 0x451117
mov rcx, qword [rsp + 0x78]
lea rdx, [rcx + rax]
movzx ebp, word [rcx + rax + 0x14]
mov ecx, ebp
xor ecx, 0xffdb
test ecx, ebp
je 0x454d25
cmp qword [rdx], 0
jne 0x44c1d0
jmp 0x45dd69
cmp bpl, 0x78
jae 0x451154
mov edx, dword [rbx + 4]
mov r8d, dword [rbx + 8]
mov rsi, qword [rsp + 0x40]
mov rcx, rsi
mov r9b, 1
call fcn.004604f0
test rax, rax
je 0x45ea89
mov r12, rax
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r13
mov rax, qword [rbx + 0x10]
mov qword [r12 + 0x38], rax
mov rcx, qword [rsp + 0x70]
cmp byte [rcx + 0x66], 2
sete cl
cmp byte [0x005f6014], 0
mov r14d, dword [rbx + 0xc]
sete dl
xor r13d, r13d
test cl, dl
mov qword [rsp + 0x58], rdi
jne 0x45002b
xor cl, dl
jne 0x45002b
mov rcx, qword [rsp + 0x70]
mov r13d, dword [rcx + 0xb4]
movzx ebp, word [rax + 6]
imul edi, r13d, 0x68
lea eax, [rdi + rbp*8]
add eax, 0xe8
movsxd rsi, eax
mov rcx, qword [rsp + 0x70]
mov rdx, rsi
call fcn.00429840
test rax, rax
je 0x45eb00
mov r15, rax
lea ebp, [rbp*8 + 0x20]
add edi, 0xc8
mov rcx, rax
xor edx, edx
mov r8, rsi
call fcn.005f4c10
mov qword [r12 + 0x30], r15
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
mov rsi, qword [rax + 8]
movsxd rdi, edi
lea rcx, [r15 + rdi]
mov qword [r15 + 0x28], rcx
mov rdx, qword [r12 + 0x38]
mov r8d, ebp
mov qword [rsp + 0x80], rcx
call fcn.005f4c20
mov qword [r15 + rdi + 0x10], 0
test r14d, r14d
setne al
test r13d, r13d
setne cl
cmp al, cl
je 0x4500d0
test r14d, r14d
je 0x4500d0
mov rax, qword [rsp + 0x80]
mov word [rax + 6], r14w
cmp byte [rsi + 0x11], 0
je 0x4556ba
mov eax, dword [rsi + 0x14]
add eax, 1
mov dword [rsi + 0x14], eax
cmp byte [rsi + 0x12], 0
je 0x456c8f
mov rcx, qword [rsi + 8]
mov edi, dword [rcx + 0x34]
mov dword [r15 + 0xc], edi
jmp 0x456cab
cmp bpl, 0x47
jae 0x451181
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x108]
test rcx, rcx
setne dl
mov rsi, rbx
mov eax, dword [rbx + 4]
test eax, eax
setne bl
cmp dl, bl
je 0x45e5fc
test rcx, rcx
je 0x45e5fc
mov rbp, rdi
mov rax, qword [rcx + 8]
mov rdi, qword [rsp + 0x40]
mov qword [rdi + 0x108], rax
add dword [rdi + 0x118], 0xffffffff
mov rax, qword [rdi + 0x38]
mov qword [r15 + 0x78], rax
add qword [r15 + 0x80], rax
call fcn.00447e60
cmp dword [rsi + 8], 4
mov rcx, qword [rdi + 0x88]
jne 0x45017d
cdqe
lea rax, [rax + rax*2]
mov eax, dword [rcx + rax*8 + 8]
add eax, 0xffffffff
mov rdx, qword [rsp + 0x140]
mov rdx, qword [rdx]
mov qword [rsp + 0x78], rdx
cdqe
lea rax, [rax + rax*2]
mov qword [rsp + 0x130], rcx
lea rbx, [rcx + rax*8]
jmp 0x45c5ba
cmp bpl, 0xa0
jae 0x4511ba
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x108]
mov rax, qword [rsp + 0x78]
test rcx, rcx
je 0x4501e0
nop dword [rax + rax]
mov rax, rcx
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x4501d0
mov rax, qword [rax + 0x20]
mov r12, rdi
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x68], rbx
movsxd rcx, dword [rbx + 4]
imul rbp, rcx, 0x38
lea rsi, [rax + rbp]
lea r14, [rax + rbp]
add r14, 0x14
movzx ebx, word [rax + rbp + 0x14]
movzx edi, bx
mov edx, edi
not edx
mov ecx, edx
or ecx, 0xffffffdb
cmp ecx, 0xffffffff
je 0x454d44
mov rax, qword [rsi]
jmp 0x45924c
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
mov rdx, qword [rsp + 0x78]
lea r8, [rdx + rdi]
cmp bpl, 0x2d
jne 0x45120c
mov qword [rsp + 0x48], r14
mov r14, rbx
lea rbx, [rdx + rdi]
add rbx, 0x14
mov eax, dword [rdx + rdi + 0x14]
mov ecx, eax
xor ecx, 0xffef
test cx, ax
je 0x4568f6
mov rax, qword [rsp + 0x78]
mov rdi, qword [rax + rdi + 8]
movzx eax, word [rdi + 0x32]
movzx ecx, ax
not ecx
mov edx, ecx
or edx, 0xfffffffd
cmp edx, 0xffffffff
jne 0x4502c2
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jne 0x45029f
mov rcx, qword [rdi + 0x10]
mov rsi, r8
call fcn.0047c2f0
mov r8, rsi
mov qword [rdi + 0x10], rax
movzx eax, word [rdi + 0x32]
mov ecx, eax
not ecx
and ecx, 0xffff87b4
mov edx, eax
and edx, 0x784b
or edx, ecx
xor edx, 0xffff87b7
and eax, 3
or eax, edx
mov word [rdi + 0x32], ax
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x4568f3
lea rbx, [rdi + 0x10]
mov rsi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx], rax
test rax, rax
jne 0x45031e
mov rdx, qword [rdi]
test rdx, rdx
je 0x4502fe
mov rbp, qword [rdx]
mov rcx, qword [rdi + 8]
call fcn.00408130
mov rdx, rbp
test rbp, rbp
jne 0x4502ea
mov qword [rdi], 0
mov word [rdi + 0x30], 0
mov qword [rdi + 0x28], 0
movdqu xmmword [rbx], xmm13
mov word [rdi + 0x32], 1
mov rbx, r14
movsxd rax, dword [r14 + 0xc]
imul rax, rax, 0x38
mov rbp, qword [rsp + 0x78]
lea rcx, [rax + rbp]
mov edx, dword [rbp + rax + 0x14]
not edx
or edx, 0x6fff
cmp dx, 0xffff
je 0x457c9a
mov rdx, rsi
call fcn.0044b3a0
jmp 0x457ca9
mov r13, rdi
cmp bpl, 0x8c
jae 0x4514a8
mov qword [rsp + 0x48], r14
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rbx + 8]
imul rbp, rax, 0x38
mov r12, qword [rsp + 0x78]
mov eax, dword [r12 + rbp + 0x14]
mov ecx, eax
not ecx
or ecx, 0xfbff
cmp cx, 0xffff
je 0x450402
lea rsi, [r12 + rbp]
mov edx, dword [rsi]
add edx, dword [r12 + rbp + 0x10]
test edx, edx
jg 0x4503bd
mov ecx, eax
xor ecx, 0xffef
mov edx, 1
test cx, ax
je 0x450402
mov rcx, rsi
mov r8d, 1
call fcn.00449fe0
test eax, eax
jne 0x45eeee
mov rdi, rbx
mov r12, qword [rsp + 0x78]
lea rbx, [r12 + rbp]
add rbx, 0x14
movsxd r8, dword [rsi]
movsxd rcx, dword [rbx - 4]
add rcx, qword [r12 + rbp + 8]
xor edx, edx
call fcn.005f4c10
mov eax, dword [rsi]
add dword [rbx - 4], eax
and byte [rbx + 1], 0xf9
mov rbx, rdi
mov qword [rsp + 0x68], rbx
mov rbx, qword [r14 + 0x30]
mov rcx, qword [r12 + rbp + 8]
movzx eax, byte [rcx + 1]
test al, al
js 0x4551ff
mov r14, qword [rsp + 0x48]
jmp 0x45a2b2
cmp bpl, 0x5c
jae 0x451557
movsxd rax, dword [rbx + 8]
imul rsi, rax, 0x38
movsxd rax, dword [rbx + 4]
imul rax, rax, 0x38
mov rdx, qword [rsp + 0x78]
lea rcx, [rdx + rax]
movzx ebp, word [rdx + rax + 0x14]
not ebp
mov edx, ebp
or edx, 0xffffffdb
cmp edx, 0xffffffff
je 0x454d62
mov r12, r14
mov r14, rdi
xor eax, eax
cmp qword [rcx], 0
setne al
jmp 0x45bc98
cmp bpl, 0xb5
jae 0x4515c6
mov qword [rsp + 0x50], r13
mov r13, rdi
mov r12, r14
movsxd r14, dword [rbx + 4]
mov eax, dword [rbx + 0x10]
test eax, eax
mov qword [rsp + 0x68], rbx
jle 0x454d7e
movsxd rbx, dword [rbx + 0xc]
add eax, ebx
movsxd rbp, eax
imul rdi, rbx, 0x38
add rdi, qword [rsp + 0x78]
xor esi, esi
jmp 0x4504db
mov rax, qword [rdi]
movabs rcx, 0xce98e80c8a7b3395
add rax, rcx
add rax, rsi
sub rax, rcx
mov rsi, rax
add rbx, 1
add rdi, 0x38
cmp rbx, rbp
jge 0x454d80
movzx eax, word [rdi + 0x14]
not eax
mov ecx, eax
or ecx, 0xffffffdb
cmp ecx, 0xffffffff
jne 0x4504b1
mov ecx, eax
or ecx, 0xfffffff7
cmp ecx, 0xffffffff
je 0x45050a
movsd xmm0, qword [rdi]
call fcn.0044b040
movabs rcx, 0xb3e8bcb3483e1bbb
jmp 0x4504be
mov ecx, eax
or ecx, 0xffffffed
cmp ecx, 0xffffffff
je 0x4504ca
movsxd rcx, dword [rdi + 0x10]
movabs rdx, 0xa5dc272e76685485
sub rsi, rdx
add rsi, rcx
add rsi, rdx
or eax, 0xfffffbff
cmp eax, 0xffffffff
je 0x4504ca
movsxd rax, dword [rdi]
add rsi, rax
jmp 0x4504ca
mov rsi, qword [r12 + 0x30]
mov rcx, rsi
call fcn.00467e70
mov r13d, 1
cmp eax, 0x10
je 0x4534ad
mov ebp, eax
test eax, eax
jne 0x456c47
mov qword [rsp + 0x80], r12
lea r12, [rsi + 0x88]
mov rax, qword [r12]
xor r13d, r13d
cmp byte [rax + 8], 0
jne 0x456ab2
movsx r10, byte [rsi + 0x54]
cmp r10, 0x13
jge 0x456c0b
movzx r8d, word [rsi + 0x56]
mov r9, qword [rax + 0x50]
mov rdx, qword [rax + 0x60]
movzx ebp, word [rax + 0x1a]
mov r11, rbx
movzx ebx, byte [rdx + r8*2]
movzx edx, byte [rdx + r8*2 + 1]
shl ebx, 8
mov ecx, ebx
not ecx
movabs rdi, 0xaae68c189d3950af
mov r15, r14
mov r14, rdi
not edi
and ebx, edi
and edi, edx
not edx
and ecx, r14d
or ebx, ecx
and edx, r14d
mov r14, r15
or edi, edx
xor edi, ebx
not edi
not ebp
or ebp, edi
movabs rdx, 0x86b42d9e592a31f6
mov ecx, edx
not ecx
or ecx, edx
not ebp
and ebp, ecx
movzx ecx, byte [r9 + rbp + 1]
shl ecx, 0x10
movzx edx, byte [r9 + rbp]
shl edx, 0x18
mov ebx, edx
not ebx
mov edi, ecx
not edi
and ebx, 0x6c7467a3
and edx, 0x93000000
or edx, ebx
and edi, 0x6c7467a3
and ecx, 0x8b0000
or ecx, edi
xor ecx, edx
movzx edx, byte [r9 + rbp + 2]
shl edx, 8
or edx, ecx
movzx ebp, byte [r9 + rbp + 3]
mov ebx, edx
and ebx, ebp
mov rcx, qword [rsi + 0x20]
mov word [rsi + 0x46], 0
and byte [rsi + 1], 0xf9
xor edx, ebp
or edx, ebx
mov rbx, r11
mov word [rsi + r10*2 + 0x58], r8w
mov qword [rsi + r10*8 + 0x90], rax
mov word [rsi + 0x56], 0
lea eax, [r10 + 1]
mov byte [rsi + 0x54], al
movzx eax, byte [rsi + 2]
mov dword [rsp + 0x20], eax
mov r8, r12
mov r9, rsi
call fcn.004681b0
test eax, eax
je 0x450572
mov ebp, eax
jmp 0x456c3a
mov qword [rsp + 0x48], r14
mov rbx, rdi
add rbx, r15
mov rax, qword [rsp + 0x78]
mov r10, qword [rsp + 0xa0]
add rax, r10
mov qword [rsp + 0x98], rax
xor r11d, r11d
xor r14d, r14d
xor r12d, r12d
mov qword [rsp + 0x88], rbx
jmp 0x4506f7
or eax, 0xfffffbff
cmp eax, 0xffffffff
mov eax, 0xa
cmove eax, ebp
mov dword [rbx + 0x24], eax
add r14d, 1
lea rax, [rbx - 0x38]
cmp rbx, r15
mov rbx, rax
je 0x450974
movzx esi, word [rbx + 0x14]
mov eax, esi
not eax
mov ecx, eax
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jne 0x4506d0
mov ecx, esi
xor ecx, 0xffdb
test ecx, esi
je 0x45077e
mov r8, qword [rbx]
mov rcx, r8
sar rcx, 0x3f
mov rdi, rcx
not rdi
movabs r9, 0x319844b04cf04ea0
and rdi, r9
mov rdx, r9
not rdx
and rcx, rdx
or rcx, rdi
mov rbp, r8
not rbp
and rbp, r9
and rdx, r8
or rdx, rbp
xor rdx, rcx
add r14d, 1
cmp rdx, 0x7f
ja 0x45079e
cmp r8, 1
mov ebp, 0
ja 0x4507bc
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0xc3], 4
jb 0x4507bc
add edx, 8
mov dword [rbx + 0x24], edx
jmp 0x4506e7
mov ecx, esi
xor ecx, 0xfff7
test ecx, esi
je 0x4507e5
add r14d, 1
add r12, 8
mov dword [rbx + 0x24], 7
jmp 0x4506e7
cmp rdx, 0x7fff
mov ebp, 0
ja 0x4507cc
add r12, 2
mov dword [rbx + 0x24], 2
jmp 0x4506e7
add r12, 1
mov dword [rbx + 0x24], 1
jmp 0x4506e7
cmp rdx, 0x7fffff
ja 0x450837
add r12, 3
mov dword [rbx + 0x24], 3
jmp 0x4506e7
mov r13d, dword [rbx + 0x10]
lea ecx, [r13 + r13 + 0xc]
shr esi, 1
or esi, 0x79970dd8
mov edx, ecx
not edx
and edx, 0x79970dd8
and ecx, 0x8668f226
or ecx, edx
and esi, 0x79970dd9
xor esi, ecx
mov ecx, eax
or ecx, 0xfffffbff
cmp ecx, 0xffffffff
je 0x4508ed
movsxd rcx, dword [rbx]
lea esi, [rsi + rcx*2]
test r12, r12
je 0x450882
add ecx, r13d
test ecx, ecx
jle 0x450897
mov edx, ecx
jmp 0x4508ab
mov ecx, 0xffffffff
add rcx, 0xffffffff80000001
cmp rdx, rcx
jae 0x450868
movabs rax, 0x62d97473b3a0983e
sub r12, rax
add r12, rax
add r12, 4
mov dword [rbx + 0x24], 4
jmp 0x4506e7
shr rdx, 0x2f
jne 0x450920
add r12, 6
mov dword [rbx + 0x24], 5
jmp 0x4506e7
movabs rax, 0x4012edb7a35d4ff0
sub r11, rax
add r11, rcx
add r11, rax
jmp 0x4508ed
or eax, 0xffef
mov edx, 1
cmp ax, 0xffff
je 0x450963
mov rdi, r11
mov rcx, rbx
mov r8d, 1
call fcn.00449fe0
test eax, eax
jne 0x45e86d
movsxd r8, dword [rbx]
movsxd rcx, dword [rbx + 0x10]
add rcx, qword [rbx + 8]
xor edx, edx
call fcn.005f4c10
mov eax, dword [rbx]
add dword [rbx + 0x10], eax
and byte [rbx + 0x15], 0xf9
add r13d, eax
mov r10, qword [rsp + 0xa0]
mov r11, rdi
mov eax, r13d
mov ecx, esi
mov edx, 1
nop word [rax + rax]
shr rcx, 7
add edx, 1
add r14d, 1
test rcx, rcx
jne 0x450900
add r12, rax
mov dword [rbx + 0x24], esi
mov r13, qword [rsp + 0x50]
jmp 0x4506e7
add r12, 8
mov ecx, esi
xor ecx, 0xffdf
test cx, si
je 0x450968
xorps xmm0, xmm0
cvtsi2sd xmm0, r8
movsd qword [rbx], xmm0
or eax, 8
and eax, 0x30ce
and esi, 0xcf11
or esi, eax
xor esi, 0x30c6
mov word [rbx + 0x14], si
mov dword [rbx + 0x24], 7
jmp 0x4506e7
mov r13d, ecx
jmp 0x4508ed
mov dword [rbx + 0x24], 6
jmp 0x4506e7
cmp r14d, 0x7e
jg 0x4516a0
add r14d, 1
mov rdi, qword [rsp + 0x88]
jmp 0x4516f5
mov qword [rsp + 0x48], r14
mov r12, rdi
mov rbp, rbx
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
lea rsi, [rcx + rax]
lea rdi, [rcx + rax]
add rdi, 0x14
movzx ebx, word [rcx + rax + 0x14]
movzx ecx, bx
mov edx, ecx
xor edx, 0xffdb
test edx, ecx
je 0x45342a
mov rax, qword [rsi]
jmp 0x457c00
mov dword [r15 + 0xe8], edi
xor eax, eax
mov qword [rsp + 0x80], rax
jmp 0x455b3c
add rax, rcx
add rax, 0x14
mov word [rax], 4
mov rdx, r14
movsxd rax, dword [r14 + 4]
shl rax, 5
mov rcx, qword [rsp + 0xb8]
mov rcx, qword [rcx]
mov rbx, qword [rcx + rax + 8]
cmp bpl, 0xb2
jne 0x450a31
mov rbp, rdi
mov eax, dword [rdx + 0xc]
test eax, eax
je 0x452dc4
mov rcx, qword [rbx + 8]
mov edi, dword [rcx + 0x40]
cmp edi, eax
cmovb edi, eax
jmp 0x452dc6
mov rax, qword [rbx + 8]
mov eax, dword [rax + 0x40]
mov qword [rsi], rax
mov rbx, rdx
mov r14, r12
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
cmp bpl, 0x82
jae 0x452df8
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax]
movsxd rax, dword [rbx + 4]
mov rax, qword [rcx + rax*8]
movsxd rdx, dword [rbx + 8]
mov rcx, qword [rcx + rdx*8]
movsxd rdx, dword [rbx + 0xc]
test rdx, rdx
mov qword [rsp + 0x68], rbx
je 0x455b57
imul rdx, rdx, 0x38
mov rbp, qword [rsp + 0x78]
mov r12, qword [rbp + rdx]
jmp 0x455b5a
mov r15, qword [rsp + 0x70]
cmp dword [r15 + 0xe0], 0
jg 0x45e992
test rsi, rsi
je 0x453cc0
mov rcx, rsi
call fcn.005f4bd8
mov ecx, eax
xor ecx, 0xc0000000
and ecx, eax
mov qword [rsp + 0xa0], rcx
jmp 0x453cca
mov rbx, r12
jmp 0x45c5ba
mov eax, dword [rcx + rbp + 0x14]
mov ecx, eax
not ecx
or ecx, 0xfbff
cmp cx, 0xffff
je 0x450b55
mov edx, dword [rsi]
mov rcx, qword [rsp + 0x78]
add edx, dword [rcx + rbp + 0x10]
test edx, edx
jg 0x450b16
not eax
or eax, 0xffef
mov edx, 1
cmp ax, 0xffff
je 0x450b55
mov rcx, rsi
mov r8d, 1
call fcn.00449fe0
test eax, eax
jne 0x45e8cc
mov rax, qword [rsp + 0x78]
lea rbx, [rax + rbp]
add rbx, 0x14
movsxd r8, dword [rsi]
movsxd rcx, dword [rbx - 4]
add rcx, qword [rax + rbp + 8]
xor edx, edx
call fcn.005f4c10
mov eax, dword [rsi]
add dword [rbx - 4], eax
and byte [rbx + 1], 0xf9
mov rbp, qword [rdi + 0x38]
movzx eax, word [rbp + 6]
imul rdx, rax, 0x38
add rdx, 0x60
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x454841
call fcn.00429840
jmp 0x454849
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x48]
jmp 0x452fa8
lea eax, [rdi*4 + 0x24]
cdqe
mov rcx, qword [rbx + 0x18]
mov rcx, qword [rcx + 0x50]
movzx edx, byte [rcx + rax]
shl edx, 0x18
movzx ebp, byte [rcx + rax + 1]
shl ebp, 0x10
or ebp, edx
movzx edx, byte [rcx + rax + 2]
shl edx, 8
or edx, ebp
movzx edi, byte [rcx + rax + 3]
mov eax, edx
not eax
mov ecx, edi
not ecx
and eax, 0xf86e3444
and edx, 0x791cb00
or edx, eax
and ecx, 0xf86e3444
and edi, 0xffffffbb
or edi, ecx
xor edi, edx
cmp byte [rsi + 0x11], 0
mov rbx, r14
je 0x450bfa
add dword [rsi + 0x14], 0xffffffff
jne 0x450bfa
mov rcx, rsi
call fcn.0043ea70
mov rax, qword [rsp + 0x140]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 8]
imul rcx, rcx, 0x38
lea rsi, [rax + rcx]
mov edx, dword [rax + rcx + 0x14]
not edx
or edx, 0x6fff
cmp dx, 0xffff
mov r14, r12
je 0x452e9e
mov rcx, rsi
call fcn.00467410
jmp 0x452eaa
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov r12, qword [rax + rcx*8]
mov rcx, qword [r12 + 0x30]
mov al, byte [rcx + 1]
mov edx, eax
xor dl, 0xe
and dl, al
mov byte [rcx + 1], dl
mov word [rcx + 0x46], 0
cmp byte [rcx], 0
je 0x454dae
call fcn.0046aa50
mov ebp, eax
jmp 0x454a8b
mov qword [rsp + 0x48], r14
mov r12, rdi
mov rdi, rbx
mov rax, qword [rax + 0x30]
mov rsi, qword [rax + 8]
mov ebx, dword [rax + 0x50]
mov r14, qword [rsi + 8]
cmp byte [rsi + 0x11], 0
je 0x450ca9
add dword [rsi + 0x14], 1
cmp byte [rsi + 0x12], 0
jne 0x450ca9
mov rcx, rsi
call fcn.0043e9d0
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x454729
test ebx, ebx
je 0x454719
cmp dword [rcx + 0x50], ebx
je 0x454719
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x450cbe
jmp 0x454729
mov edx, dword [rbx + 0xc]
cmp edx, ecx
jge 0x44c1d0
mov word [rax + 0xc], dx
add rbx, 0x18
jmp 0x44c1d4
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 0x78]
movsxd rdx, dword [rbx + 8]
mov rsi, qword [rax + rdx*8]
mov edx, dword [rbx + 4]
movsx r8d, word [rsi + 0x48]
xor r9d, r9d
call fcn.004604f0
test rax, rax
je 0x45e138
mov byte [rax + 2], 1
mov ecx, dword [rax + 8]
mov edx, ecx
not edx
and edx, 0x774b8558
mov ebp, ecx
and ebp, 0x88b47aa7
or ebp, edx
xor ebp, 0x774b8559
and ecx, 1
or ecx, ebp
mov dword [rax + 8], ecx
mov rdx, qword [rsi + 0x38]
mov qword [rax + 0x38], rdx
mov dl, byte [rsi + 4]
mov byte [rax + 4], dl
mov edx, dword [rsi + 0x44]
mov dword [rax + 0x44], edx
mov edx, dword [rsi + 8]
and edx, 4
and ecx, 0xfffffffb
or ecx, edx
mov dword [rax + 8], ecx
mov rdx, qword [rsi + 0x10]
mov qword [rax + 0x10], rdx
mov edx, ecx
and edx, 8
xor ecx, 8
or ecx, edx
mov dword [rax + 8], ecx
mov ecx, dword [rsi + 8]
mov edx, ecx
and edx, 8
xor ecx, 8
or ecx, edx
mov dword [rsi + 8], ecx
mov edx, dword [rax + 0x44]
mov r9, qword [rax + 0x38]
mov rcx, qword [rax + 0x10]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x20], rax
mov r8d, 4
call fcn.00460730
jmp 0x45684f
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], rdi
mov r15d, dword [rbx + 8]
mov r12, qword [rbx + 0x10]
movsxd rbp, dword [rbx + 4]
movsxd rax, dword [rbx + 0xc]
mov rcx, qword [rsp + 0xb8]
mov rcx, qword [rcx]
mov qword [rsp + 0x68], rbx
movzx edx, word [rbx + 2]
shl rdx, 5
mov r14, qword [rcx + rdx + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x98], rcx
mov ebx, dword [rax + rcx]
mov r13, qword [r14 + 8]
mov rax, qword [r13 + 8]
mov rax, qword [rax + 0x30]
cmp dword [r12 + 4], 0
mov qword [rsp + 0xb0], rax
je 0x454e07
mov dword [rsp + 0xa0], 0
xor edi, edi
jmp 0x454e1a
mov rbp, rdi
mov rax, qword [rsp + 0x140]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 8]
imul rcx, rcx, 0x38
lea rsi, [rax + rcx]
lea rdi, [rax + rcx]
add rdi, 0x14
mov eax, dword [rax + rcx + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x454f74
mov rcx, rsi
call fcn.00467410
jmp 0x454f79
mov qword [rsp + 0x58], rdi
mov rsi, qword [r15 + 0x30]
mov eax, esi
and eax, 0x4000000
mov rcx, rsi
xor rcx, 0x4000000
or rcx, rax
mov qword [r15 + 0x30], rcx
mov rax, qword [rbx + 0x10]
mov r15, qword [rax + 0x10]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + rdi + 0x14]
not ecx
or ecx, 0xfffd
add rax, rdi
add rax, 0x16
cmp cx, 0xffff
je 0x454fa0
cmp byte [rax], 1
je 0x454fa3
mov rax, qword [rsp + 0x78]
lea rcx, [rax + rdi]
mov dl, 1
call fcn.0044b3f0
test eax, eax
je 0x454fa3
jmp 0x45ebdb
mov qword [rsp + 0x48], r14
mov r14, r13
mov qword [rsp + 0x58], rdi
imul r12, rax, 0x38
movsxd rax, dword [rbx + 8]
imul r8, rax, 0x38
mov qword [rsp + 0x68], rbx
movsxd rcx, dword [rbx + 0xc]
imul r15, rcx, 0x38
mov rbp, qword [rsp + 0x78]
lea r10, [r15 + rbp]
movzx r9d, word [rbp + r8 + 0x14]
movzx r13d, word [rbp + r12 + 0x14]
mov ebx, r13d
not ebx
mov ecx, r9d
not ecx
mov esi, ebx
and esi, 0xffffc475
mov edi, r13d
and edi, 0x3b8a
or edi, esi
mov edx, ecx
and edx, 0xffffc475
mov eax, r9d
and eax, 0x3b8a
or eax, edx
xor eax, edi
or ebx, ecx
not ebx
or ebx, eax
mov eax, ebx
xor eax, 0xfffe
test ax, bx
je 0x45504e
mov eax, dword [rbp + r15 + 0x14]
mov ecx, eax
xor ecx, 0x6fff
test cx, ax
je 0x456914
mov rcx, r10
call fcn.00449e10
jmp 0x456921
movabs rdx, 0x7fffffffffffffff
add rdx, 1
cmp rcx, rdx
je 0x44c1d0
movabs rbp, 0xd30216dfea777956
mov rdx, rbp
not rdx
add rdx, rcx
add rdx, rbp
mov qword [rax], rdx
jne 0x44c1d0
jmp 0x45dd69
mov edx, dword [rbx + 4]
mov rcx, r15
call fcn.00466220
xor ecx, ecx
mov qword [rsp + 0x80], rcx
test eax, eax
je 0x44c1d0
jmp 0x45e109
movsxd rax, dword [rbx + 8]
mov r12, rbx
movsxd rcx, dword [rbx + 4]
imul rbp, rcx, 0x38
mov rsi, qword [rsp + 0x78]
lea rdx, [rsi + rbp]
imul rax, rax, 0x38
lea rcx, [rsi + rax]
mov edi, dword [rsi + rax + 0x14]
mov ebx, edi
xor ebx, 0x6fff
test bx, di
je 0x45506d
mov r8d, 0x4000
call fcn.00467450
mov rbx, r12
jmp 0x455b3c
mov r12, rdi
movdqa xmmword [rsp + 0xd0], xmm13
movdqa xmmword [rsp + 0xe0], xmm13
movdqa xmmword [rsp + 0xc0], xmm13
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xd8], r15
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
mov rdi, qword [rsp + 0x78]
mov rax, qword [rdi + rdx + 0x10]
mov qword [rsp + 0xd0], rax
movdqu xmm0, xmmword [rdi + rdx]
movdqa xmmword [rsp + 0xc0], xmm0
movzx ebp, word [rsp + 0xd4]
mov eax, ebp
not eax
mov ecx, ebp
and ecx, 0xefff
mov word [rsp + 0xd4], cx
or eax, 0xffed
cmp ax, 0xffff
je 0x4510cd
mov eax, dword [rdi + rdx + 0x14]
not eax
or eax, 0xdfff
cmp ax, 0xffff
je 0x456938
mov rdi, r12
xor ebp, ebp
mov eax, dword [rsp + 0xd4]
mov ecx, eax
xor ecx, 0xfffffdfd
and ecx, eax
movzx ecx, cx
cmp ecx, 0x202
jne 0x453e55
cmp byte [rsp + 0xd6], 1
jne 0x453e55
mov cl, 1
test cl, cl
je 0x453e55
mov rdx, qword [rsp + 0xc8]
jmp 0x453e78
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx + rax + 0x14]
mov ecx, eax
xor ecx, 0xfffe
test cx, ax
jne 0x45dd69
mov ecx, eax
xor ecx, 0xffffffc0
and ecx, eax
movzx eax, cx
lea rcx, [0x005faf80]
movzx eax, byte [rax + rcx]
cmp dword [rbx + 0xc], eax
jne 0x44c1d0
jmp 0x45dd69
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rax, qword [rax + rcx*8]
mov rcx, qword [rax + 0x18]
lea rdx, [rcx + 1]
mov qword [rax + 0x18], rdx
test rcx, rcx
jne 0x44c1d0
jmp 0x45dd69
mov rax, qword [rsp + 0x140]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 8]
imul rcx, rcx, 0x38
lea rsi, [rax + rcx]
mov ebp, dword [rax + rcx + 0x14]
mov edx, ebp
xor edx, 0x6fff
test dx, bp
je 0x45509e
mov rcx, rsi
call fcn.00467410
jmp 0x4550aa
mov qword [rsp + 0x50], r13
mov r13, rdi
mov r12, r14
mov rcx, rbx
movsxd rbx, dword [rbx + 4]
movsxd rdi, dword [rcx + 0xc]
mov rax, qword [rsp + 0x140]
mov rax, qword [rax]
mov r14, rcx
movsxd rcx, dword [rcx + 8]
imul rcx, rcx, 0x38
lea rsi, [rax + rcx]
mov ebp, dword [rax + rcx + 0x14]
mov edx, ebp
xor edx, 0x6fff
test dx, bp
je 0x4550c4
mov rcx, rsi
call fcn.00467410
jmp 0x4550d0
mov qword [rsp + 0x58], r12
movsxd rsi, dword [rbx + 0xc]
mov eax, dword [rbx + 0x10]
mov ebp, dword [rdx + rdi + 0x14]
mov ecx, ebp
xor ecx, 0xffef
test cx, bp
jne 0x451352
mov qword [rsp + 0xa0], rsi
mov dword [rsp + 0x88], eax
mov r12, r14
mov r14, rbx
mov rbx, qword [rdx + rdi + 0x18]
mov ecx, ebp
xor ecx, 0x6fff
test cx, bp
jne 0x451260
mov rax, qword [rsp + 0x78]
cmp dword [rax + rdi + 0x20], 0
je 0x451268
mov rcx, r8
call fcn.00449ce0
mov edx, 0x38
mov rcx, rbx
call fcn.00429840
test rax, rax
je 0x45f1f7
mov rsi, rax
mov rax, qword [rsp + 0x78]
lea r15, [rax + rdi]
add r15, 0x14
test rbx, rbx
je 0x4512b7
cmp qword [rbx + 0x1f0], rsi
jbe 0x4512b7
mov eax, pe_nt_image_headers64
cmp qword [rbx + 0x1e0], rsi
jbe 0x4512c0
cmp qword [rbx + 0x1e8], rsi
jbe 0x45b7d3
mov rcx, rsi
call qword [0x005f6048]
mov qword [rsi], 0
mov qword [rsi + 8], rbx
mov qword [rsi + 0x28], 0
mov rcx, rsi
add rcx, 0x38
movdqu xmmword [rsi + 0x10], xmm13
cdqe
movabs rdx, 0x87aaa84d2e83d00f
sub rax, rdx
add rax, rdx
add rax, 0xffffffffffffffc8
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
mov qword [rsi + 0x20], rcx
shr rdx, 4
mov word [rsi + 0x30], dx
mov word [rsi + 0x32], 1
mov dword [rsi + 0x34], 0
mov rdx, qword [rsp + 0x78]
mov qword [rdx + rdi + 8], rsi
mov word [r15], 0x1010
lea rax, [0x0047c280]
mov qword [rdx + rdi + 0x30], rax
mov rbx, r14
mov r14, r12
mov r15, qword [rsp + 0x70]
mov eax, dword [rsp + 0x88]
mov rsi, qword [rsp + 0xa0]
imul rcx, rsi, 0x38
add rcx, rdx
test eax, eax
je 0x45d944
mov r12, qword [rdx + rdi + 8]
mov qword [rsp + 0xa0], rcx
mov rbp, qword [rcx]
cmp dword [r12 + 0x34], eax
movabs rsi, 0xd4a2a94b0460db81
je 0x45d91e
mov qword [rsp + 0x50], r13
mov r13, qword [r12 + 0x10]
test r13, r13
je 0x45d914
mov dword [rsp + 0x88], eax
lea rsi, [r12 + 0x28]
movzx eax, word [r12 + 0x32]
mov ecx, eax
xor ecx, 0xfffe
test cx, ax
mov qword [rsp + 0x68], rbx
jne 0x4513c8
mov rcx, r13
call fcn.0047c2f0
mov r13, rax
lea r15, [r12 + 0x10]
mov rbx, qword [rsi]
test rbx, rbx
je 0x45146c
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x459e19
lea rsi, [rbx + 8]
lea rdx, [rsp + 0x180]
lea r8, [rsp + 0x138]
call fcn.0047c490
mov qword [rbx + 0x10], 0
mov rax, qword [rsp + 0x180]
lea rcx, [rsp + 0xc0]
mov rdx, qword [rax]
mov rbx, r13
nop dword [rax]
mov r13, rbx
cmp rdx, qword [rbx]
jle 0x45143a
mov qword [rcx + 8], r13
mov rbx, qword [r13 + 8]
mov rcx, r13
test rbx, rbx
jne 0x451420
jmp 0x45144e
jge 0x451443
mov qword [rcx + 8], rax
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x451417
jmp 0x451454
mov rcx, r13
mov r13, rax
mov qword [rcx + 8], r13
mov r13, qword [rsp + 0xc8]
mov rbx, qword [rsi]
test rbx, rbx
jne 0x4513d9
movzx eax, word [r12 + 0x30]
test ax, ax
je 0x45a5e8
mov rcx, qword [r12 + 0x20]
add eax, 0xffffffff
mov word [r12 + 0x30], ax
lea rax, [rcx + 0x18]
mov qword [r12 + 0x20], rax
mov qword [rsi], rcx
test rcx, rcx
mov rbx, qword [rsp + 0x68]
jne 0x45d860
jmp 0x45d8e8
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
mov rsi, qword [rdi + 0x30]
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0xc0], rax
movzx eax, word [rbx + 0xc]
mov word [rsp + 0xdc], ax
mov byte [rsp + 0xde], 0
movsxd rax, dword [rbx + 8]
imul rax, rax, 0x38
add rax, qword [rsp + 0x78]
mov qword [rsp + 0xc8], rax
mov rcx, rsi
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0x180]
call fcn.00461850
test eax, eax
jne 0x45e912
cmp dword [rsp + 0x180], 0
je 0x455264
cmp word [rbx + 2], 0
movabs rsi, 0xd4a2a94b0460db81
je 0x455280
mov rax, qword [r15 + 0x30]
mov rcx, rax
xor rcx, 0xffffffffeffffffe
and rcx, rax
cmp rcx, 1
je 0x455280
jmp 0x45f1c3
jne 0x44c1d0
movsxd rax, dword [rbx + 4]
imul rax, rax, 0x38
mov rdx, qword [rsp + 0x78]
mov eax, dword [rdx + rax + 0x14]
mov ecx, eax
xor ecx, 0xfffe
test cx, ax
jne 0x451598
movsxd rax, dword [rbx + 0xc]
imul rax, rax, 0x38
mov eax, dword [rdx + rax + 0x14]
not eax
or eax, 0xfffe
cmp ax, 0xffff
je 0x45968d
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
mov eax, dword [rdx + rcx + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x457c36
add rcx, rdx
call fcn.00449e10
add rbx, 0x18
jmp 0x44c1d4
jne 0x44c1d0
mov al, byte [r15 + 0x6e]
mov ecx, eax
not cl
or cl, 0xbe
cmp cl, 0xff
je 0x4515ee
mov rcx, qword [rsp + 0x40]
cmp byte [rcx + 0xc3], 0xfe
jne 0x45455a
mov eax, dword [rbx + 4]
cmp eax, dword [0x005f61b8]
movabs rsi, 0xd4a2a94b0460db81
jl 0x451689
cmp byte [rbx], 0xb5
je 0x44c1d0
mov rax, qword [rsp + 0x40]
mov edx, dword [rax + 0x90]
cmp edx, 2
jl 0x451680
mov r10, rdi
mov r9, rbx
mov ecx, edx
mov rax, qword [rsp + 0x40]
mov r8, qword [rax + 0x88]
mov rbx, rdx
neg rbx
add rdx, 0xffffffffffffffff
xor rbx, 1
mov ebp, 1
cmp ecx, 2
jne 0x458e61
test rbx, rdx
mov rbx, r9
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r10
je 0x451680
lea rcx, [rbp*2]
add rcx, rbp
cmp byte [r8 + rcx*8], 0xe
jne 0x451680
mov dword [r8 + rcx*8 + 4], 0
mov dword [rbx + 4], 0
xor eax, eax
add eax, 1
mov dword [rbx + 4], eax
mov rax, qword [rsp + 0x40]
add dword [rax + 0xec], 1
jmp 0x45dd69
mov ecx, r14d
mov edx, 1
xor eax, eax
nop word [rax + rax]
shr rcx, 7
add edx, 1
add r14d, 1
add eax, 1
test rcx, rcx
jne 0x4516b0
movsxd rcx, r14d
mov ebx, 1
xor edx, edx
mov rdi, qword [rsp + 0x88]
nop dword [rax]
shr rcx, 7
add ebx, 1
add edx, 1
test rcx, rcx
jne 0x4516e0
cmp eax, edx
adc r14d, 0
movsxd rsi, r14d
add r12, rsi
lea rcx, [r12 + r11]
mov rdx, qword [rsp + 0x78]
movsxd rax, dword [rdx + r10 + 0x20]
cmp rcx, rax
jle 0x451769
mov rdx, qword [rsp + 0x70]
movsxd rdx, dword [rdx + 0x88]
cmp rcx, rdx
jg 0x45f3db
cmp eax, r12d
jge 0x453f01
mov rcx, qword [rsp + 0x98]
mov edx, r12d
xor r8d, r8d
mov rbx, r11
call fcn.00449fe0
mov r11, rbx
mov r10, qword [rsp + 0xa0]
test eax, eax
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x78]
je 0x453f1c
jmp 0x45efd3
mov rax, qword [rdx + r10 + 0x28]
mov qword [rdx + r10 + 8], rax
jmp 0x453f1c
xor eax, eax
mov qword [rsp + 0x80], rax
mov r15, qword [rsp + 0x70]
jmp 0x45dd69
mov word [rsp + 0xd4], 0x4010
mov dword [rsp + 0xd0], esi
jmp 0x45564e
add rax, rbx
add rax, 0x14
mov word [rax], 4
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov rbx, r15
movsxd rcx, dword [r15 + 4]
mov r12, qword [rax + rcx*8]
mov eax, dword [r12 + 8]
mov ecx, eax
xor ecx, 0xfffffffd
test ecx, eax
jne 0x4579b4
mov rcx, qword [r12 + 0x30]
lea rdx, [rsp + 0x180]
call fcn.00461120
test eax, eax
jne 0x45e3a8
cmp dword [rsp + 0x180], 0
je 0x4556ca
mov qword [rsp + 0xc0], 1
xor eax, eax
mov qword [rsp + 0x80], rax
jmp 0x4579b4
add rax, rcx
add rax, 0x14
mov word [rax], 4
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rax, qword [rax + rcx*8]
mov rcx, qword [rax + 0x18]
lea rdx, [rcx + 1]
mov qword [rax + 0x18], rdx
mov qword [rsi], rcx
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
mov eax, dword [rcx + 0x28]
xor ebp, ebp
test eax, eax
jle 0x4518ac
mov esi, 8
xor edi, edi
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
mov rcx, qword [rax + rsi]
mov edx, r12d
mov r8d, r14d
call fcn.00449bc0
test eax, eax
jne 0x45e08f
add rdi, 1
mov rax, qword [rsp + 0x70]
movsxd rax, dword [rax + 0x28]
add rsi, 0x20
cmp rdi, rax
jl 0x45186a
xor eax, eax
mov qword [rsp + 0x80], rax
test ebp, ebp
je 0x451901
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 8]
test rax, rax
je 0x4518e4
mov ecx, dword [rax + 0xc8]
mov edx, ecx
xor edx, 3
and edx, ecx
mov ecx, edx
and ecx, 1
xor edx, 1
or edx, ecx
mov dword [rax + 0xc8], edx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x4518be
mov rsi, qword [rsp + 0x70]
mov rcx, rsi
call fcn.00411230
mov eax, dword [rsi + 0x2c]
mov ecx, eax
and ecx, 1
xor eax, 1
or eax, ecx
mov dword [rsi + 0x2c], eax
mov rax, qword [rsp + 0x80]
test eax, eax
je 0x451a45
jmp 0x45ea4a
mov edx, ebx
xor r8d, r8d
call fcn.00440f10
mov ebp, eax
test eax, eax
jne 0x45197c
cmp byte [rsi + 0x13], 0
je 0x451965
mov byte [rsi + 0x13], 0
mov rax, qword [rsi + 8]
mov rax, qword [rax + 0x10]
jmp 0x451944
mov rax, qword [rax + 0x28]
test rax, rax
je 0x451965
movzx ecx, byte [rax + 1]
not cl
or cl, 0xef
cmp cl, 0xff
je 0x451940
mov byte [rsi + 0x13], 1
cmp dword [rax + 0x50], ebx
jne 0x451940
mov byte [rax], 1
jmp 0x451940
mov rcx, rdi
mov edx, ebx
xor r8d, r8d
lea r9, [rsp + 0xc0]
call fcn.00468f10
mov ebp, eax
cmp byte [rsi + 0x11], 0
je 0x451990
add dword [rsi + 0x14], 0xffffffff
jne 0x451990
mov rcx, rsi
call fcn.0043ea70
mov rbx, r14
mov eax, dword [r14 + 0xc]
test rax, rax
je 0x44c19f
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x40]
add qword [rdx + 0x38], rcx
test eax, eax
jle 0x44c19f
imul rax, rax, 0x38
mov rdx, qword [rsp + 0x78]
add qword [rdx + rax], rcx
jmp 0x44c19f
mov rax, qword [rsp + 0x70]
mov al, byte [rax + 0x6d]
test al, al
setne r15b
cmp r12d, 1
jne 0x44e568
test al, al
je 0x44e568
mov al, 1
test al, al
je 0x44e568
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsi]
mov rcx, qword [rax + 0x2f8]
add rcx, qword [rax + 0x2f0]
test rcx, rcx
jg 0x45f11d
mov rax, qword [rsp + 0x70]
mov byte [rax + 0x65], 1
mov rcx, rsi
call fcn.00445770
cmp eax, 5
je 0x45f15f
mov ebp, dword [rsi + 0x34]
test ebp, ebp
jne 0x45f1b4
mov rax, qword [rsp + 0x70]
mov byte [rax + 0x6d], 0
mov r15b, 1
mov rsi, qword [rsp + 0x70]
mov rdx, qword [rsi + 0x2d8]
cmp rdx, rbx
je 0x451a86
nop word [rax + rax]
mov rax, qword [rdx + 0x18]
mov qword [rsi + 0x2d8], rax
mov rcx, rsi
call fcn.00408130
add dword [rsi + 0x2e8], 0xffffffff
mov rdx, qword [rsi + 0x2d8]
cmp rdx, rbx
jne 0x451a60
cmp r12d, 1
jne 0x453256
mov rax, qword [rbx + 0x18]
mov rcx, qword [rsp + 0x70]
mov qword [rcx + 0x2d8], rax
mov rdx, rbx
call fcn.00408130
test r15b, r15b
jne 0x453268
mov rcx, qword [rsp + 0x70]
add dword [rcx + 0x2e8], 0xffffffff
cmp qword [rcx + 0x240], 0
jne 0x4532a2
jmp 0x456b3f
mov qword [rsp + 0x48], r14
mov r14, r13
mov r13, rdi
movapd xmm7, xmm6
mov r8d, edx
xor r8d, 3
and r8d, edx
mov ecx, edx
xor ecx, 0xfc
and ecx, edx
movq xmm0, rdx
pshufd xmm0, xmm0, 0x44
paddq xmm0, xmm12
movq xmm1, r9
pshufd xmm1, xmm1, 0x44
lea rbx, [r9 - 3]
movq xmm2, rbx
pshufd xmm2, xmm2, 0x44
mov rdi, r8
xor esi, esi
mov r12, qword [rsp + 0x78]
nop word cs:[rax + rax]
nop
movdqa xmm3, xmm8
psubq xmm3, xmm0
movq rax, xmm3
shl rax, 3
mov rbx, rbp
sub rbx, rax
movdqa xmm4, xmm1
psubq xmm4, xmm3
movdqa xmm3, xmm2
paddq xmm3, xmm0
movdqa xmm5, xmm4
pmuludq xmm5, xmm15
psrlq xmm4, 0x20
pmuludq xmm4, xmm15
psllq xmm4, 0x20
movq xmm6, r12
pshufd xmm6, xmm6, 0x44
paddq xmm5, xmm6
paddq xmm5, xmm4
movdqa xmm4, xmm3
pmuludq xmm4, xmm15
psrlq xmm3, 0x20
pmuludq xmm3, xmm15
psllq xmm3, 0x20
paddq xmm4, xmm6
paddq xmm4, xmm3
pshufd xmm3, xmm5, 0x4e
movdqu xmmword [rbx + 0x28], xmm3
pshufd xmm3, xmm4, 0x4e
movdqu xmmword [rbx + 0x18], xmm3
add rsi, 4
paddq xmm0, xmm14
add rdi, 0xfffffffffffffffc
jne 0x451b30
cmp r8, rdx
movapd xmm6, xmm7
xorpd xmm7, xmm7
mov rdi, r13
mov r13, r14
mov r14, qword [rsp + 0x48]
je 0x451c1e
add r9, rcx
imul rax, r9, 0x38
mov rdx, qword [rsp + 0x78]
add rdx, rax
add rdx, 0xffffffffffffffc8
lea rbx, [rcx + 5]
nop dword [rax + rax]
add rcx, 0xffffffffffffffff
mov qword [rbp + rbx*8], rdx
add rdx, 0xffffffffffffffc8
lea rax, [rbx - 1]
add rbx, 0xfffffffffffffffb
cmp rbx, 1
mov rbx, rax
jg 0x451c00
mov rax, qword [rsp + 0x78]
add dword [rax + r10 + 0x10], 1
mov rax, qword [rbp + 8]
mov rbx, r11
cmp dword [r11 + 4], 0
je 0x451c9b
mov rsi, r14
movzx edx, byte [rbp + 0x2a]
lea r8, [rbp + 0x30]
mov rcx, rbp
call qword [rax + 0x30]
cmp dword [rbp + 0x24], 0
je 0x451cb2
mov rax, qword [rsp + 0x80]
mov r14d, eax
jle 0x4560e5
mov rcx, qword [rbp]
test rcx, rcx
je 0x453459
mov eax, dword [rcx + 0x14]
mov edx, eax
xor edx, 0xfffffdfd
and edx, eax
movzx edx, dx
cmp edx, 0x202
jne 0x453448
cmp byte [rcx + 0x16], 1
jne 0x453448
mov r8, qword [rcx + 8]
jmp 0x4560d0
mov rsi, r14
movzx edx, byte [rbp + 0x2a]
lea r8, [rbp + 0x30]
mov rcx, rbp
call qword [rax + 0x18]
cmp dword [rbp + 0x24], 0
jne 0x451c4e
mov r14, rsi
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
mov rax, qword [rsp + 0x40]
cmp qword [rax + 0x50], 0
jne 0x44c1d0
cmp qword [r15 + 0x2f8], 0
jne 0x44c1d0
jmp 0x45dd69
lea rdx, [rax + rbp]
mov ebp, ecx
xor ebp, 0xffdb
test ebp, ecx
je 0x455bce
cmp qword [rdx], 0
setne al
mov rbx, rsi
jmp 0x45c018
lea rbp, [rdi + r10]
add rbp, 0x14
movzx eax, r14w
not eax
mov edx, eax
or edx, 0xffffffed
cmp edx, 0xffffffff
mov qword [rsp + 0x88], r11
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xa0], r9
mov qword [rsp + 0x98], r8
je 0x455be6
or eax, 0xfffffbff
cmp eax, 0xffffffff
mov rdi, r12
je 0x457574
mov rbx, rcx
mov edx, dword [rcx]
mov rax, qword [rsp + 0x78]
add edx, dword [rax + r10 + 0x10]
test edx, edx
mov r12, r13
jg 0x451d86
mov eax, r14d
not eax
or eax, 0xffef
mov edx, 1
cmp ax, 0xffff
je 0x451df3
mov rsi, r10
mov rcx, rbx
mov r8d, 1
call fcn.00449fe0
test eax, eax
jne 0x45ebb5
mov rax, qword [rsp + 0x78]
lea r14, [rax + rsi]
add r14, 0x10
movsxd r8, dword [rbx]
movsxd rcx, dword [r14]
add rcx, qword [rax + rsi + 8]
xor edx, edx
call fcn.005f4c10
mov r10, rsi
mov eax, dword [rbx]
add dword [r14], eax
mov eax, dword [rbp]
mov r14d, eax
xor r14d, 0x600
and r14d, eax
mov word [rbp], r14w
mov r11, qword [rsp + 0x88]
mov r9, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x98]
mov eax, r14d
xor eax, 2
and eax, r14d
mov r14d, eax
mov rax, qword [rsp + 0x78]
jmp 0x45757c
mov rax, r14
mov r14, r15
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x58], rdx
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov r15, qword [rbx]
call qword [r15 + 0x48]
mov r12d, eax
cmp qword [rbx + 0x10], 0
je 0x4589f9
mov rax, qword [rsp + 0x40]
mov rbp, qword [rax]
mov rdx, qword [rax + 0xa8]
mov rcx, rbp
call fcn.00408130
mov rsi, qword [rbx + 0x10]
test rsi, rsi
je 0x457811
mov dword [rsp + 0x80], r12d
mov rcx, rsi
call fcn.005f4bd8
movabs rcx, 0x494375d154cf0181
sub rax, rcx
lea r12, [rax + rcx]
add r12, 1
test rbp, rbp
je 0x4587d1
mov rcx, rbp
mov rdx, r12
call fcn.00429840
jmp 0x4587d9
add rax, rcx
add rax, 0x14
mov word [rax], 4
mov dword [rsp + 0xc0], 0
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
shl rcx, 5
mov rcx, qword [rax + rcx + 8]
mov r8d, dword [rbx + 0xc]
lea rdx, [rsp + 0xc0]
call fcn.004609b0
test eax, eax
jne 0x45e109
mov eax, dword [rsp + 0xc0]
mov qword [rsi], rax
jmp 0x45684d
mov rax, qword [rsi + 0x88]
mov eax, dword [rax + 4]
cmp eax, dword [rbx + 4]
mov rsi, rcx
jne 0x454242
jmp 0x45dd69
mov word [r14], 4
mov qword [rsp + 0x68], rbx
mov rbx, qword [rbx + 0x10]
test rbx, rbx
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], r13
je 0x452eb5
mov rcx, rbx
call fcn.005f4bd8
and eax, 0x3fffffff
jmp 0x452eb7
mov word [rdi], 4
mov ax, 4
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rcx + 0x108]
mov rbp, qword [rdx + 0x10]
mov rcx, qword [rdx + 0x20]
movsxd rdx, dword [rdx + 0x54]
lea rdx, [rdx + rdx*2]
mov edx, dword [rbp + rdx*8 + 4]
add edx, dword [rbx + 4]
movsxd rdx, edx
imul rbp, rdx, 0x38
lea rdx, [rcx + rbp]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x452f3e
mov rcx, rsi
mov r8d, 0x4000
call fcn.00467450
jmp 0x4531d5
mov word [rbp], 4
mov r12, qword [rsp + 0x40]
mov word [rbp], 1
mov eax, dword [r15 + 0xe8]
add eax, 1
cmp dword [r15 + 0xdc], eax
jg 0x45e717
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x50], r13
movsxd rdi, dword [rbx + 0xc]
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
mov r15, rdi
shl r15, 5
mov r12, qword [rax + r15 + 8]
mov ebp, dword [rbx + 4]
cmp byte [r12 + 0x11], 0
je 0x452016
add dword [r12 + 0x14], 1
cmp byte [r12 + 0x12], 0
jne 0x452016
mov rcx, r12
call fcn.0043e9d0
mov r13, qword [r12 + 8]
cmp dword [r13 + 0x40], ebp
mov qword [rsp + 0xa0], rdi
jae 0x45205f
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
mov ebp, 0xb
mov ecx, 0xb
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov r9d, 0x12bab
call fcn.00408970
xor edi, edi
jmp 0x45541b
mov qword [rsp + 0x98], r15
mov r15, rsi
cmp byte [r12 + 0x11], 0
je 0x452088
add dword [r12 + 0x14], 1
cmp byte [r12 + 0x12], 0
jne 0x452088
mov rcx, r12
call fcn.0043e9d0
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x4547c4
test ebp, ebp
je 0x4547b3
cmp dword [rcx + 0x50], ebp
je 0x4547b3
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x45209d
jmp 0x4547c4
mov rcx, qword [r13 + 0x30]
mov rax, qword [r13 + 0x38]
mov dil, byte [rcx + 3]
movzx edx, word [rbx + 0x10]
mov qword [rsp + 0xc0], rax
mov word [rsp + 0xdc], dx
mov eax, ebp
xor eax, 0xfe
test eax, ebp
sete al
add al, al
add al, 0xff
mov byte [rsp + 0xde], al
mov r14, rbx
movsxd rax, dword [rbx + 0xc]
imul rax, rax, 0x38
add rax, qword [rsp + 0x78]
mov qword [rsp + 0xc8], rax
mov byte [rsp + 0xe2], 0
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0x138]
call fcn.00461850
test eax, eax
jne 0x45ebce
mov eax, edi
xor al, 0xfd
test al, dil
je 0x45607c
mov r15d, 1
cmp byte [rsp + 0xe2], 0
mov rbx, r14
mov r14, qword [rsp + 0x48]
jne 0x45ad0b
jmp 0x45c07c
mov qword [rsp + 0x50], r13
mov r13d, dword [rbx + 4]
mov rax, qword [r15 + 0x38]
mov qword [rsp + 0x180], rax
movzx eax, word [rbx + 0x28]
mov word [rsp + 0x19c], ax
mov byte [rsp + 0x19e], 0
movsxd rax, dword [rbx + 0x24]
imul rax, rax, 0x38
add rax, qword [rsp + 0x78]
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x68], rbx
mov rbx, qword [r15 + 0x30]
mov rcx, rbx
call fcn.004412b0
mov esi, dword [rbx + 0x40]
test esi, esi
jle 0x45e323
mov word [rsp + 0xd4], 0
mov qword [rsp + 0xd8], rdi
mov dword [rsp + 0xe0], 0
movzx eax, word [rbx + 0x44]
mov rdx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x88]
mov ecx, dword [rcx + 0x58]
movabs rbp, 0x2b13e46999fb3457
add ecx, ebp
sub ecx, edx
sub ecx, ebp
mov ebp, 0
cmovns ebp, ecx
cmp eax, ecx
cmovle ebp, eax
mov qword [rsp + 0xc8], rdx
cmp ebp, esi
jae 0x452252
mov word [rsp + 0xd4], 1
mov rax, qword [rbx + 0x20]
mov ecx, dword [rax + 0x34]
mov eax, dword [rax + 0x40]
imul rax, rcx
cmp rax, rsi
jb 0x45e839
lea edx, [rsi + 1]
test edx, edx
jle 0x452265
lea rcx, [rsp + 0xc0]
xor r8d, r8d
call fcn.00449fe0
test eax, eax
jne 0x45ea51
mov r9, qword [rsp + 0xc8]
jmp 0x45226f
mov word [rsp + 0xd4], 0x4010
mov dword [rsp + 0xd0], esi
jmp 0x4522b1
mov word [rsp + 0xd4], 1
mov dword [rsp + 0x20], 0
mov rcx, rbx
xor edx, edx
mov r8d, esi
call fcn.00441350
test eax, eax
jne 0x45e881
mov rax, qword [rsp + 0xc8]
mov byte [rax + rsi], 0
mov word [rsp + 0xd4], 0x10
mov dword [rsp + 0xd0], esi
mov rdx, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x68]
mov ecx, esi
lea r8, [rsp + 0x180]
xor r9d, r9d
call fcn.00463d20
mov esi, eax
cmp dword [rsp + 0xe0], 0
je 0x4522e1
lea rcx, [rsp + 0xc0]
call fcn.00449ce0
test esi, esi
jg 0x45247e
je 0x452482
test r13d, r13d
jle 0x458bce
mov rsi, qword [r15 + 0x30]
mov word [rsi + 0x46], 0
mov al, byte [rsi + 1]
mov ecx, eax
xor cl, 6
and cl, al
mov byte [rsi + 1], cl
cmp byte [rsi], 0
jne 0x452445
mov rax, qword [rsi + 0x88]
movzx ecx, word [rsi + 0x56]
lea edx, [rcx + 1]
mov word [rsi + 0x56], dx
cmp dx, word [rax + 0x18]
jae 0x452441
xor ebp, ebp
cmp byte [rax + 8], 0
jne 0x45244f
lea r12, [rsi + 0x88]
movsx r9, byte [rsi + 0x54]
cmp r9, 0x13
jge 0x45e46d
movzx r8d, word [rsi + 0x56]
mov r10, qword [rax + 0x50]
mov rdx, qword [rax + 0x60]
movzx ebp, word [rdx + r8*2]
shl rbp, 0x30
bswap rbp
movzx edx, word [rax + 0x1a]
xor edx, ebp
not edx
and edx, ebp
movzx ebp, byte [r10 + rdx + 1]
shl ebp, 0x10
movzx ebx, byte [r10 + rdx]
shl ebx, 0x18
or ebx, ebp
movzx ebp, byte [r10 + rdx + 2]
shl ebp, 8
mov edi, ebx
not edi
mov ecx, ebp
not ecx
and edi, 0x2de823c4
and ebx, 0xd2170000
or ebx, edi
and ecx, 0x2de823c4
and ebp, 0xdc00
or ebp, ecx
xor ebp, ebx
movzx ebx, byte [r10 + rdx + 3]
mov edx, ebp
not edx
mov ecx, ebx
not ecx
mov edi, edx
and edi, 0x7368971a
and ebp, 0x8c976800
or ebp, edi
or edx, ecx
and ecx, 0x7368971a
and ebx, 0xffffffe5
or ebx, ecx
xor ebx, ebp
mov rcx, qword [rsi + 0x20]
mov word [rsi + 0x46], 0
and byte [rsi + 1], 0xf9
not edx
or edx, ebx
mov word [rsi + r9*2 + 0x58], r8w
mov qword [rsi + r9*8 + 0x90], rax
mov word [rsi + 0x56], 0
lea eax, [r9 + 1]
mov byte [rsi + 0x54], al
movzx eax, byte [rsi + 2]
mov dword [rsp + 0x20], eax
mov r8, r12
mov r9, rsi
call fcn.004681b0
test eax, eax
jne 0x45245d
mov rax, qword [r12]
cmp byte [rax + 8], 0
mov ebp, 0
je 0x452347
jmp 0x45245f
mov word [rsi + 0x56], cx
mov rcx, rsi
call fcn.0046a2b0
mov ebp, eax
add r13d, 0xffffffff
test ebp, ebp
je 0x452199
jmp 0x452475
mov ebp, eax
mov rdi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
add r13d, 0xffffffff
test ebp, ebp
je 0x452199
cmp ebp, 0x65
jne 0x45e8bd
add rbx, 0x18
xor eax, eax
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x58]
mov r13, qword [rsp + 0x50]
movabs rsi, 0xd4a2a94b0460db81
mov r15, rdi
mov rdi, rax
jmp 0x45dd69
mov word [r15], 4
mov edi, dword [rbx + 0xc]
mov rcx, rbx
mov ebx, edi
sub ebx, eax
xor ebp, ebp
mov r13, rcx
cmp dword [rcx + 4], 0
setne bpl
shl ebp, 8
or ebp, 1
mov word [r15], bp
mov dword [r14 + rsi + 0x10], 0
test ebx, ebx
jle 0x452f98
add rsi, r14
add rsi, 0x38
sub edi, eax
add edi, 1
mov r14, qword [rsp + 0x58]
mov qword [rsp + 0x48], r12
mov r15, qword [rsp + 0x70]
jmp 0x452520
mov word [rsi + 0x14], 1
mov word [rsi + 0x14], bp
mov dword [rsi + 0x10], 0
add ebx, 0xffffffff
add rsi, 0x38
add edi, 0xffffffff
cmp edi, 1
jle 0x45253a
mov eax, dword [rsi + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x452500
mov rcx, rsi
call fcn.00449e10
jmp 0x452506
mov rbx, r13
mov r13, qword [rsp + 0x50]
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r14
mov r14, qword [rsp + 0x48]
add rbx, 0x18
jmp 0x44c1d4
mov rdx, qword [rbx + 0x10]
mov rcx, rsi
call fcn.00449e60
jmp 0x4542c8
mov r13, rbx
xor esi, esi
imul rcx, r14, 0x38
mov rax, qword [rsp + 0x78]
movsxd rbp, dword [rax + rcx + 0x10]
mov rax, rsi
or rax, rbp
shr rax, 0x20
je 0x452fc0
mov rax, rsi
xor edx, edx
div rbp
jmp 0x452fc6
mov word [rdi], 4
mov word [rdi], 8
mov rax, qword [rbx + 0x10]
mov rax, qword [rax]
mov qword [rsi], rax
jmp 0x45c5ba
mov r12, rbx
mov rax, qword [rax + 0x38]
lea rsi, [rax + 0x10]
jmp 0x454356
mov rax, qword [r15 + 0x30]
mov rcx, rax
xor rcx, 0xfffffffffffffbff
test rcx, rax
je 0x44dfe9
mov rdi, r12
add rbx, 0x18
jmp 0x44c1d4
mov edx, ebp
xor edx, 0xfffe
test edx, ebp
je 0x455c31
mov eax, dword [rbx + 0xc]
jmp 0x45a867
cmp dword [rbx + 4], 0
je 0x455c4a
mov rcx, qword [r15 + 0x2f0]
movabs rdx, 0x1e312c2678efb0bf
sub rcx, rdx
add rcx, rax
add rcx, rdx
mov qword [r15 + 0x2f0], rcx
add rbx, 0x18
jmp 0x44c1d4
mov edx, ebp
or edx, 0xfffffffe
mov esi, 2
cmp edx, 0xffffffff
jne 0x45a7af
or ebp, 0xfffffff7
cmp ebp, 0xffffffff
je 0x458b09
movsd xmm0, qword [rcx]
jmp 0x45a7a2
xor r13d, r13d
mov eax, dword [rbx + 0xc]
test eax, eax
jle 0x45301e
mov r15, rax
mov qword [rsp + 0x58], rdi
mov rsi, qword [rbx + 0x10]
mov eax, dword [rbx + 4]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x68], rbx
mov r12d, dword [rbx + 8]
test r13, r13
je 0x45460c
mov qword [rsp + 0x48], r14
xor edi, edi
mov ebp, dword [r13 + rdi*4]
mov r8, qword [rsi + rdi*8 + 0x20]
mov rax, qword [rsi + 0x18]
movzx ebx, byte [rax + rdi]
mov rax, qword [rsp + 0x88]
lea r14d, [rax + rbp]
imul rcx, r14, 0x38
mov rax, qword [rsp + 0x78]
add rcx, rax
add ebp, r12d
imul rdx, rbp, 0x38
add rdx, rax
call fcn.0045fd80
test eax, eax
jne 0x456424
add rdi, 1
cmp r15, rdi
jne 0x45269c
mov dword [rsp + 0xac], 0
jmp 0x4577f8
add rax, rcx
add rax, 0x14
mov word [rax], 4
mov rax, qword [rbx + 0x10]
mov rax, qword [rax]
jmp 0x4550ae
mov ecx, eax
xor ecx, 0xffed
test ecx, eax
je 0x455c5c
mov rcx, r13
mov rsi, r10
call fcn.004674e0
mov r10, rsi
mov esi, eax
jmp 0x455c5e
cmp qword [r14 + 0x38], 0
je 0x455cac
lea rdx, [r14 + 0x38]
add r14, 0x60
mov rcx, r14
call fcn.00470ae0
mov ebp, eax
xor r13d, r13d
mov r14, qword [rsp + 0x48]
jmp 0x456c56
add rax, rdi
add rax, 0x14
mov qword [rcx], rdx
mov word [rax], 4
mov rbx, rsi
jmp 0x45bcdb
mov word [rcx], 4
mov r15d, dword [rbx + 0xc]
mov qword [rsp + 0x68], rbx
movsxd rax, dword [rbx + 4]
mov rcx, qword [rsp + 0xb8]
mov rcx, qword [rcx]
shl rax, 5
mov rdx, qword [rcx + rax + 8]
mov rax, qword [rdx + 8]
mov rbx, qword [rax]
movzx edi, byte [rbx + 9]
cmp r15d, 0xffffffff
cmove r15d, edi
cmp byte [rbx + 0x15], 2
ja 0x4527c4
mov rax, qword [rbx + 0x50]
cmp qword [rax], 0
je 0x4527c7
cmp qword [rbx + 0x60], 0
jle 0x4527c7
mov r15d, edi
cmp byte [rbx + 0x13], 0
mov qword [rsp + 0xa0], rbp
je 0x453031
lea rcx, [0x005fc226]
cmp r15d, 5
je 0x453043
jmp 0x45306d
mov rcx, r12
call fcn.00467e70
cmp eax, 0x10
je 0x455297
mov ebp, eax
test eax, eax
jne 0x45ee02
mov qword [rsp + 0x58], rdi
lea rsi, [r12 + 0x88]
xor edi, edi
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x88], rsi
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x198]
xor ecx, ecx
mov qword [rsp + 0x80], rcx
test eax, eax
jne 0x45b6ba
mov rax, qword [rsi]
cmp byte [rax + 8], 0
je 0x452939
mov r14, rbx
movzx ecx, word [rax + 0x18]
movabs rdx, 0x714c400a1fcc7528
sub rdi, rdx
add rdi, rcx
add rdi, rdx
jmp 0x45288c
call fcn.00430480
movzx ecx, word [r12 + 0x56]
mov rax, qword [r12 + 0x88]
movzx esi, word [rax + 0x18]
cmp cx, si
jb 0x45294b
movsx rcx, byte [r12 + 0x54]
test rcx, rcx
je 0x45577f
mov word [r12 + 0x46], 0
movzx ebx, byte [r12 + 1]
mov edx, ebx
xor dl, 6
and dl, bl
mov byte [r12 + 1], dl
movzx edx, word [r12 + rcx*2 + 0x56]
mov word [r12 + 0x56], dx
add ecx, 0xffffffff
mov byte [r12 + 0x54], cl
movsx rcx, cl
mov rcx, qword [r12 + rcx*8 + 0x90]
mov qword [r12 + 0x88], rcx
mov rcx, qword [rax + 0x70]
mov eax, dword [rcx + 0x34]
mov edx, eax
xor edx, 0xffdf
test dx, ax
je 0x45286c
mov rbp, qword [rcx + 0x28]
add dword [rbp + 0x98], 0xffffffff
mov rax, qword [rbp + 0xa8]
mov qword [rcx + 0x20], rax
mov qword [rbp + 0xa8], rcx
mov rax, qword [rbp + 0x48]
mov edx, dword [rcx + 0x30]
mov r8, qword [rcx + 8]
add edx, 0xffffffff
imul rdx, qword [rbp + 0xc8]
mov rbp, qword [rax]
mov rcx, rax
call qword [rbp + 0x90]
jmp 0x452871
cmp byte [rax + 1], 0
movzx esi, word [rax + 0x18]
jne 0x452961
movzx ecx, si
add rdi, rcx
jmp 0x452961
add ecx, 1
mov word [r12 + 0x56], cx
mov rbx, r14
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
movzx r8d, word [r12 + 0x56]
mov r10, qword [rax + 0x50]
cmp r8w, si
jne 0x452a46
movsx r8, byte [r12 + 0x54]
cmp r8, 0x13
jge 0x45ee11
mov r15, rbx
movzx r9d, byte [rax + 9]
add r9, 8
movzx ecx, byte [r10 + r9 + 1]
shl ecx, 0x10
movzx ebx, byte [r10 + r9]
shl ebx, 0x18
or ebx, ecx
movzx ecx, byte [r10 + r9 + 2]
shl ecx, 8
mov ebp, ebx
not ebp
mov edx, ecx
not edx
and ebp, 0x5db4c4b7
and ebx, 0xa24b0000
or ebx, ebp
and edx, 0x5db4c4b7
and ecx, 0x3b00
or ecx, edx
xor ecx, ebx
movzx ebp, byte [r10 + r9 + 3]
mov edx, ecx
not edx
mov ebx, ebp
not ebx
mov r9d, edx
and r9d, 0x180cf6d5
and ecx, 0xe7f30900
or ecx, r9d
or edx, ebx
and ebx, 0x180cf6d5
and ebp, 0x2a
or ebp, ebx
xor ebp, ecx
not edx
or edx, ebp
mov rcx, qword [r12 + 0x20]
mov word [r12 + 0x46], 0
mov r9b, byte [r12 + 1]
mov ebx, r9d
xor bl, 6
and bl, r9b
mov byte [r12 + 1], bl
mov word [r12 + r8*2 + 0x58], si
mov qword [r12 + r8*8 + 0x90], rax
mov word [r12 + 0x56], 0
lea eax, [r8 + 1]
jmp 0x452b23
movsx r9, byte [r12 + 0x54]
cmp r9, 0x13
jge 0x45ee11
mov r15, rbx
movzx ecx, r8w
mov rdx, qword [rax + 0x60]
movzx r11d, word [rax + 0x1a]
movzx ecx, word [rdx + rcx*2]
shl ecx, 0x10
bswap ecx
not ecx
not r11
or r11, rcx
not r11
movzx esi, byte [r10 + r11 + 1]
shl esi, 0x10
movzx ecx, byte [r10 + r11]
shl ecx, 0x18
mov edx, ecx
not edx
mov ebx, esi
not ebx
and edx, 0x842cccf9
and ecx, 0x7b000000
or ecx, edx
and ebx, 0x842cccf9
and esi, 0xd30000
or esi, ebx
xor esi, ecx
movzx ecx, byte [r10 + r11 + 2]
shl ecx, 8
mov edx, esi
not edx
mov ebx, ecx
not ebx
mov ebp, edx
and ebp, 0xd7de8b0e
and esi, 0x28210000
or esi, ebp
or edx, ebx
and ebx, 0xd7de8b0e
and ecx, 0x7400
or ecx, ebx
xor ecx, esi
not edx
or edx, ecx
movzx ebp, byte [r10 + r11 + 3]
mov ebx, edx
and ebx, ebp
mov rcx, qword [r12 + 0x20]
mov word [r12 + 0x46], 0
and byte [r12 + 1], 0xf9
xor edx, ebp
or edx, ebx
mov word [r12 + r9*2 + 0x58], r8w
mov qword [r12 + r9*8 + 0x90], rax
mov word [r12 + 0x56], 0
lea eax, [r9 + 1]
mov byte [r12 + 0x54], al
movzx eax, byte [r12 + 2]
mov dword [rsp + 0x20], eax
mov rsi, qword [rsp + 0x88]
mov r8, rsi
mov r9, r12
call fcn.004681b0
mov ebp, eax
test eax, eax
mov rbx, r15
je 0x452826
jmp 0x45ee40
mov qword [rsp + 0xa0], r8
lea r8, [rdx + r14]
add r8, 0x14
lea r9, [rdx + r13 + 0x14]
mov ecx, edi
not ecx
mov edx, r10d
not edx
mov esi, ecx
and esi, 0x1cfd
mov dword [rsp + 0x88], edi
and edi, 0xffffe302
or edi, esi
or ecx, edx
and edx, 0x1cfd
mov esi, r10d
and esi, 0xffffe302
or esi, edx
xor esi, edi
not ecx
or ecx, esi
movzx edi, cx
mov rsi, rbx
movzx ecx, word [rbx + 2]
mov edx, edi
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
je 0x455cd5
test cl, cl
js 0x457818
mov eax, ecx
xor eax, 0xffef
test ax, cx
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, rsi
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
je 0x4587f8
movabs rsi, 0xd4a2a94b0460db81
jmp 0x45dd69
mov word [r14], 4
mov rdx, qword [rbx + 0x10]
mov r13, rbx
movsxd rbx, dword [rbx + 4]
test rdx, rdx
je 0x453129
mov qword [rsp + 0x20], 0
mov rcx, rsi
mov r8, rbx
xor r9d, r9d
call fcn.00414070
jmp 0x4531c0
mov eax, dword [rbx + 4]
jmp 0x45dd6c
mov r12, r14
mov qword [rsp + 0x50], r13
mov r13, rbx
mov rbx, qword [rdx + rbp + 0x18]
not eax
or eax, 0x6fff
cmp ax, 0xffff
jne 0x452c5f
cmp dword [rdx + rbp + 0x20], 0
je 0x452c68
lea rcx, [rdx + rbp]
call fcn.00449ce0
mov edx, 0x38
mov rcx, rbx
call fcn.00429840
test rax, rax
je 0x45ebe2
mov rsi, rax
mov rax, qword [rsp + 0x78]
lea r14, [rax + rbp]
add r14, 0x14
test rbx, rbx
je 0x452cb7
cmp qword [rbx + 0x1f0], rsi
jbe 0x452cb7
mov eax, pe_nt_image_headers64
cmp qword [rbx + 0x1e0], rsi
jbe 0x452cc0
cmp qword [rbx + 0x1e8], rsi
jbe 0x459e99
mov rcx, rsi
call qword [0x005f6048]
mov qword [rsi], 0
mov qword [rsi + 8], rbx
mov qword [rsi + 0x28], 0
mov rcx, rsi
add rcx, 0x38
movdqu xmmword [rsi + 0x10], xmm13
cdqe
movabs rdx, 0xe259b07f3ed50559
sub rax, rdx
add rax, rdx
add rax, 0xffffffffffffffc8
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
mov qword [rsi + 0x20], rcx
shr rdx, 4
mov word [rsi + 0x30], dx
mov word [rsi + 0x32], 1
mov dword [rsi + 0x34], 0
mov rdx, qword [rsp + 0x78]
mov qword [rdx + rbp + 8], rsi
mov word [r14], 0x1010
lea rax, [0x0047c280]
mov qword [rdx + rbp + 0x30], rax
mov rbx, r13
mov r13, qword [rsp + 0x50]
mov r14, r12
imul rax, rdi, 0x38
mov rdi, qword [rdx + rax]
movzx eax, word [rsi + 0x30]
test ax, ax
je 0x453228
mov rcx, qword [rsi + 0x20]
add eax, 0xffffffff
mov word [rsi + 0x30], ax
lea rax, [rcx + 0x18]
mov qword [rsi + 0x20], rax
test rcx, rcx
jne 0x45a232
jmp 0x4531d5
mov al, 1
xor esi, esi
xor r15d, r15d
jmp 0x456746
mov rax, qword [r15 + 8]
test rax, rax
je 0x44c1d0
mov edx, dword [rbx + 8]
add edx, 1
mov ecx, edx
xor ecx, 0xfffffffc
and ecx, edx
mov edx, dword [rax + 0xc8]
and edx, 0xfffffffc
mov ebp, edx
and ebp, ecx
xor edx, ecx
or edx, ebp
mov dword [rax + 0xc8], edx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x452d9f
jmp 0x44c1d0
xor edi, edi
cmp byte [rbx + 0x11], 0
je 0x452dde
add dword [rbx + 0x14], 1
cmp byte [rbx + 0x12], 0
jne 0x452dde
mov rcx, rbx
call fcn.0043e9d0
mov rax, qword [rbx + 8]
mov rax, qword [rax]
test edi, edi
je 0x4531ed
mov dword [rax + 0xbc], edi
jmp 0x4531f3
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], r13
mov rdx, rbx
mov ebx, dword [rbx + 8]
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rdx + 4]
mov rdi, qword [rax + rcx*8]
mov rsi, rdx
cmp byte [rdx + 1], 0xfb
mov ebp, 0
mov r13d, 0
jne 0x457f0f
cmp qword [r15 + 0x140], 0
je 0x457f0a
movsx rax, byte [rdi + 1]
mov rcx, qword [rsp + 0xb8]
mov rcx, qword [rcx]
shl rax, 5
mov r13, qword [rcx + rax]
mov rax, rsi
mov rbp, qword [rsi + 0x10]
movzx eax, word [rsi + 2]
mov ecx, eax
xor ecx, 0xfffd
test cx, ax
je 0x457f0f
cmp byte [rdi + 4], 0
je 0x457f0f
mov r12, r14
mov r14, qword [rdi + 0x30]
mov rcx, r14
call fcn.004412b0
mov rax, qword [r14 + 0x30]
mov r14, r12
mov qword [rdi + 0x50], rax
jmp 0x457f0f
add rax, rcx
add rax, 0x14
mov word [rax], 4
movsxd rax, edi
mov qword [rsi], rax
jmp 0x455b3c
xor eax, eax
mov rcx, qword [rsp + 0x68]
mov dword [rcx + 4], eax
cmp byte [rsp + 0x67], 1
je 0x45530b
mov qword [rsp + 0x20], 0
mov rcx, r12
mov rdx, rbx
mov r8, 0xffffffffffffffff
mov r9b, 1
call fcn.00414070
test eax, eax
jne 0x45f3db
mov eax, dword [r14]
mov edx, eax
not edx
or edx, 0xfffd
lea rcx, [rdi + rbp]
add rcx, 0x16
cmp dx, 0xffff
je 0x4552b0
mov dl, byte [rsp + 0x67]
cmp byte [rcx], dl
mov r15, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
je 0x4552c0
mov rcx, r12
call fcn.0044b3f0
test eax, eax
jne 0x45f341
movzx eax, word [r14]
jmp 0x4552c0
mov rax, qword [rdx + 0x10]
mov qword [rsi + 0x10], rax
movdqu xmm0, xmmword [rdx]
movdqu xmmword [rsi], xmm0
mov eax, dword [rcx + rbp + 0x14]
not eax
or eax, 0xdfff
cmp ax, 0xffff
jne 0x4531d5
mov eax, dword [rdi]
mov ecx, eax
xor ecx, 0x7000
and ecx, eax
mov eax, ecx
not eax
and eax, 0x638a
mov edx, ecx
and edx, 0xffff9c75
or edx, eax
xor edx, 0x238a
and ecx, 0x4000
or ecx, edx
mov word [rdi], cx
jmp 0x4531d5
mov rdi, qword [rsp + 0x58]
mov rbx, r13
mov r13, qword [rsp + 0x50]
mov r14, r12
movabs rsi, 0xd4a2a94b0460db81
mov r15, qword [rsp + 0x70]
add rbx, 0x18
jmp 0x44c1d4
mov eax, esi
xor edx, edx
div ebp
mov rbx, r13
mov r14, qword [rsp + 0x48]
mov rdi, r12
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + rcx + 8]
mov rcx, rdx
shr rcx, 3
movzx eax, byte [rax + rcx]
and dl, 7
btc eax, edx
not eax
movzx ecx, dl
bt eax, ecx
mov r13, qword [rsp + 0x50]
movabs rsi, 0xd4a2a94b0460db81
jae 0x453217
mov rax, qword [rsp + 0x40]
add dword [rax + 0xf0], 1
add rbx, 0x18
jmp 0x44c1d4
mov r15, qword [rsp + 0x70]
mov r13, qword [rsp + 0x50]
add rbx, 0x18
jmp 0x44c1d4
cmp r15d, 5
jne 0x45306d
mov rcx, qword [rbx + 0xd8]
test rcx, rcx
je 0x453076
mov r12, rdx
call fcn.005f4bd8
mov rcx, rax
xor rcx, 0xffffffffc0000000
test rcx, rax
je 0x453076
cmp byte [rbx + 0x11], 0
jne 0x453076
cmp byte [rbx + 8], 0
mov rdx, r12
je 0x459525
cmp r15d, edi
jne 0x459553
mov r15d, edi
mov rax, qword [rsp + 0x80]
mov ebp, eax
test eax, eax
cmove edi, r15d
mov rcx, rbx
mov edx, edi
call fcn.00466480
mov rcx, qword [rsp + 0x88]
mov word [rcx], 0x2202
cmp eax, 6
jne 0x4530b2
mov qword [rsi + r14 + 8], 0
xor ecx, ecx
jmp 0x4530d3
cdqe
lea rcx, [0x005fda70]
mov rcx, qword [rcx + rax*8]
mov qword [rsi + r14 + 8], rcx
call fcn.005f4bd8
mov ecx, eax
xor ecx, 0xc0000000
and ecx, eax
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov dword [rsi + r14 + 0x10], ecx
mov byte [rsi + r14 + 0x16], 1
mov dl, byte [rsp + 0x67]
cmp dl, 1
je 0x453103
mov rcx, qword [rsp + 0xa0]
call fcn.0044b3f0
xor eax, eax
mov qword [rsp + 0x80], rax
test ebp, ebp
movabs rsi, 0xd4a2a94b0460db81
mov r14, qword [rsp + 0x48]
je 0x44c1d0
jmp 0x45eb4a
mov eax, dword [r14]
mov ecx, eax
xor ecx, 0x6fff
test cx, ax
jne 0x453140
cmp dword [rdi + rbp + 0x20], 0
je 0x453148
mov rcx, rsi
call fcn.00449ce0
mov word [r14], 0x410
mov dword [rdi + rbp + 0x10], 0
test ebx, ebx
mov eax, 0
cmovns eax, ebx
mov dword [rsi], eax
mov byte [rdi + rbp + 0x16], 1
mov qword [rdi + rbp + 8], 0
test eax, eax
mov eax, 1
cmovle ebx, eax
mov rcx, rsi
mov edx, ebx
mov r8d, 1
call fcn.00449fe0
test eax, eax
jne 0x45ebef
lea rbx, [rdi + rbp]
add rbx, 0x10
movsxd r8, dword [rsi]
movsxd rcx, dword [rbx]
add rcx, qword [rbx - 8]
xor edx, edx
call fcn.005f4c10
mov eax, dword [rsi]
add dword [rbx], eax
mov eax, dword [r14]
mov ecx, eax
xor ecx, 0x600
and ecx, eax
mov word [r14], cx
mov al, byte [rsp + 0x67]
mov byte [rdi + rbp + 0x16], al
mov rbx, r13
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
movabs rsi, 0xd4a2a94b0460db81
mov rdi, qword [rsp + 0x58]
add rbx, 0x18
jmp 0x44c1d4
mov edi, dword [rax + 0xbc]
cmp byte [rbx + 0x11], 0
je 0x453207
add dword [rbx + 0x14], 0xffffffff
jne 0x453207
mov rcx, rbx
call fcn.0043ea70
mov eax, edi
mov qword [rsi], rax
mov rbx, r14
mov r14, r12
jmp 0x45c5ba
mov rax, qword [rsp + 0x40]
add dword [rax + 0xf4], 1
jmp 0x45dd69
mov rcx, qword [rsi + 8]
movzx eax, word [rcx + 0x1a4]
cmp eax, 0x3f7
ja 0x4551d9
cmp dword [rcx + 0x1a0], 0
je 0x4583ae
cmp byte [rcx + 0x67], 0
jne 0x4531d5
jmp 0x45a204
movdqu xmm0, xmmword [rbx + 8]
mov rax, qword [rsp + 0x70]
movdqu xmmword [rax + 0x2f0], xmm0
cmp r12d, 2
setne al
sete cl
xor cl, r15b
cmp cl, 1
mov rcx, qword [rsp + 0x70]
jne 0x45328a
or al, r15b
xor al, 1
je 0x456b3f
cmp qword [rcx + 0x240], 0
je 0x456b3f
cmp r12d, 1
jg 0x4578b7
xor edi, edi
mov rbp, rcx
jmp 0x4532c1
mov rbx, qword [rsi]
add eax, 0xffffffff
mov dword [rsi + 0x18], eax
je 0x453322
add rdi, 1
test r15d, r15d
jne 0x45e142
movsxd rax, dword [rbp + 0x21c]
cmp rdi, rax
jge 0x456b3f
mov r12, rbp
mov rax, qword [rbp + 0x240]
mov rsi, qword [rax + rdi*8]
mov rcx, qword [rsi + 0x10]
xor r15d, r15d
test rcx, rcx
je 0x4532b4
mov rax, qword [rsi + 8]
mov rdx, qword [rax]
cmp dword [rdx], 2
jl 0x4532b4
mov eax, dword [rsi + 0x18]
add eax, 1
mov dword [rsi + 0x18], eax
mov rbx, qword [rdx + 0xa8]
xor r15d, r15d
test rbx, rbx
je 0x4532a9
cmp dword [rsi + 0x20], r14d
jle 0x4532a9
mov edx, r14d
call rbx
mov r15d, eax
mov eax, dword [rsi + 0x18]
jmp 0x4532a9
mov rbp, qword [rsi + 8]
mov r12, qword [rsi + 0x10]
mov eax, dword [rbp + 0x10]
lea ecx, [rax - 1]
mov dword [rbp + 0x10], ecx
cmp eax, 1
jne 0x453352
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x453347
mov rcx, qword [rbp + 0x18]
call rax
mov rcx, rbx
mov rdx, rbp
call fcn.00408130
test r12, r12
je 0x453361
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x20]
mov rcx, rbx
mov rdx, rsi
call fcn.00408130
mov rbp, qword [rsp + 0x70]
jmp 0x4532b4
mov r12, rdi
mov rbp, qword [r13 + 0x30]
mov rcx, rbp
call fcn.004412b0
mov esi, dword [rbp + 0x40]
mov word [rsp + 0xd4], 0
mov qword [rsp + 0xd8], r15
mov dword [rsp + 0xe0], 0
movzx eax, word [rbp + 0x44]
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x88]
mov edx, dword [rdx + 0x58]
sub edx, ecx
mov edi, 0
cmovns edi, edx
cmp eax, edx
cmovle edi, eax
mov qword [rsp + 0xc8], rcx
cmp edi, esi
jae 0x45524b
mov word [rsp + 0xd4], 1
mov rax, qword [rbp + 0x20]
mov ecx, dword [rax + 0x34]
mov eax, dword [rax + 0x40]
imul rax, rcx
cmp rax, rsi
mov rdi, r12
jb 0x45f21b
lea edx, [rsi + 1]
test edx, edx
jle 0x45851a
lea rcx, [rsp + 0xc0]
xor r8d, r8d
call fcn.00449fe0
test eax, eax
jne 0x45e3bb
mov r9, qword [rsp + 0xc8]
jmp 0x458524
mov edx, ecx
not edx
or edx, 0xfffffff7
cmp edx, 0xffffffff
je 0x45608c
movsd xmm0, qword [rsi]
call fcn.0044b040
jmp 0x457c00
not eax
or eax, 0xfffe
cmp ax, 0xffff
je 0x4560c6
xor r8d, r8d
jmp 0x4560d0
mov word [r14], 4
mov word [r14], 1
mov rcx, rbx
call fcn.00449ce0
lea rax, [0x005fd4c2]
mov qword [rbx], rax
mov qword [rdi + rbp + 8], rsi
mov word [r14], 0x1a01
mov byte [rdi + rbp + 0x17], 0x70
lea rax, [fcn.00404730]
mov qword [rdi + rbp + 0x30], rax
mov rbx, r12
mov rax, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
jmp 0x4568d0
xor ebp, ebp
jmp 0x456c47
mov rbx, rbp
jmp 0x455b3c
mov rdi, qword [rsp + 0x78]
add rdi, rcx
add rdi, 0x38
mov r8, r9
xor r8, 0xfffffffffffffffc
and r8, r9
mov rcx, rbx
sub rcx, r8
xor esi, esi
movapd xmm0, xmm6
nop
movapd xmm1, xmm0
psubq xmm1, xmm10
movapd xmm2, xmm0
psubq xmm2, xmm9
movdqa xmm3, xmm1
pmuludq xmm3, xmm15
psrlq xmm1, 0x20
pmuludq xmm1, xmm15
psllq xmm1, 0x20
movq xmm4, rdi
pshufd xmm4, xmm4, 0x44
paddq xmm3, xmm4
paddq xmm3, xmm1
movdqa xmm1, xmm2
pmuludq xmm1, xmm15
psrlq xmm2, 0x20
pmuludq xmm2, xmm15
psllq xmm2, 0x20
paddq xmm1, xmm4
paddq xmm1, xmm2
movdqu xmmword [rax + rsi*8], xmm3
movdqu xmmword [rax + rsi*8 + 0x10], xmm1
add rsi, 4
paddq xmm0, xmm11
cmp rcx, rsi
jne 0x4534e0
test r8, r8
movabs rsi, 0xd4a2a94b0460db81
je 0x453591
add rbp, rcx
imul rbp, rbp, 0x38
mov rdi, qword [rsp + 0x78]
add rbp, rdi
add rbp, 0x70
nop word [rax + rax]
mov qword [rax + rcx*8], rbp
add rcx, 1
add rbp, 0x38
cmp rbx, rcx
jne 0x453580
mov qword [rsp + 0x48], r14
mov rbx, r13
mov r8, qword [r13 + 0x10]
mov qword [rsp + 0x20], rax
mov rcx, r15
mov rdi, r10
call qword [r10 + 0x40]
mov r14d, eax
cmp qword [r12 + 0x10], 0
je 0x455868
mov rax, qword [rsp + 0x40]
mov rbx, qword [rax]
mov rdx, qword [rax + 0xa8]
mov rcx, rbx
call fcn.00408130
mov rsi, qword [r12 + 0x10]
test rsi, rsi
je 0x4557c6
mov rcx, rsi
call fcn.005f4bd8
mov rbp, rax
add rbp, 1
test rbx, rbx
je 0x4557a6
mov rcx, rbx
mov rdx, rbp
call fcn.00429840
jmp 0x4557ae
cmp dword [rax + 0x80], 0
je 0x4563db
call fcn.00432ba0
jmp 0x4561a3
lea esi, [r12 - 2]
lea r9d, [rbx + 1]
mov eax, esi
xor edx, edx
div r9d
sub esi, edx
mov eax, dword [0x005f6c40]
xor edx, edx
div dword [r14 + 0x34]
mov ebp, eax
lea eax, [rsi + 1]
xor edx, edx
cmp eax, ebp
sete dl
lea edi, [rsi + rdx]
add edi, 2
mov eax, ebx
sub eax, r12d
add eax, r8d
add eax, edi
xor edx, edx
div ebx
mov edx, r12d
sub edx, r8d
sub edx, eax
lea edi, [rbp + 1]
cmp edi, r12d
setae al
cmp edx, edi
setae bl
or bl, al
xor bl, 1
movzx eax, bl
sub edx, eax
nop dword [rax]
mov esi, edx
xor eax, eax
cmp edx, 2
jb 0x4536a5
lea ebx, [rsi - 2]
mov eax, ebx
xor edx, edx
div r9d
sub ebx, edx
lea eax, [rbx + 1]
xor edx, edx
cmp eax, ebp
sete dl
lea eax, [rdx + rbx]
add eax, 2
cmp esi, eax
sete bl
xor eax, esi
cmp esi, edi
sete cl
mov edx, esi
xor edx, edi
or edx, eax
sete al
lea edx, [rsi - 1]
cmp cl, bl
jne 0x453680
test al, al
jne 0x453680
cmp r12d, esi
setb al
cmp r12d, r8d
seta cl
cmp cl, al
je 0x453907
cmp r12d, r8d
jbe 0x453907
test r8d, r8d
mov rbx, qword [rsp + 0x68]
je 0x453943
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x453733
xor edx, edx
xor r8d, r8d
call fcn.00440f10
mov qword [rsp + 0x80], rax
test eax, eax
jne 0x453943
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x453733
movzx ecx, byte [rax + 1]
mov edx, ecx
xor dl, 4
and dl, cl
mov byte [rax + 1], dl
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x45371c
mov rcx, r14
mov edx, esi
mov r8d, r12d
xor r9d, r9d
call fcn.00440950
mov qword [rsp + 0x80], rax
test eax, eax
jne 0x453943
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax + 0x70]
mov rax, qword [rcx + 0x28]
mov edx, dword [rcx + 0x34]
not edx
or edx, 0xfffb
cmp dx, 0xffff
je 0x45377c
mov edx, dword [rax + 0x20]
cmp edx, dword [rcx + 0x30]
jae 0x45b7f5
mov edx, dword [rax + 0x30]
mov qword [rsp + 0x80], rdx
test edx, edx
jne 0x45c496
mov edx, dword [rax + 0xb8]
cmp edx, dword [rax + 0xc8]
jbe 0x45c3cc
call fcn.0043fc70
jmp 0x45c3d1
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
lea rax, [0x005fade0]
jge 0x45573c
cmp byte [rbp + rax + 0xcc], 0
jne 0x45dd69
mov dword [rsp + 0xac], 0xffffffff
add rbx, 0x18
jmp 0x44c1d4
mov r13, r8
neg r13
xor ebp, ebp
mov r14d, 1
xor r15d, r15d
lea rdi, [rsp + 0xc8]
lea r9, [rsp + 0xc4]
mov qword [rsp + 0x88], r8
nop dword [rax]
lea rax, [r14 + r13]
cmp rax, 1
jne 0x4538b2
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
mov rcx, r8
shl rcx, 5
mov rbx, qword [rax + rcx + 8]
test rbx, rbx
je 0x4538b6
mov r12, qword [rbx + 8]
cmp byte [rbx + 0x11], 0
je 0x453864
add dword [rbx + 0x14], 1
cmp byte [rbx + 0x12], 0
jne 0x453864
mov rcx, rbx
mov rsi, r9
call fcn.0043e9d0
mov r9, rsi
mov r8, qword [rsp + 0x88]
mov esi, 6
cmp byte [r12 + 0x24], 0
jne 0x453894
mov rcx, qword [r12]
mov rdx, qword [rbx]
mov qword [rsp + 0x20], rdi
mov r8d, dword [rsp + 0x80]
call fcn.0053f300
mov r8, qword [rsp + 0x88]
mov esi, eax
cmp byte [rbx + 0x11], 0
je 0x4538b8
add dword [rbx + 0x14], 0xffffffff
jne 0x4538b8
mov rcx, rbx
call fcn.0043ea70
mov r8, qword [rsp + 0x88]
jmp 0x4538b8
xor esi, esi
jmp 0x4538d9
xor esi, esi
cmp esi, 5
mov eax, 0
cmove esi, eax
mov eax, 1
cmove r15d, eax
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 0x28]
xor r9d, r9d
xor edi, edi
test esi, esi
sete al
jne 0x456746
movsxd rdx, ecx
cmp r14, rdx
jge 0x456746
add rbp, 1
add r14, 1
mov dl, 1
test dl, dl
jne 0x453810
jmp 0x456746
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
mov eax, 0xb
mov qword [rsp + 0x80], rax
mov ecx, 0xb
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov r9d, 0x11493
call fcn.00408970
mov rbx, qword [rsp + 0x68]
cmp byte [r15 + 0x11], 0
je 0x453959
add dword [r15 + 0x14], 0xffffffff
jne 0x453959
mov rcx, r15
call fcn.0043ea70
mov rax, qword [rsp + 0x80]
cmp eax, 0x65
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x48]
movabs rsi, 0xd4a2a94b0460db81
je 0x45398c
test eax, eax
mov rdi, qword [rsp + 0x58]
je 0x44c1d0
jmp 0x45e2ff
xor eax, eax
mov qword [rsp + 0x80], rax
mov rdi, qword [rsp + 0x58]
jmp 0x45dd69
mov rbx, r13
mov r13, qword [rsp + 0x50]
add r15, 1
test r14d, r14d
jne 0x459458
mov rcx, rsi
movsxd rax, dword [rsi + 0x21c]
cmp r15, rax
jge 0x458bec
mov rax, qword [rcx + 0x240]
mov rbp, qword [rax + r15*8]
mov rcx, qword [rbp + 0x10]
xor r14d, r14d
test rcx, rcx
je 0x4539a8
mov rax, qword [rbp + 8]
mov rdx, qword [rax]
cmp dword [rdx], 2
jl 0x4539a8
mov r13, rbx
mov eax, dword [rbp + 0x18]
add eax, 1
mov dword [rbp + 0x18], eax
mov rbx, qword [rdx + 0xa0]
mov dword [rbp + 0x20], edi
test rbx, rbx
je 0x453a17
mov edx, dword [rsp + 0x88]
call rbx
mov r14d, eax
mov eax, dword [rbp + 0x18]
jmp 0x453a1a
xor r14d, r14d
mov rbx, qword [rbp]
add eax, 0xffffffff
mov dword [rbp + 0x18], eax
jne 0x4539a0
mov rsi, qword [rbp + 8]
mov rdi, qword [rbp + 0x10]
add dword [rsi + 0x10], 0xffffffff
jne 0x453a52
mov rax, qword [rsi + 0x20]
test rax, rax
je 0x453a47
mov rcx, qword [rsi + 0x18]
call rax
mov rcx, rbx
mov rdx, rsi
call fcn.00408130
test rdi, rdi
je 0x453a60
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x20]
mov rcx, rbx
mov rdx, rbp
call fcn.00408130
mov rsi, qword [rsp + 0x70]
mov rbx, r13
mov r13, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x80]
jmp 0x4539a8
mov edx, ecx
not edx
or edx, 0xfffffff7
cmp edx, 0xffffffff
je 0x456ab9
movq xmm0, qword [rbp]
call fcn.0044b040
mov r15, rax
jmp 0x4582c3
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x68], rbx
mov eax, dword [r14 + 8]
mov ecx, dword [r14 + 0x10]
mov ebp, dword [r14 + 0xc]
add ebp, ecx
cmp ecx, 1
adc ebp, 0
imul edx, ebp, 0x38
lea ebx, [rax + 7]
add eax, 0xe
test ebx, ebx
cmovns eax, ebx
sar eax, 3
lea eax, [rax + rcx*8]
lea r12d, [rdx + rax]
add r12d, 0x78
movsxd rbx, r12d
mov rcx, r15
mov rdx, rbx
call fcn.00429840
test rax, rax
je 0x45ee8f
mov rsi, rax
mov r13, qword [rsp + 0x78]
lea r15, [rdi + r13]
add r15, 0x14
mov rcx, rax
xor edx, edx
mov r8, rbx
call fcn.005f4c10
mov eax, dword [r15]
not eax
or eax, 0x6fff
cmp ax, 0xffff
jne 0x453b2d
cmp dword [r13 + rdi + 0x20], 0
je 0x453b36
lea rcx, [rdi + r13]
call fcn.00449ce0
mov word [r15], 0x1010
mov qword [r13 + rdi + 8], rsi
mov dword [r13 + rdi + 0x10], r12d
lea rax, [0x00466460]
mov qword [r13 + rdi + 0x30], rax
mov rdx, qword [rsp + 0x40]
mov qword [rsi], rdx
mov dword [rsi + 0x60], ebp
mov ecx, dword [r14 + 0x10]
mov dword [rsi + 0x64], ecx
mov r13, qword [rsp + 0x68]
sub r13, qword [rsp + 0x130]
shr r13, 3
imul eax, r13d, 0xaaaaaaab
mov dword [rsi + 0x54], eax
mov rax, qword [rdx + 0x68]
mov qword [rsi + 0x20], rax
mov eax, dword [rdx + 0x24]
mov dword [rsi + 0x5c], eax
mov rax, qword [rdx + 0x78]
mov qword [rsi + 0x28], rax
mov eax, dword [rdx + 0x28]
mov dword [rsi + 0x50], eax
mov rax, qword [rdx + 0x88]
mov qword [rsi + 0x10], rax
mov eax, dword [rdx + 0x90]
mov dword [rsi + 0x58], eax
mov rax, qword [r14 + 0x20]
mov qword [rsi + 0x38], rax
movsxd rax, ebp
imul rbx, rax, 0x38
test rbx, rbx
je 0x457031
lea rbp, [rsi + 0x78]
lea rdi, [rbx - 0x38]
mov rax, rdi
shr rax, 3
movabs rdx, 0x2492492492492493
mul rdx
add edx, 1
not edx
or rdx, 0xfffffffffffffff8
cmp rdx, 0xffffffffffffffff
mov r15, qword [rsp + 0x70]
mov r13, qword [rsp + 0x50]
je 0x453c13
not rdx
mov word [rbp + 0x14], 0
mov qword [rbp + 0x18], r15
add rbp, 0x38
add rdx, 0xffffffffffffffff
jne 0x453bff
cmp rdi, 0x188
jb 0x44e772
lea rax, [rsi + rbx]
add rax, 0x78
mov word [rbp + 0x14], 0
mov qword [rbp + 0x18], r15
mov word [rbp + 0x4c], 0
mov qword [rbp + 0x50], r15
mov word [rbp + 0x84], 0
mov qword [rbp + 0x88], r15
mov word [rbp + 0xbc], 0
mov qword [rbp + 0xc0], r15
mov word [rbp + 0xf4], 0
mov qword [rbp + 0xf8], r15
mov word [rbp + 0x12c], 0
mov qword [rbp + 0x130], r15
mov word [rbp + 0x164], 0
mov qword [rbp + 0x168], r15
mov word [rbp + 0x19c], 0
mov qword [rbp + 0x1a0], r15
add rbp, 0x1c0
cmp rax, rbp
jne 0x453c28
jmp 0x44e772
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
xor eax, eax
mov qword [rsp + 0xa0], rax
cmp qword [r15 + 0x240], 0
je 0x453dff
mov eax, dword [r15 + 0x2e8]
add eax, dword [r15 + 0x2ec]
mov qword [rsp + 0x88], rax
add eax, 1
mov dword [rsp + 0x80], eax
xor edi, edi
mov qword [rsp + 0x50], r13
jmp 0x453d28
xor r14d, r14d
mov rbp, qword [rbx]
add eax, 0xffffffff
mov dword [rbx + 0x18], eax
je 0x453da7
mov ebp, r14d
mov r14, r15
add rdi, 1
test ebp, ebp
mov rbx, r12
jne 0x45e07b
mov r15, qword [rsp + 0x70]
movsxd rax, dword [r15 + 0x21c]
cmp rdi, rax
jge 0x453dff
mov r12, rbx
mov rax, qword [r15 + 0x240]
mov rbx, qword [rax + rdi*8]
mov rcx, qword [rbx + 0x10]
xor ebp, ebp
test rcx, rcx
je 0x453d19
mov rax, qword [rbx + 8]
mov rdx, qword [rax]
cmp dword [rdx], 2
jl 0x453d19
mov r15, r14
mov eax, dword [rbx + 0x18]
add eax, 1
mov dword [rbx + 0x18], eax
mov rbp, qword [rdx + 0xa0]
mov edx, dword [rsp + 0x80]
mov dword [rbx + 0x20], edx
test rbp, rbp
je 0x453d01
mov rdx, qword [rsp + 0x88]
call rbp
mov r14d, eax
mov eax, dword [rbx + 0x18]
mov rbp, qword [rbx]
add eax, 0xffffffff
mov dword [rbx + 0x18], eax
jne 0x453d13
mov r15, qword [rbx + 8]
mov r13, qword [rbx + 0x10]
add dword [r15 + 0x10], 0xffffffff
jne 0x453dd0
mov rax, qword [r15 + 0x20]
test rax, rax
je 0x453dc5
mov rcx, qword [r15 + 0x18]
call rax
mov rcx, rbp
mov rdx, r15
call fcn.00408130
test r13, r13
je 0x453ddf
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x20]
mov rcx, rbp
mov rdx, rbx
call fcn.00408130
mov r13, qword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
mov ebp, r14d
mov r14, rax
jmp 0x453d19
mov qword [rsp + 0x68], rbx
mov rdi, qword [rsp + 0xa0]
lea edx, [rdi + 0x21]
mov rcx, r15
call fcn.00429840
test rax, rax
je 0x456b3f
mov rbx, rax
mov rcx, rax
add rcx, 0x20
mov qword [rax], rcx
add edi, 1
mov rdx, rsi
mov r8, rdi
call fcn.005f4c20
cmp byte [r15 + 0x65], 0
je 0x456b17
mov byte [r15 + 0x65], 0
mov byte [r15 + 0x6d], 1
jmp 0x456b1f
mov ecx, eax
xor ecx, 0xfffe
test cx, ax
jne 0x458d89
lea rcx, [rsp + 0xc0]
mov dl, 1
call fcn.0044a3f0
mov rdx, rax
test rdx, rdx
je 0x458d89
movsxd rax, dword [rbx + 4]
mov rcx, qword [r15 + 0x20]
shl rax, 5
mov r8, qword [rcx + rax]
mov rcx, r15
call fcn.00426380
mov r10, rax
mov rax, qword [rax + 0x48]
mov r8, qword [rax]
mov rcx, qword [r15 + 0x230]
mov rax, qword [rsp + 0x1f0]
mov rdx, qword [rsp + 0x1f8]
test rcx, rcx
je 0x458c9e
mov r9, rsi
mov rdi, rbx
mov bl, byte [r8]
test bl, bl
je 0x458c7e
lea rdx, [r8 + 1]
xor eax, eax
lea rsi, [0x005fade0]
movzx ebp, bl
movzx ebp, byte [rbp + rsi]
add ebp, eax
imul eax, ebp, 0x9e3779b1
movzx ebx, byte [rdx]
add rdx, 1
test bl, bl
jne 0x453ee1
jmp 0x458c80
mov rdx, qword [rsp + 0x78]
mov rax, qword [rdx + r10 + 0x28]
mov qword [rdx + r10 + 8], rax
and word [rdx + r10 + 0x14], 0x2d
mov r13, qword [rsp + 0x50]
mov dword [rdx + r10 + 0x10], r12d
mov word [rdx + r10 + 0x14], 0x10
test r11, r11
je 0x453f46
lea rax, [rdx + r10]
add rax, 0x14
mov rcx, qword [rsp + 0x98]
mov dword [rcx], r11d
mov word [rax], 0x410
mov rbx, qword [rdx + r10 + 8]
cmp r14d, 0x7f
jg 0x453f5f
lea r14, [rbx + 1]
mov byte [rbx], sil
mov r12, qword [rsp + 0x70]
jmp 0x453faf
cmp r14d, 0x3fff
ja 0x453f99
shr r14d, 7
mov eax, r14d
not al
and al, 0x1d
mov ecx, r14d
and cl, 0xe2
or cl, al
xor cl, 0x9d
and r14b, 0x80
or r14b, cl
mov byte [rbx], r14b
mov eax, esi
xor al, 0x80
and al, sil
mov byte [rbx + 1], al
mov eax, 2
jmp 0x453fa4
mov rcx, rbx
mov rdx, rsi
call fcn.00467b20
mov r12, qword [rsp + 0x70]
movsxd r14, eax
add r14, rbx
add rbx, rsi
movabs rsi, 0xd4a2a94b0460db81
jmp 0x453fe7
mov eax, eax
add rbx, rax
movabs rsi, 0xd4a2a94b0460db81
mov rdi, qword [rsp + 0x88]
lea rax, [r15 + 0x38]
cmp r15, rdi
mov r15, rax
je 0x45412b
mov edx, dword [r15 + 0x24]
cmp rdx, 7
ja 0x454050
mov byte [r14], dl
add r14, 1
test edx, edx
je 0x453fd7
mov rcx, qword [r15]
lea rax, [0x005fd220]
movzx eax, byte [rdx + rax]
lea r8d, [rax - 1]
mov esi, eax
not esi
or esi, 0xfffffffc
cmp esi, 0xffffffff
je 0x4540dc
not esi
mov edx, eax
nop word [rax + rax]
add edx, 0xffffffff
mov byte [rbx + rdx], cl
shr rcx, 8
add esi, 0xffffffff
jne 0x454030
cmp r8d, 3
jb 0x453fc0
jmp 0x4540e8
cmp edx, 0x7f
ja 0x454073
mov byte [r14], dl
add r14, 1
cmp edx, 0xe
jb 0x453fd7
mov r8d, dword [r15 + 0x10]
test r8d, r8d
jg 0x4540c4
jmp 0x453fd7
cmp edx, 0x3fff
ja 0x4540aa
mov eax, edx
shr eax, 7
mov r8d, eax
not r8b
and r8b, 0x8a
mov ecx, eax
and cl, 0x75
or cl, r8b
xor cl, 0xa
and al, 0x80
or al, cl
mov byte [r14], al
and dl, 0x7f
mov byte [r14 + 1], dl
mov eax, 2
jmp 0x4540b2
mov rcx, r14
call fcn.00467b20
cdqe
add r14, rax
movsxd r8, dword [r15 + 0x10]
test r8, r8
je 0x453fd7
mov rdx, qword [r15 + 8]
mov rcx, rbx
call fcn.005f4c20
movsxd rax, dword [r15 + 0x10]
add rbx, rax
jmp 0x453fd7
mov edx, eax
cmp r8d, 3
jb 0x453fc0
lea esi, [rdx - 2]
nop dword [rax + rax]
lea edi, [rsi + 1]
mov byte [rbx + rdi], cl
mov edi, esi
mov byte [rbx + rdi], ch
mov rdi, rcx
shr rdi, 0x10
lea ebp, [rsi - 1]
mov byte [rbx + rbp], dil
mov rbp, rcx
shr rbp, 0x18
add edx, 0xfffffffc
lea edi, [rsi - 2]
mov byte [rbx + rdi], bpl
shr rcx, 0x20
add esi, 0xfffffffc
cmp esi, 0xfffffffe
jne 0x4540f0
jmp 0x453fc0
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x48]
mov r15, r12
add rbx, 0x18
jmp 0x44c1d4
lea rax, [rdi + rbp]
add rax, 0x14
mov word [rax], 1
mov rbx, rsi
mov r14, qword [rsp + 0x48]
jmp 0x45b4a8
lea rax, [rdi + rbx]
add rax, 0x14
mov word [rax], 1
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
jmp 0x45c057
add rax, 0x10
mov rcx, qword [rsi + 0x28]
mov qword [rax], rcx
mov rdx, qword [rsi + 0x48]
test rdx, rdx
je 0x454198
mov rcx, r15
call fcn.00468370
mov rdx, qword [rsi + 0x50]
test rdx, rdx
je 0x4541a9
mov rcx, r15
call fcn.0047fbe0
mov rdx, qword [rsi + 0x20]
mov rcx, r15
call fcn.00408130
mov eax, dword [rsi + 0x64]
mov ecx, eax
xor ecx, 0xffffffef
test ecx, eax
je 0x4541cd
mov rdx, qword [rsi + 0x40]
mov rcx, r15
call fcn.00408130
mov rcx, r15
mov rdx, rsi
call fcn.00408130
mov eax, dword [r15 + 0x2c]
mov ecx, eax
and ecx, 1
xor eax, 1
or eax, ecx
mov dword [r15 + 0x2c], eax
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
mov ecx, edi
not cl
mov ebx, ebp
not bl
mov eax, ecx
and al, 0x66
and dil, 0x99
or dil, al
or cl, bl
and bl, 0x66
and bpl, 0x99
or bpl, bl
xor bpl, dil
not cl
or cl, bpl
mov byte [r9 + rdx], cl
mov rax, qword [rsi + 0x88]
mov eax, dword [rax + 4]
mov rbx, r8
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r10
mov dword [rbx + 4], eax
add rbx, 0x18
jmp 0x44c1d4
mov edx, ecx
xor edx, 0xffdb
test edx, ecx
je 0x45786e
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rdi]
jmp 0x459dcf
add rax, r12
add rax, 0x14
mov word [rax], 1
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xc8], rbp
mov rax, qword [r12 + rdi + 0x18]
mov al, byte [rax + 0x64]
mov byte [rsp + 0xe8], al
lea rcx, [rsp + 0xc0]
call qword [rbp + 0x28]
mov eax, dword [rsp + 0xe4]
mov rbx, r13
movsxd rcx, dword [r13 + 0xc]
imul rsi, rcx, 0x38
add rsi, r12
mov r13, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x48]
test eax, eax
mov rdi, r14
jne 0x45e734
mov eax, dword [rsi + 0x14]
not eax
or eax, 0xfffd
cmp ax, 0xffff
mov r14, rbp
je 0x45430c
xor eax, eax
mov qword [rsp + 0x80], rax
mov dl, byte [rsp + 0x67]
cmp byte [rsi + 0x16], dl
jne 0x454318
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
mov al, byte [rsp + 0x67]
mov byte [rsi + 0x16], al
jmp 0x45684d
mov rcx, rsi
call fcn.0044b3f0
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
mov r12, rbx
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
movsxd rax, dword [rax + 4]
lea rax, [rax + rax*4]
shl rax, 4
add rax, qword [rcx + 0x18]
mov rsi, qword [rax + 0x28]
add rax, 0x14
mov ebx, dword [rax]
mov rbp, qword [rsp + 0x78]
cmp dword [rbp + rdi + 0x20], ebx
jge 0x454385
lea rcx, [rdi + rbp]
mov edx, ebx
xor r8d, r8d
call fcn.00449fe0
test eax, eax
jne 0x45ea96
movzx eax, word [rbp + rdi + 0x14]
mov rcx, qword [rbp + rdi + 8]
jmp 0x45439c
mov rcx, qword [rbp + rdi + 0x28]
mov qword [rbp + rdi + 8], rcx
movzx eax, word [rbp + rdi + 0x14]
and eax, 0x2d
mov word [rbp + rdi + 0x14], ax
movsxd r8, ebx
mov dword [rbp + rdi + 0x10], ebx
mov edx, eax
not edx
or edx, 0xd2c
and edx, 0x5d6c
and eax, 0xffffa200
or eax, edx
xor eax, 0x5d7c
mov word [rbp + rdi + 0x14], ax
mov rdx, rsi
call fcn.005f4c20
mov rbx, r12
movsxd rax, dword [r12 + 0xc]
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx]
mov rax, qword [rcx + rax*8]
mov dword [rax + 0x20], 0
xor eax, eax
mov qword [rsp + 0x80], rax
jmp 0x45a72f
mov qword [rsp + 0x48], r14
mov r14, r15
mov qword [rbx + 0x18], 0
mov dword [rbx + 0x20], 0
mov rsi, qword [rbx + 0x10]
mov ebp, dword [rbx + 0x44]
mov r15, qword [rsi + 8]
cmp byte [rsi + 0x11], 0
je 0x454433
add dword [rsi + 0x14], 1
cmp byte [rsi + 0x12], 0
jne 0x454433
mov rcx, rsi
call fcn.0043e9d0
mov rcx, qword [r15 + 0x10]
test rcx, rcx
je 0x4570d3
test ebp, ebp
je 0x4570c2
cmp dword [rcx + 0x50], ebp
je 0x4570c2
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x454448
jmp 0x4570d3
lea rax, [rdx + rcx]
add rax, 0x14
mov word [rax], 1
jmp 0x45dd69
add dword [rax + 0x2c], 0xffffffff
je 0x44ebef
mov eax, dword [r15 + 0x2c]
mov ecx, eax
not ecx
and ecx, 0x333dc321
mov edx, eax
and edx, 0xccc23cde
or edx, ecx
xor edx, 0x333dc320
and eax, 1
or eax, edx
mov dword [r15 + 0x2c], eax
add rbx, 0x18
jmp 0x44c1d4
mov ebp, eax
test ebp, ebp
jne 0x45e9e3
mov rcx, r14
call fcn.00471030
mov ebp, eax
xor r13d, r13d
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x48]
jmp 0x456c56
mov rax, qword [r12 + 0x88]
cmp byte [rax + 8], 0
je 0x44ef18
movzx edi, word [rax + 0x18]
movzx eax, byte [r12 + 0x54]
test al, al
jle 0x44ef18
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x68], rbx
movabs rdx, 0xf103911f0d208298
mov rcx, rdx
not rcx
add rcx, rax
add rcx, rdx
mov r8d, eax
and r8d, 3
cmp rcx, 3
jae 0x458eb2
xor r11d, r11d
jmp 0x458ff7
mov eax, dword [rbx + 8]
add eax, 0xffffffff
cdqe
lea rax, [rax + rax*2]
mov rcx, qword [rsp + 0x130]
lea rbx, [rcx + rax*8]
mov dword [rsp + 0xac], 0
add rbx, 0x18
jmp 0x44c1d4
mov r9, qword [rbx + 0x10]
test r9, r9
jne 0x454578
mov rcx, qword [rsp + 0x40]
mov r9, qword [rcx + 0xf8]
test r9, r9
je 0x4515ee
mov ecx, eax
xor cl, 0xbf
test cl, al
je 0x457c4c
mov rcx, qword [rsp + 0x40]
mov rdx, r9
call fcn.004179d0
mov rsi, rax
mov rcx, qword [r15 + 0x100]
mov rdx, rax
call qword [r15 + 0xf8]
test rsi, rsi
je 0x4515ee
cmp dword [0x005f6010], 0
je 0x459e8b
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4545ce
call qword [0x005f6090]
mov rcx, rsi
call qword [0x005f6048]
cdqe
sub qword [0x0213b040], rax
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rsi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4515ee
call qword [0x005f60a0]
jmp 0x4515ee
xor edi, edi
mov r8, qword [rsi + rdi*8 + 0x20]
mov rax, qword [rsi + 0x18]
movzx ebx, byte [rax + rdi]
mov rax, qword [rsp + 0x88]
add eax, edi
imul rcx, rax, 0x38
mov rbp, qword [rsp + 0x78]
add rcx, rbp
lea eax, [r12 + rdi]
imul rdx, rax, 0x38
add rdx, rbp
call fcn.0045fd80
test eax, eax
jne 0x45640e
add rdi, 1
cmp r15, rdi
jne 0x45460e
mov dword [rsp + 0xac], 0
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
jmp 0x459675
mov dword [rbx + 0x44], 1
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0x20], rax
mov edx, 1
mov r8d, 4
xor r9d, r9d
call fcn.00460730
mov cl, 1
mov byte [rbx + 4], cl
mov r14, qword [rsp + 0x48]
xor edx, edx
mov rcx, qword [rsp + 0x68]
cmp word [rcx + 2], 8
setne dl
mov ecx, dword [rbx + 8]
and ecx, 0xfffffffb
lea ecx, [rcx + rdx*4]
mov dword [rbx + 8], ecx
test eax, eax
jne 0x45e382
mov byte [rbx + 2], 1
xor eax, eax
mov qword [rsp + 0x80], rax
jmp 0x4597b8
lea rax, [rdx + rcx]
add rax, 0x14
mov word [rax], 1
xor eax, eax
mov qword [rsp + 0x80], rax
mov r13, qword [rsp + 0x50]
add rbx, 0x18
jmp 0x44c1d4
add rax, rbp
add rax, 0x14
mov qword [rcx], 0
mov word [rax], 4
add rbx, 0x18
jmp 0x44c1d4
mov edx, ebx
xor r8d, r8d
call fcn.00440f10
mov ebp, eax
test eax, eax
jne 0x454773
cmp byte [rsi + 0x13], 0
je 0x454761
mov byte [rsi + 0x13], 0
mov rax, qword [rsi + 8]
mov rax, qword [rax + 0x10]
jmp 0x454741
mov rax, qword [rax + 0x28]
test rax, rax
je 0x454761
movzx ecx, byte [rax + 1]
mov edx, ecx
xor dl, 0xef
test dl, cl
je 0x45473d
mov byte [rsi + 0x13], 1
cmp dword [rax + 0x50], ebx
jne 0x45473d
mov byte [rax], 1
jmp 0x45473d
mov rcx, r14
mov edx, ebx
xor r8d, r8d
xor r9d, r9d
call fcn.00468f10
mov ebp, eax
cmp byte [rsi + 0x11], 0
je 0x454787
add dword [rsi + 0x14], 0xffffffff
jne 0x454787
mov rcx, rsi
call fcn.0043ea70
xor eax, eax
mov qword [rsp + 0x80], rax
test ebp, ebp
mov rbx, rdi
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r12
mov r14, qword [rsp + 0x48]
je 0x44c1d0
jmp 0x45eb4a
mov edx, ebp
xor r8d, r8d
call fcn.00440f10
mov r14d, eax
test eax, eax
jne 0x454816
cmp byte [r12 + 0x13], 0
je 0x454803
mov byte [r12 + 0x13], 0
mov rax, qword [r12 + 8]
mov rax, qword [rax + 0x10]
jmp 0x4547e1
mov rax, qword [rax + 0x28]
test rax, rax
je 0x454803
movzx ecx, byte [rax + 1]
mov edx, ecx
xor dl, 0xef
test dl, cl
je 0x4547dd
mov byte [r12 + 0x13], 1
cmp dword [rax + 0x50], ebp
jne 0x4547dd
mov byte [rax], 1
jmp 0x4547dd
mov rcx, r13
mov edx, ebp
xor r8d, r8d
xor r9d, r9d
call fcn.00468f10
mov r14d, eax
cmp byte [r12 + 0x11], 0
je 0x45482e
add dword [r12 + 0x14], 0xffffffff
jne 0x45482e
mov rcx, r12
call fcn.0043ea70
xor edi, edi
test r14d, r14d
je 0x4553ed
mov ebp, r14d
jmp 0x455410
mov rcx, rdx
call fcn.00404550
mov rsi, rax
test rax, rax
je 0x45e8cc
lea rax, [rsi + 0x28]
mov qword [rsi + 8], rax
mov qword [rsi], rbp
movzx eax, word [rbp + 6]
add eax, 1
mov word [rsi + 0x1c], ax
mov rcx, qword [rdi + 0x38]
mov rax, qword [rsp + 0xc8]
mov edx, dword [rax + 0x10]
mov r8, qword [rax + 8]
mov r9, rsi
call fcn.00461fe0
mov byte [rsi + 0x1e], 0
mov rcx, qword [rdi + 0x30]
lea r8, [rdi + 0x24]
mov rdx, rsi
call fcn.00461850
mov ebp, eax
mov rcx, r15
cmp qword [r15 + 0x300], 0
je 0x4549c9
mov r15, rcx
mov rdx, rsi
call fcn.004297f0
movabs rsi, 0xd4a2a94b0460db81
test ebp, ebp
jne 0x45e391
mov ecx, dword [rdi + 0x24]
test ecx, ecx
setne byte [rdi + 2]
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], 0
mov rax, qword [rsp + 0x68]
mov al, byte [rax]
cmp al, 0x1c
jne 0x454908
test ecx, ecx
je 0x45490c
xor eax, eax
mov qword [rsp + 0x80], rax
mov rdi, r12
mov rbx, qword [rsp + 0x68]
add rbx, 0x18
jmp 0x44c1d4
test ecx, ecx
je 0x454923
xor eax, eax
mov qword [rsp + 0x80], rax
mov rdi, r12
mov rbx, qword [rsp + 0x68]
jmp 0x45dd69
cmp al, 0x19
je 0x4573cb
cmp al, 0x1a
jne 0x4548ed
movzx ecx, word [rsp + 0xdc]
test ecx, ecx
je 0x4548ed
cmp ecx, 1
mov eax, 1
cmovbe ecx, eax
mov rax, qword [rsp + 0xc8]
imul rcx, rcx, 0x38
xor edx, edx
xor ebp, ebp
mov ebx, dword [rax + rdx + 0x14]
not ebx
or ebx, 0xfffe
cmp bx, 0xffff
jne 0x45490c
add rbp, 1
add rdx, 0x38
cmp rcx, rdx
jne 0x454956
jmp 0x4548ed
movzx eax, word [rbx + 0x4a]
movzx ecx, ax
cmp edi, ecx
jae 0x45b9b9
mov eax, edi
mov ebp, dword [rbx + rax*4 + 0x70]
jmp 0x45d277
cmp byte [rbx], 3
jne 0x4558d1
mov ecx, dword [rbx + 0x24]
test ecx, ecx
jle 0x4558d1
imul rcx, rcx, 0x38
mov rbp, qword [rsp + 0x78]
mov edx, dword [rbp + rcx + 0x10]
mov dword [rbx + 0x6c], edx
mov dword [rbx + 0x68], edx
mov rcx, qword [rbp + rcx + 8]
mov qword [rbx + 0x60], rcx
jmp 0x45b896
cmp qword [rcx + 0x1f0], rsi
jbe 0x4549ec
cmp qword [rcx + 0x1e0], rsi
jbe 0x458dd1
cmp qword [rcx + 0x1e8], rsi
jbe 0x45a5cf
mov r15, rcx
cmp dword [0x005f6010], 0
je 0x458e53
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x454a0e
call qword [0x005f6090]
mov rcx, rsi
call qword [0x005f6048]
cdqe
sub qword [0x0213b040], rax
movabs rcx, 0xe628408c3195d5d9
mov rax, rcx
not rax
add rax, qword [0x0213b088]
add rax, rcx
mov qword [0x0213b088], rax
mov rcx, rsi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4548b8
call qword [0x005f60a0]
jmp 0x4548b8
mov r14, qword [rsp + 0x48]
add rbx, 0x18
jmp 0x44c1d4
mov word [rsi + 0x56], cx
mov rcx, rsi
call fcn.0046a2b0
mov ebp, eax
movabs rsi, 0xd4a2a94b0460db81
mov dword [r12 + 0x20], 0
cmp ebp, 0x65
je 0x45661c
test ebp, ebp
je 0x454ddc
jmp 0x45ee02
mov rbp, rdi
mov rdi, rbx
mov rdx, qword [rsi + 0x38]
mov rax, qword [rdx + 8]
mov qword [rsi + 0x38], rax
mov qword [rdx + 8], 0
cmp qword [rsi + 0x40], 0
sete r8b
setne bl
test rdx, rdx
setne cl
sete al
xor al, bl
jne 0x454aef
or cl, r8b
xor cl, 1
jne 0x454aef
mov rcx, qword [rsp + 0x70]
call fcn.00408130
cmp qword [rsi + 0x38], 0
mov rbx, rdi
movabs rsi, 0xd4a2a94b0460db81
mov rdi, rbp
jne 0x454dd3
jmp 0x456613
mov word [rbx], 1
mov rdx, qword [rsp + 0x78]
mov eax, dword [rdx + rdi + 0x14]
mov ecx, eax
xor ecx, 0xfffe
test cx, ax
je 0x455127
mov rbx, rbp
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r12
add rbx, 0x18
jmp 0x44c1d4
mov al, byte [rbx + 0x2a]
jmp 0x457282
mov word [r12], 4
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rax, qword [rax + rcx*8]
mov rbp, qword [rax + 0x30]
mov rcx, rbp
call fcn.004412b0
mov ebx, dword [rbp + 0x40]
mov rax, qword [rsp + 0x70]
cmp ebx, dword [rax + 0x88]
ja 0x45f3db
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x88]
mov ecx, dword [rcx + 0x58]
sub ecx, eax
mov edx, 0
cmovns edx, ecx
movzx esi, word [rbp + 0x44]
cmp esi, ecx
cmovle edx, esi
lea r13, [r15 + rdi]
add r13, 8
mov qword [r15 + rdi + 8], rax
mov ax, 0x4010
cmp edx, ebx
movabs rsi, 0xd4a2a94b0460db81
jae 0x456526
mov word [r12], 1
mov rax, qword [rbp + 0x20]
mov ecx, dword [rax + 0x34]
mov eax, dword [rax + 0x40]
imul rax, rcx
cmp rax, rbx
jb 0x45ef9f
lea edx, [rbx + 1]
cmp dword [r15 + rdi + 0x20], edx
jge 0x4564ed
mov rcx, r14
xor r8d, r8d
call fcn.00449fe0
test eax, eax
jne 0x45f364
mov r9, qword [r13]
jmp 0x4564fd
mov rax, qword [rsi + 0x30]
mov rbp, rbx
mov rbx, qword [rax]
mov r15, qword [rbx]
lea rax, [rsp + 0xe0]
movdqu xmmword [rax + 8], xmm13
movdqu xmmword [rax - 8], xmm13
movdqu xmmword [rax - 0x18], xmm13
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0xc0], rcx
mov al, byte [rsp + 0x67]
mov byte [rsp + 0xe8], al
mov qword [rsp + 0x68], rbp
movzx ecx, word [rbp + 2]
not ecx
or ecx, 0xfffe
lea r12, [rdx + rdi]
add r12, 0x14
movzx eax, word [rdx + rdi + 0x14]
cmp cx, 0xffff
je 0x457fee
mov ecx, eax
xor ecx, 0x6fff
test cx, ax
je 0x459089
mov rbp, qword [rsp + 0x80]
mov rcx, rbp
call fcn.00449e10
jmp 0x459098
mov rax, qword [r15 + 0x20]
mov rcx, rsi
shl rcx, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.00464bb0
mov eax, dword [r15 + 0x2c]
mov ecx, eax
xor ecx, 0x10
and ecx, eax
mov dword [r15 + 0x2c], ecx
movzx r9d, word [rbx + 2]
mov rcx, r15
mov edx, esi
mov r8, qword [rsp + 0x148]
call fcn.004651a0
mov ebp, eax
mov eax, dword [r15 + 0x2c]
mov ecx, eax
and ecx, 1
xor eax, 1
or eax, ecx
mov dword [r15 + 0x2c], eax
mov rax, qword [rsp + 0x40]
and byte [rax + 0xc8], 0xfc
movabs rsi, 0xd4a2a94b0460db81
test ebp, ebp
jne 0x45ee59
xor eax, eax
mov qword [rsp + 0x80], rax
add rbx, 0x18
jmp 0x44c1d4
mov ecx, ebp
xor ecx, 0xfffe
test ecx, ebp
je 0x458020
cmp dword [rbx + 0xc], 0
jne 0x45dd69
jmp 0x44c1d0
mov ecx, edi
xor ecx, 0xfff7
test ecx, edi
je 0x458039
movq xmm0, qword [rsi]
call fcn.0044b040
jmp 0x45924c
mov edx, ebp
or edx, 0xfffffffe
cmp edx, 0xffffffff
je 0x45806a
mov r12, r14
mov r14, rdi
mov eax, dword [rbx + 0xc]
jmp 0x45bc98
xor esi, esi
imul rbp, r14, 0x38
mov rax, qword [rsp + 0x78]
movsxd rcx, dword [rax + rbp + 0x10]
mov rax, rsi
or rax, rcx
shr rax, 0x20
je 0x455156
mov rax, rsi
xor edx, edx
div rcx
mov rsi, rdx
jmp 0x45515e
movzx eax, word [rcx + 0x56]
test ax, ax
je 0x450c6b
mov rdx, qword [rcx + 0x88]
cmp byte [rdx + 8], 0
je 0x450c6b
add eax, 0xffffffff
mov word [rcx + 0x56], ax
mov dword [r12 + 0x20], 0
mov byte [r12 + 2], 0
movzx eax, word [rbx + 2]
mov rcx, qword [rsp + 0x40]
add dword [rcx + rax*4 + 0xd4], 1
xor eax, eax
mov qword [rsp + 0x80], rax
mov r15, qword [rsp + 0x70]
jmp 0x458a2d
cmp dword [r12 + 8], 1
setne dil
mov al, 1
mov dword [rsp + 0xa0], eax
mov qword [rsp + 0x88], rbp
add ebx, 1
cmp byte [r14 + 0x11], 0
je 0x454e40
add dword [r14 + 0x14], 1
cmp byte [r14 + 0x12], 0
jne 0x454e40
mov rcx, r14
call fcn.0043e9d0
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0xc0], r13
mov rax, qword [r13]
mov qword [rsp + 0xc8], rax
mov esi, dword [r13 + 0x40]
mov dword [rsp + 0xd8], esi
mov dword [rsp + 0xdc], ebx
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0x118], 0
lea rax, [rsp + 0xe0]
movdqu xmmword [rax], xmm13
mov qword [rax + 0x10], 0
lea rax, [rsp + 0x180]
mov qword [rsp + 0x100], rax
mov qword [rsp + 0xf8], 0
movabs rax, 0x3b9aca0000000064
mov qword [rsp + 0x108], rax
mov dword [rsp + 0x110], 0
mov word [rsp + 0x114], 0x100
test esi, esi
je 0x45ca16
shr esi, 3
add esi, 1
mov rcx, rsi
call fcn.00404550
test rax, rax
je 0x456a65
mov rbx, rax
mov rcx, rax
xor edx, edx
mov r8, rsi
call fcn.005f4c10
mov qword [rsp + 0xd0], rbx
mov ecx, dword [r13 + 0x34]
call fcn.0043cb40
mov qword [rsp + 0x118], rax
test rax, rax
je 0x457cd4
mov eax, dword [0x005f6c40]
xor edx, edx
div dword [r13 + 0x34]
add eax, 1
cmp eax, dword [rsp + 0xd8]
movdqa xmm5, xmmword [0x005fa320]
jbe 0x458628
test dil, dil
je 0x45867c
cmp byte [rsp + 0xa0], 0
je 0x458797
jmp 0x45c96f
mov word [rdi], 4
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 4]
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 2], 0
je 0x4551b3
mov word [rdi], 1
jmp 0x45c5b5
mov byte [rax], 1
mov qword [rsp + 0x48], r14
mov rax, qword [r15]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rcx + rdi + 8]
mov rcx, r15
call qword [rax + 0x98]
mov r14d, eax
not esi
or rsi, 0xfffffffffbffffff
cmp rsi, 0xffffffffffffffff
jne 0x454fea
mov rdx, qword [rsp + 0x70]
mov rax, qword [rdx + 0x30]
mov rcx, rax
xor rcx, 0x4000000
and rcx, rax
mov qword [rdx + 0x30], rcx
cmp qword [r15 + 0x10], 0
movabs rsi, 0xd4a2a94b0460db81
je 0x457da3
mov rdi, rbx
mov rax, qword [rsp + 0x40]
mov rsi, qword [rax]
mov rdx, qword [rax + 0xa8]
mov rcx, rsi
call fcn.00408130
mov rbx, qword [r15 + 0x10]
test rbx, rbx
je 0x457d04
mov rcx, rbx
call fcn.005f4bd8
mov rbp, rax
add rbp, 1
test rsi, rsi
je 0x457ce4
mov rcx, rsi
mov rdx, rbp
call fcn.00429840
jmp 0x457cec
lea rsi, [r8 + rbp]
mov eax, ecx
or eax, 0xffffffdb
cmp eax, 0xffffffff
je 0x458084
mov rsi, qword [rsi]
mov rbx, qword [rsp + 0x68]
jmp 0x45b357
mov rbx, qword [rdx + 0x10]
mov qword [rcx + 0x10], rbx
movdqu xmm0, xmmword [rdx]
movdqu xmmword [rcx], xmm0
mov ecx, dword [rsi + rbp + 0x14]
not ecx
or ecx, 0xdfff
cmp cx, 0xffff
mov rdi, r13
je 0x4580ac
mov rbx, r12
jmp 0x459675
add rax, rcx
add rax, 0x14
mov word [rax], 4
movsxd rax, dword [rbx + 4]
mov qword [rsi], rax
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
add rax, rcx
add rax, 0x14
mov word [rax], 4
xor edx, edx
imul rax, rbx, 0x38
mov rbp, qword [rsp + 0x78]
mov rax, qword [rbp + rax]
test rax, rax
jle 0x45511b
imul rcx, rdi, 0x38
mov rcx, qword [rbp + rcx]
test rcx, rcx
cmovs rcx, rdx
movabs rdx, 0x7fffffffffffffff
movabs rbp, 0xe218237e2942bf9a
add rdx, rbp
sub rdx, rax
sub rdx, rbp
cmp rdx, rcx
jge 0x45575e
mov qword [rsi], 0xffffffffffffffff
jmp 0x455774
lea rax, [rdx + rdi]
lea rcx, [rdx + rdi]
add rcx, 0x14
mov word [rbx], 4
movzx ecx, word [rcx]
mov edx, ecx
xor edx, 0xffdb
test edx, ecx
je 0x4580f2
mov rax, qword [rax]
mov rbx, rbp
jmp 0x45b486
mov eax, esi
xor edx, edx
div ecx
mov esi, edx
mov r14, r12
mov ecx, esi
and cl, 7
mov al, 1
shl al, cl
mov rcx, qword [rsp + 0x78]
mov rbp, qword [rcx + rbp + 8]
mov rdi, rsi
shr rdi, 3
mov bl, byte [rbp + rdi]
mov dl, 0xfe
mov ecx, esi
rol dl, cl
mov ecx, ebx
not cl
mov r8d, edx
and r8b, 0x3c
and al, 0xc3
or al, r8b
or dl, cl
and cl, 0x3c
and bl, 0xc3
or bl, cl
xor bl, al
not dl
or dl, bl
mov byte [rbp + rdi], dl
mov rbx, qword [rsp + 0x68]
jmp 0x455b3c
cmp byte [rbx + 3], 0
je 0x458113
mov rax, qword [rbx + 0x50]
mov qword [rsp + 0xc0], rax
mov qword [rsi], rax
mov rax, qword [rsp + 0x80]
jmp 0x45c5ad
mov rax, qword [rcx + 0x1c8]
test rax, rax
je 0x4583ba
mov rdx, qword [rax]
mov qword [rcx + 0x1c8], rdx
add dword [rcx + 0x1b0], 1
jmp 0x45a20e
movzx esi, byte [rcx + 2]
test sil, sil
mov r14, qword [rsp + 0x48]
js 0x4583e0
shl eax, 7
mov ecx, eax
not ecx
or ecx, 0xffffc07f
mov edx, esi
not edx
mov edi, ecx
and edi, 0x22947ca4
and eax, 0x300
or eax, edi
or ecx, edx
and edx, 0x22947ca4
and esi, 0x5b
or esi, edx
xor esi, eax
not ecx
or ecx, esi
mov eax, ecx
jmp 0x45a2b2
mov word [rsp + 0xd4], 0x4010
mov dword [rsp + 0xd0], esi
mov rdi, r12
jmp 0x458566
mov rcx, rsi
mov dl, 4
call fcn.00463260
test eax, eax
movabs rsi, 0xd4a2a94b0460db81
jne 0x45e912
mov qword [rdi + 0x20], 0
xor eax, eax
mov qword [rsp + 0x80], rax
jmp 0x455b46
mov r13, rdi
xor edi, edi
xor eax, eax
mov qword [rsp + 0x80], rax
mov r15, qword [rsp + 0x70]
jmp 0x459847
mov dl, byte [rsp + 0x67]
mov byte [rcx], dl
mov r15, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov dword [rdi + rbp + 0x20], 0
mov ecx, eax
and ecx, 0x2000
xor eax, 0x2000
or eax, ecx
mov word [r14], ax
cmp byte [rbx + 1], 0xfa
jne 0x4552ed
mov rdx, qword [rbx + 0x10]
mov rcx, r15
call fcn.00408130
mov byte [rbx + 1], 0xfa
mov rax, qword [rdi + rbp + 8]
mov qword [rbx + 0x10], rax
mov eax, dword [rdi + rbp + 0x10]
mov dword [rbx + 4], eax
xor ecx, ecx
mov qword [rsp + 0x80], rcx
cmp eax, dword [r15 + 0x88]
jg 0x45f3db
mov rbx, qword [rsp + 0x68]
mov byte [rbx], 0x49
mov r15, qword [rsp + 0x70]
mov r14b, byte [rsp + 0x67]
mov rax, qword [rsp + 0x140]
mov rdi, qword [rax]
mov rbp, rbx
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
lea rsi, [rdi + rbx]
add rsi, 0x14
mov eax, dword [rdi + rbx + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x455364
lea rcx, [rdi + rbx]
call fcn.00467410
jmp 0x455369
mov word [rsi], 4
mov word [rsi], 0x2202
mov rax, qword [rbp + 0x10]
mov qword [rdi + rbx + 8], rax
mov eax, dword [rbp + 4]
mov dword [rdi + rbx + 0x10], eax
mov byte [rdi + rbx + 0x16], r14b
mov rbx, rbp
mov eax, dword [rbp + 0xc]
test eax, eax
mov rdi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
jle 0x4553c7
imul rax, rax, 0x38
movzx ecx, word [rbx + 2]
mov rdx, qword [rsp + 0x78]
cmp qword [rdx + rax], rcx
jne 0x4553da
mov word [rsi], 0x2210
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
mov rcx, qword [r13]
mov edx, ebp
lea r8, [rsp + 0xc0]
xor r9d, r9d
call qword [rcx + 0x110]
test eax, eax
je 0x458439
mov ecx, eax
mov ebp, eax
mov rsi, r15
mov r15, qword [rsp + 0x98]
cmp byte [r12 + 0x11], 0
je 0x455447
mov eax, dword [r12 + 0x14]
lea ecx, [rax - 1]
mov dword [r12 + 0x14], ecx
cmp eax, 1
mov r13, qword [rsp + 0x50]
mov r14, rsi
jne 0x45544f
mov rcx, r12
call fcn.0043ea70
jmp 0x45544f
mov r14, rsi
mov r13, qword [rsp + 0x50]
mov rax, qword [rsp + 0x88]
mov word [rax], 4
movsxd rax, edi
mov rcx, qword [rsp + 0x80]
mov qword [rcx], rax
test ebp, ebp
mov rsi, qword [rsp + 0x70]
jne 0x45e812
xor eax, eax
mov qword [rsp + 0x80], rax
test edi, edi
je 0x455516
mov eax, dword [rbx + 4]
mov rcx, qword [rsp + 0xb8]
mov rcx, qword [rcx]
mov rcx, qword [rcx + r15 + 0x18]
mov rdx, qword [rcx + 0x10]
test rdx, rdx
mov r8, qword [rsp + 0x58]
jne 0x4554e8
mov rcx, qword [rcx + 0x28]
test rcx, rcx
mov r15, rsi
mov rsi, r14
jne 0x455508
mov r14, qword [rsp + 0xa0]
add r14b, 1
mov rdi, r8
add rbx, 0x18
jmp 0x44c1d4
mov rdx, qword [rdx]
test rdx, rdx
je 0x4554aa
mov rbp, qword [rdx + 0x10]
cmp dword [rbp + 0x28], edi
jne 0x4554e0
mov dword [rbp + 0x28], eax
jmp 0x4554e0
mov rcx, qword [rcx]
test rcx, rcx
je 0x4554b9
mov rdx, qword [rcx + 0x10]
cmp dword [rdx + 0x58], edi
jne 0x455500
mov dword [rdx + 0x58], eax
jmp 0x455500
mov rdi, qword [rsp + 0x58]
mov r15, rsi
mov rsi, r14
mov r14, qword [rsp + 0x48]
add rbx, 0x18
jmp 0x44c1d4
mov rcx, rsi
call fcn.0043e9d0
cmp byte [rsi + 0x11], 0
mov rbx, qword [rsi + 8]
je 0x4584c7
cmp qword [rbx + 0x80], rsi
je 0x455577
mov eax, dword [rbx + 0x28]
mov ecx, eax
xor ecx, 0xffbf
test cx, ax
je 0x455577
mov ebp, 0x106
xor ebx, ebx
mov rdi, r12
cmp byte [rsi + 0x11], 0
jne 0x4584ff
jmp 0x45850d
mov rax, qword [rbx + 0x78]
test rax, rax
je 0x457340
mov rcx, rax
jmp 0x455596
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x4584cb
cmp qword [rcx], rsi
je 0x455589
cmp dword [rcx + 8], ebp
jne 0x455589
cmp byte [rcx + 0xc], dil
je 0x455589
mov ebp, 0x106
cmp dil, 2
jne 0x45ab01
movzx eax, word [rbx + 0x28]
mov ecx, eax
not ecx
and ecx, 0xffffb821
mov edx, eax
and edx, 0x47de
or edx, ecx
xor edx, 0xffffb8a1
and eax, 0x80
or eax, edx
mov word [rbx + 0x28], ax
xor ebx, ebx
mov rdi, r12
cmp byte [rsi + 0x11], 0
jne 0x4584ff
jmp 0x45850d
mov r9, qword [rsp + 0xe8]
mov qword [rsp + 0xc8], r9
mov word [rsp + 0xd4], 1
mov dword [rsp + 0x20], 0
mov rcx, rbx
xor edx, edx
mov r8d, esi
call fcn.00441350
test eax, eax
jne 0x45eb6f
mov rax, qword [rsp + 0xc8]
mov byte [rax + rsi], 0
mov word [rsp + 0xd4], 0x10
mov dword [rsp + 0xd0], esi
mov rdx, qword [rsp + 0xc8]
mov rbx, rdi
mov ecx, esi
lea r8, [rsp + 0x180]
xor r9d, r9d
call fcn.00463d20
mov esi, eax
cmp dword [rsp + 0xe0], 0
mov rdi, r13
je 0x45567f
lea rcx, [rsp + 0xc0]
call fcn.00449ce0
mov al, byte [rbx]
not al
or al, 0xfe
mov ecx, esi
neg ecx
add esi, 1
cmp al, 0xff
cmovne esi, ecx
xor eax, eax
mov qword [rsp + 0x80], rax
test esi, esi
movabs rsi, 0xd4a2a94b0460db81
mov r13, r14
mov r14, qword [rsp + 0x48]
jg 0x45dd69
jmp 0x44c1d0
mov rax, qword [rsi + 8]
mov edi, dword [rax + 0x34]
mov dword [r15 + 0xc], edi
jmp 0x456cbb
mov rsi, qword [r12 + 0x30]
mov rcx, rsi
call fcn.004412b0
mov rax, qword [rsi + 0x30]
mov qword [rsp + 0xc0], rax
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
jne 0x457994
mov eax, dword [r12 + 8]
mov ecx, eax
and ecx, 2
xor eax, 2
or eax, ecx
mov dword [r12 + 8], eax
jmp 0x4579a0
xor ecx, ecx
mov qword [rsp + 0x80], rcx
cmp byte [r12], 0
mov rbx, qword [rsp + 0x68]
je 0x4585dd
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
add rbx, 0x18
jmp 0x44c1d4
cmp byte [rbp + rax + 0xd2], 0
jne 0x45dd69
mov dword [rsp + 0xac], 0
add rbx, 0x18
jmp 0x44c1d4
movabs rdx, 0xc785d87959fd4425
sub rcx, rdx
add rcx, rax
add rcx, rdx
mov qword [rsi], rcx
mov rbx, r14
mov r14, r12
jmp 0x455b3c
mov rcx, r12
call fcn.00467e70
test eax, eax
mov r15, qword [rsp + 0x70]
mov r13, qword [rsp + 0x58]
mov rbx, r14
mov r14, qword [rsp + 0x48]
je 0x459847
jmp 0x45e912
mov rcx, rbp
call fcn.00404550
mov rbx, rax
test rax, rax
je 0x4557c6
mov rcx, rbx
mov rdx, rsi
mov r8, rbp
call fcn.005f4c20
jmp 0x4557c8
xor ebx, ebx
mov rax, qword [rsp + 0x148]
mov qword [rax], rbx
mov rsi, qword [r12 + 0x10]
test rsi, rsi
mov rbx, r13
je 0x455855
cmp dword [0x005f6010], 0
je 0x45584c
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4557fb
call qword [0x005f6090]
mov rcx, rsi
call qword [0x005f6048]
mov rcx, qword [0x0213b040]
cdqe
movabs rdx, 0xee241d346173bc97
sub rcx, rdx
sub rcx, rax
add rcx, rdx
mov qword [0x0213b040], rcx
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rsi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x455855
call qword [0x005f60a0]
jmp 0x455855
mov rcx, rsi
call qword [0x005f6038]
mov qword [r12 + 0x10], 0
movabs rsi, 0xd4a2a94b0460db81
test r14d, r14d
jne 0x45e778
mov rcx, r15
call qword [rdi + 0x50]
mov rcx, qword [rsp + 0x80]
mov byte [rcx + 2], 0
xor ecx, ecx
mov qword [rsp + 0x80], rcx
test eax, eax
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
jne 0x45dd69
jmp 0x44c1d0
xor eax, eax
mov qword [rsp + 0x80], rax
mov rdi, r15
movabs rsi, 0xd4a2a94b0460db81
mov r15, r12
add rbx, 0x18
jmp 0x44c1d4
mov rbx, qword [rsp + 0x68]
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
mov rbp, qword [rsp + 0x78]
mov eax, dword [rbp + rcx + 0x14]
mov edx, eax
xor edx, 0x6fff
test dx, ax
je 0x458a95
add rcx, rbp
call fcn.00449e10
jmp 0x458aa2
mov rcx, rdx
call fcn.00404550
mov rsi, rax
test rax, rax
je 0x45ec0b
lea rax, [rsi + 0x28]
mov qword [rsi + 8], rax
mov qword [rsi], rbx
mov qword [rdi + 0x30], rsi
mov word [rsi + 0x1c], bp
cmp byte [rdi + 0x58], 0
je 0x45593e
cmp byte [rdi + 0x59], 0
je 0x455948
mov rax, qword [rdi + 0x10]
jmp 0x455960
mov rax, qword [rdi + 0x38]
lea r8, [rax + 0x10]
jmp 0x455968
mov rcx, qword [rdi + 0x18]
mov rax, qword [rcx + 0x10]
movsxd rax, dword [rax + 4]
lea rax, [rax + rax*4]
shl rax, 4
add rax, qword [rcx + 0x18]
mov r8, qword [rax + 0x28]
add rax, 0x14
mov rdi, r13
mov edx, dword [rax]
mov rcx, rbx
mov r9, rsi
call fcn.00461fe0
test ebp, ebp
mov r13, r14
jle 0x4559af
mov rax, qword [rsi + 8]
imul rcx, rbp, 0x38
xor edx, edx
xor ebp, ebp
nop
mov ebx, dword [rax + rdx + 0x14]
not ebx
or ebx, 0xfffe
cmp bx, 0xffff
jne 0x4559fa
add rbp, 1
add rdx, 0x38
cmp rcx, rdx
jne 0x455990
imul rax, qword [rsp + 0x80], 0x38
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rcx + rax + 8]
mov ecx, dword [rcx + rax + 0x10]
xor eax, eax
mov qword [rsp + 0x80], rax
mov r8, rsi
xor r9d, r9d
call fcn.00463d20
test eax, eax
mov rbx, qword [rsp + 0x68]
mov r14, r12
movabs rsi, 0xd4a2a94b0460db81
jne 0x45dd69
jmp 0x44c1d0
xor eax, eax
mov qword [rsp + 0x80], rax
mov rbx, qword [rsp + 0x68]
mov r14, r12
movabs rsi, 0xd4a2a94b0460db81
jmp 0x45dd69
xor edi, edi
xor r14d, r14d
mov rbp, rbx
movzx r8d, word [rbx + 2]
mov edx, r8d
xor edx, 0xfffe
test dx, r8w
je 0x455a41
mov rdx, qword [rsp + 0x40]
add qword [rdx + 0x38], 1
mov edx, r8d
not edx
or edx, 0xffdf
cmp dx, 0xffff
je 0x455a56
mov qword [r15 + 0x38], rcx
imul rax, rax, 0x38
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rdx + rax + 8]
mov qword [rsp + 0xd0], rcx
mov ecx, dword [rdx + rax + 0x10]
mov dword [rsp + 0xe4], ecx
mov edx, r8d
not edx
or edx, 0xffef
xor ecx, ecx
mov r9d, 0
cmp dx, 0xffff
je 0x455a94
mov r9d, dword [rsi + 0x24]
mov rbx, qword [rsp + 0x78]
mov edx, dword [rbx + rax + 0x14]
not edx
or edx, 0xfbff
cmp dx, 0xffff
je 0x455aae
mov ecx, dword [rbx + rax]
mov dword [rsp + 0xe8], ecx
mov qword [rsp + 0xc0], 0
mov rcx, qword [rsi + 0x30]
and r8d, 0x8a
lea rdx, [rsp + 0xc0]
call fcn.004622b0
mov byte [rsi + 3], 0
mov dword [rsi + 0x20], 0
test eax, eax
jne 0x45e974
test rdi, rdi
mov rbx, rbp
je 0x455b2d
mov rcx, qword [r15 + 0x138]
movzx eax, word [rbx + 2]
not eax
or eax, 0xfffb
xor edx, edx
cmp ax, 0xffff
setne dl
lea edx, [rdx + rdx*4 + 0x12]
mov r9, qword [rdi]
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x20], rax
mov r8, r14
call qword [r15 + 0x140]
xor eax, eax
mov qword [rsp + 0x80], rax
mov r14, qword [rsp + 0x48]
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r13
mov r13, qword [rsp + 0x50]
add rbx, 0x18
jmp 0x44c1d4
xor r12d, r12d
mov rbx, qword [rax + 0x30]
mov rsi, qword [rcx + 0x30]
mov dword [rsp + 0x138], 0
mov r15, qword [rbx + 0x20]
mov rbp, qword [r15 + 0x88]
mov rcx, rsi
call fcn.004412b0
mov qword [rsp + 0xa0], rsi
mov edx, dword [rsi + 0x40]
cmp rdx, 0x7f
ja 0x455b9e
mov byte [rbp], dl
mov eax, 1
jmp 0x457379
cmp edx, 0x3fff
ja 0x45736f
mov eax, edx
shr eax, 7
mov ecx, eax
and cl, 0x80
xor al, 0x80
or al, cl
mov byte [rbp], al
mov eax, edx
xor al, 0x80
and al, dl
mov byte [rbp + 1], al
mov eax, 2
jmp 0x457379
mov ecx, ebx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
je 0x458b36
xor eax, eax
mov rbx, rsi
jmp 0x45c018
mov rsi, r10
mov dl, byte [rsp + 0x67]
xor r8d, r8d
call fcn.0044a7d0
test eax, eax
mov rdi, r12
jne 0x45ebb5
movzx r14d, word [rbp]
and r14d, 0xfffffffd
mov rax, qword [rsp + 0x78]
mov r10, rsi
mov r11, qword [rsp + 0x88]
mov r9, qword [rsp + 0xa0]
mov r12, r13
mov r8, qword [rsp + 0x98]
jmp 0x45757c
mov edx, ebp
not edx
or edx, 0xfffffff7
cmp edx, 0xffffffff
je 0x458b4d
movsd xmm0, qword [rcx]
jmp 0x45a85a
mov rcx, qword [rsp + 0x40]
add qword [rcx + 0x50], rax
add rbx, 0x18
jmp 0x44c1d4
xor esi, esi
movsxd rax, dword [rbx + 8]
imul r15, rax, 0x38
mov rax, qword [rsp + 0x78]
lea r8, [rax + r15]
movzx ecx, word [rax + r15 + 0x14]
mov eax, ecx
xor eax, 0xffd3
and eax, ecx
jne 0x455dd4
mov eax, ecx
xor eax, 0xffed
test eax, ecx
je 0x455dd2
mov rcx, r8
mov rdi, r10
mov rbp, r8
call fcn.004674e0
mov r8, rbp
mov r10, rdi
jmp 0x455dd4
mov byte [r12 + 2], 1
xor eax, eax
mov qword [rsp + 0x80], rax
mov rdi, qword [rsp + 0x58]
movabs rsi, 0xd4a2a94b0460db81
mov r14, qword [rsp + 0x48]
jmp 0x45dd69
and ecx, 0x47
cmp cx, 0x43
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0x98], r9
jb 0x458196
mov eax, edi
xor eax, 0xfffd
test eax, edi
mov ecx, dword [rsp + 0x88]
mov dword [rsp + 0x158], r10d
je 0x4596f8
mov eax, r10d
xor eax, 0xffd1
and eax, r10d
cmp eax, 2
jne 0x45db58
mov rax, qword [rsp + 0x78]
mov r9b, byte [rax + r14 + 0x16]
mov rcx, qword [rax + r14 + 8]
mov r8d, dword [rax + r14 + 0x10]
lea rdx, [rsp + 0xc0]
mov rdi, r11
call fcn.0044aa80
mov r11, rdi
mov r8, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xb0]
test eax, eax
jle 0x45db54
xorpd xmm0, xmm0
movapd xmm7, xmm6
movsd xmm6, qword [rsp + 0xc0]
cmp eax, 1
jne 0x45db0d
cvttsd2si rax, xmm6
ucomisd xmm6, xmm0
jne 0x455d8a
jnp 0x455dc6
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
movq rcx, xmm6
movq rdx, xmm0
cmp rcx, rdx
setne cl
movabs rdx, 0x8000000000000
add rdx, rax
shr rdx, 0x34
setne dl
test dl, cl
jne 0x45dad3
xor dl, cl
jne 0x45dad3
mov qword [r11], rax
mov ax, 4
jmp 0x45db16
xor eax, eax
mov rdx, qword [rsp + 0x78]
lea r14, [rdx + r10]
add r14, 0x14
lea rdi, [rdx + r15]
add rdi, 0x14
movsxd rcx, dword [rbx + 0xc]
imul r12, rcx, 0x38
lea r11, [rdx + r12]
mov ecx, esi
xor ecx, 0xfffffffb
and ecx, esi
xor eax, ecx
not eax
test ax, cx
je 0x455e73
mov rsi, qword [r13]
mov rcx, qword [r8]
mov al, byte [rbx]
movdqa xmm13, xmm12
cmp al, 0x6c
jae 0x455ee6
cmp al, 0x6b
je 0x457040
cmp al, 0x6a
jne 0x455f3d
movapd xmm12, xmm6
test rsi, rsi
js 0x4594dc
test rcx, rcx
jle 0x4594fe
movabs rax, 0x7fffffffffffffff
movabs rdx, 0x8452603a26f4c2d9
add rax, rdx
sub rax, rcx
sub rax, rdx
cmp rax, rsi
jge 0x4594fe
mov al, 1
test al, al
jne 0x455ec7
jmp 0x4594fe
movdqa xmm13, xmm12
movapd xmm12, xmm6
movzx eax, word [r14]
movzx ecx, word [rdi]
mov edx, ecx
not edx
mov esi, eax
not esi
mov rbp, rbx
mov ebx, edx
and ebx, 0xffffd543
and ecx, 0x2abc
or ecx, ebx
mov rbx, rbp
or edx, esi
and esi, 0xffffd543
and eax, 0x2abc
or eax, esi
xor eax, ecx
not edx
or edx, eax
mov eax, edx
xor eax, 0xfffe
test ax, dx
jne 0x45bd8e
movzx eax, word [r14]
mov ecx, eax
xor ecx, 0xfff7
test ecx, eax
je 0x4564d2
movsd xmm6, qword [r13]
jmp 0x45b209
je 0x45707f
cmp al, 0x6d
jne 0x455f3d
movapd xmm12, xmm6
test rsi, rsi
je 0x45bd8e
cmp rsi, 0xffffffffffffffff
jne 0x455f1d
movabs rax, 0x7fffffffffffffff
add rax, 1
cmp rcx, rax
jne 0x455f1d
mov al, 1
test al, al
jne 0x455ec7
mov rax, rcx
or rax, rsi
shr rax, 0x20
je 0x45baa4
mov rax, rcx
cqo
idiv rsi
mov rcx, rax
jmp 0x45baac
movapd xmm12, xmm6
test rsi, rsi
je 0x45bd8e
cmp rsi, 0xffffffffffffffff
jne 0x455f56
mov esi, 1
mov rax, rcx
or rax, rsi
shr rax, 0x20
movapd xmm6, xmm12
je 0x458b7a
mov rax, rcx
cqo
idiv rsi
mov rcx, rdx
jmp 0x458b82
mov rcx, rbp
call fcn.00404550
mov rbx, rax
test rax, rax
je 0x455f9b
mov rcx, rbx
mov rdx, r15
mov r8, rbp
call fcn.005f4c20
jmp 0x455f9d
xor ebx, ebx
mov rax, qword [rsp + 0x148]
mov qword [rax], rbx
mov rbx, qword [rsi + 0x10]
test rbx, rbx
mov rbp, r14
mov r14, r12
mov r15, qword [rsp + 0x70]
je 0x456017
cmp dword [0x005f6010], 0
je 0x45600e
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x455fd7
call qword [0x005f6090]
mov rcx, rbx
call qword [0x005f6048]
cdqe
sub qword [0x0213b040], rax
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rbx
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x456017
call qword [0x005f60a0]
jmp 0x456017
mov rcx, rbx
call qword [0x005f6038]
mov qword [rsi + 0x10], 0
mov rbx, r13
mov r13, qword [rsp + 0x50]
mov eax, dword [rsp + 0x80]
test eax, eax
jne 0x45e373
mov rax, qword [rsp + 0xc0]
mov qword [rax], rsi
mov edx, dword [rbx + 4]
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov r9b, 2
call fcn.004604f0
test rax, rax
je 0x45e829
mov rcx, qword [rsp + 0xc0]
mov qword [rax + 0x30], rcx
add dword [rsi + 8], 1
xor eax, eax
mov qword [rsp + 0x80], rax
jmp 0x45c5ba
xor r15d, r15d
mov rbx, r14
mov r14, qword [rsp + 0x48]
jmp 0x45ad0b
mov edx, ecx
xor edx, 0xffed
test edx, ecx
je 0x457bfe
mov r8, qword [rsp + 0x78]
mov rcx, qword [r8 + rax + 8]
test rcx, rcx
je 0x457bfe
mov edx, dword [r8 + rax + 0x10]
mov r8b, byte [r8 + rax + 0x16]
call fcn.0044b070
movzx ebx, word [rdi]
jmp 0x457c00
mov dl, 1
call fcn.0044a3f0
mov r8, rax
mov rcx, qword [rsp + 0x40]
lea rdx, [0x005faef2]
call fcn.004496d0
mov r14d, dword [rbp + 0x24]
cmp byte [rbp + 0x29], 0
je 0x456146
movsxd rax, dword [rbx - 0x14]
test rax, rax
je 0x456142
mov qword [rsp + 0x48], rsi
mov rsi, rdi
imul rax, rax, 0x38
mov rdi, qword [rsp + 0x78]
lea rcx, [rdi + rax]
mov edx, dword [rdi + rax + 0x14]
not edx
or edx, 0x6fff
cmp dx, 0xffff
je 0x456127
mov edx, 1
call fcn.0044b3a0
jmp 0x45613a
add rax, rdi
add rax, 0x14
mov qword [rcx], 1
mov word [rax], 4
mov rdi, rsi
mov rsi, qword [rsp + 0x48]
mov byte [rbp + 0x29], 0
mov rcx, qword [rbp]
mov eax, dword [rcx + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
jne 0x456160
cmp dword [rcx + 0x20], 0
je 0x456169
call fcn.00449ce0
mov rcx, qword [rbp]
mov word [rcx + 0x14], 1
mov dword [rbp + 0x24], 0
xor eax, eax
mov qword [rsp + 0x80], rax
mov ebp, r14d
test r14d, r14d
mov r14, rsi
movabs rsi, 0xd4a2a94b0460db81
je 0x44c1d0
jmp 0x45eb4a
call fcn.00440110
mov qword [rsp + 0x80], rax
test eax, eax
je 0x4563db
xor r14d, r14d
mov r15, qword [rsp + 0x70]
cmp byte [rsi + 0x11], 0
mov r12, qword [rsp + 0x58]
je 0x4561d4
add dword [rsi + 0x14], 0xffffffff
jne 0x4561d4
mov rcx, rsi
call fcn.0043ea70
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 8]
cmp eax, 2
je 0x456340
cmp eax, 1
mov rdi, r12
jne 0x456353
mov rdx, qword [rsp + 0x68]
mov eax, dword [rdx + 0xc]
movzx ecx, word [rdx + 2]
sub eax, ecx
mov rcx, qword [rbx + rbp + 0x18]
mov dword [rcx], eax
mov eax, dword [r15 + 0x2c]
mov ecx, eax
and ecx, 1
xor eax, 1
or eax, ecx
mov dword [r15 + 0x2c], eax
movsxd rax, dword [rdx + 4]
mov rcx, qword [r15 + 0x20]
shl rax, 5
mov rax, qword [rcx + rax + 0x18]
mov rbx, qword [rax + 0x10]
jmp 0x456232
mov rbx, qword [rbx]
test rbx, rbx
je 0x456353
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x3f], 0
jne 0x45622f
mov rbp, qword [rax + 0x48]
jmp 0x456267
mov rcx, r15
mov rdx, rsi
call fcn.00408130
mov qword [rbp + 0x38], 0
mov rbp, qword [rbp + 8]
test rbp, rbp
je 0x45622f
mov rsi, qword [rbp + 0x30]
test rsi, rsi
je 0x4562d1
mov rdi, qword [rsi + 0x38]
mov rdx, qword [rdi + 0x28]
test rdx, rdx
je 0x45628a
mov rcx, r15
call fcn.00468370
mov rdx, qword [rdi + 0x30]
test rdx, rdx
je 0x45629b
mov rcx, r15
call fcn.0047fbe0
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x4562b2
mov rcx, r15
mov r8d, 1
call fcn.00468620
mov rdx, qword [rsi + 0x18]
test rdx, rdx
mov rdi, r12
je 0x4562c6
mov rcx, r15
call fcn.00468370
mov rcx, r15
mov rdx, rsi
call fcn.00408130
mov qword [rbp + 0x30], 0
mov rsi, qword [rbp + 0x38]
test rsi, rsi
je 0x45625b
mov rdi, qword [rsi + 0x38]
mov rdx, qword [rdi + 0x28]
test rdx, rdx
je 0x4562fb
mov rcx, r15
call fcn.00468370
mov rdx, qword [rdi + 0x30]
test rdx, rdx
je 0x45630c
mov rcx, r15
call fcn.0047fbe0
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x456323
mov rcx, r15
mov r8d, 1
call fcn.00468620
mov rdx, qword [rsi + 0x18]
test rdx, rdx
mov rdi, r12
je 0x456250
mov rcx, r15
call fcn.00468370
jmp 0x456250
mov rax, qword [rbx + rbp + 0x18]
mov rcx, qword [rsp + 0x68]
mov cl, byte [rcx + 0xc]
mov byte [rax + 0x70], cl
mov rdi, r12
mov rbx, qword [rsp + 0x68]
cmp dword [rbx + 4], 1
movabs rsi, 0xd4a2a94b0460db81
jne 0x4563c8
mov rax, qword [r15 + 8]
test rax, rax
je 0x4563b0
nop dword [rax]
mov ecx, dword [rax + 0xc8]
mov edx, ecx
not edx
or edx, 2
and edx, 0xa1672b06
and ecx, 0x5e98d4f8
or ecx, edx
xor ecx, 0xa1672b07
mov dword [rax + 0xc8], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x456380
mov rdx, qword [rsp + 0x40]
mov eax, dword [rdx + 0xc8]
mov ecx, eax
xor ecx, 3
and ecx, eax
mov dword [rdx + 0xc8], ecx
test r14b, r14b
mov r14, qword [rsp + 0x48]
jne 0x44c1d0
jmp 0x45e2ff
lea eax, [r12*4 + 0x24]
cdqe
mov ecx, r15d
bswap ecx
mov dword [r14 + rax], ecx
xor eax, eax
mov qword [rsp + 0x80], rax
mov r14b, 1
cmp r12d, 7
jne 0x4561b6
mov byte [rdi + 0x22], r15b
jmp 0x4561b6
mov qword [rsp + 0x48], r14
add r12d, edi
mov r14, qword [rsp + 0x88]
add r14d, edi
mov ebp, r12d
mov r13, qword [rsp + 0x50]
not edi
mov ecx, 0xffffffff
not rcx
or rcx, rdi
not rcx
and bl, 1
mov rdx, qword [rsi + 0x18]
mov cl, byte [rdx + rcx]
not cl
or cl, 0xfd
cmp cl, 0xff
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
je 0x4564a5
mov ecx, r14d
imul rcx, rcx, 0x38
mov rdx, qword [rsp + 0x78]
mov ecx, dword [rdx + rcx + 0x14]
not ecx
or ecx, 0xfffe
cmp cx, 0xffff
movabs rsi, 0xd4a2a94b0460db81
jne 0x45649c
mov ecx, ebp
imul rcx, rcx, 0x38
mov rdx, qword [rsp + 0x78]
mov ecx, dword [rdx + rcx + 0x14]
not ecx
or ecx, 0xfffe
cmp cx, 0xffff
je 0x45649e
neg eax
mov r14, qword [rsp + 0x48]
jmp 0x4564b4
mov r14, qword [rsp + 0x48]
movabs rsi, 0xd4a2a94b0460db81
mov ecx, eax
neg ecx
test bl, bl
cmove ecx, eax
mov dword [rsp + 0xac], ecx
mov rbx, qword [rsp + 0x68]
add rbx, 0x18
jmp 0x44c1d4
mov ecx, eax
xor ecx, 0xffdb
test ecx, eax
je 0x45903b
cvtsi2sd xmm6, qword [r13]
jmp 0x45b209
mov r9, qword [r15 + rdi + 0x28]
mov qword [r13], r9
mov word [r12], 1
mov dword [rsp + 0x20], 0
mov rcx, rbp
xor edx, edx
mov r8d, ebx
call fcn.00441350
test eax, eax
jne 0x45eff4
mov rax, qword [r13]
mov byte [rax + rbx], 0
mov ax, 0x10
mov word [r12], ax
movzx ebp, ax
mov dword [r15 + rdi + 0x10], ebx
mov rcx, qword [rsp + 0x68]
cmp dword [rcx + 0xc], 0
setne cl
sete bl
mov edx, ebp
xor edx, 0x3fff
test dx, bp
sete dl
setne r8b
xor ebp, ebp
mov qword [rsp + 0x80], rbp
cmp cl, dl
jne 0x456a81
mov rcx, r14
or bl, r8b
xor bl, 1
mov r14, qword [rsp + 0x48]
jne 0x456aa3
cmp dword [r15 + rdi + 0x20], 0
mov rbx, qword [rsp + 0x68]
je 0x456592
mov rdx, qword [r13]
cmp rdx, qword [r15 + rdi + 0x28]
je 0x4565a4
call fcn.0044a9d0
test eax, eax
jne 0x45f288
movzx eax, word [r12]
mov ecx, eax
xor ecx, 0x4000
and ecx, eax
mov word [r12], cx
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x50]
add rbx, 0x18
jmp 0x44c1d4
mov dword [rsp + 0xc0], 0
mov rcx, qword [rsi + 0x18]
lea rdx, [rsp + 0xc0]
call fcn.00478a40
mov ebp, eax
test eax, eax
jne 0x454a81
cmp dword [rsp + 0xc0], 0
movabs rsi, 0xd4a2a94b0460db81
je 0x454a8b
mov al, 1
test al, al
je 0x454a8b
mov dword [r12 + 0x20], 0
mov byte [r12 + 2], 1
xor eax, eax
mov qword [rsp + 0x80], rax
mov r15, qword [rsp + 0x70]
mov eax, dword [r15 + 0x198]
mov ebp, 9
test eax, eax
je 0x458a60
jmp 0x45eb4a
xor esi, esi
xor r15d, r15d
cmp esi, 5
sete r15b
mov eax, 0
cmove esi, eax
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x28], 2
setl cl
test esi, esi
sete al
cmp al, cl
je 0x456746
test esi, esi
jne 0x456746
mov r14d, 1
mov edi, 2
mov ebx, 0x28
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
mov rbp, qword [rax + rbx]
test rbp, rbp
je 0x456705
mov r12, qword [rbp + 8]
cmp byte [rbp + 0x11], 0
je 0x4566bf
add dword [rbp + 0x14], 1
cmp byte [rbp + 0x12], 0
jne 0x4566bf
mov rcx, rbp
call fcn.0043e9d0
mov esi, 6
cmp byte [r12 + 0x24], 0
jne 0x4566ef
mov rcx, qword [r12]
mov rdx, qword [rbp]
mov qword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x80]
xor r9d, r9d
call fcn.0053f300
mov esi, eax
cmp byte [rbp + 0x11], 0
je 0x456707
add dword [rbp + 0x14], 0xffffffff
jne 0x456707
mov rcx, rbp
call fcn.0043ea70
jmp 0x456707
xor esi, esi
cmp esi, 5
mov eax, 0
cmove esi, eax
mov eax, 1
cmove r15d, eax
test esi, esi
sete al
jne 0x456746
mov rcx, qword [rsp + 0x70]
movsxd rcx, dword [rcx + 0x28]
cmp rdi, rcx
jge 0x456746
add r14, 1
add rdi, 1
add rbx, 0x20
mov cl, 1
test cl, cl
jne 0x45668f
test r15d, r15d
mov ebp, esi
mov ecx, 5
cmovne ebp, ecx
test al, al
cmove ebp, esi
cmp ebp, 5
je 0x456787
test ebp, ebp
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
jne 0x45eb4a
mov ecx, dword [rsp + 0xc0]
jmp 0x4567b0
mov dword [rsp + 0xc0], 1
mov ecx, 1
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
movsxd rax, dword [rbx + 0xc]
imul rax, rax, 0x38
mov rbp, qword [rsp + 0x78]
lea rsi, [rax + rbp]
movsxd rdx, ecx
mov ecx, dword [rbp + rax + 0x14]
not ecx
or ecx, 0x6fff
cmp cx, 0xffff
je 0x4567e0
mov rcx, rsi
call fcn.0044b3a0
jmp 0x4567ef
add rax, rbp
add rax, 0x14
mov qword [rsi], rdx
mov word [rax], 4
movsxd rdx, dword [rsp + 0xc4]
mov eax, dword [rsi + 0x4c]
add rsi, 0x38
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x456815
mov rcx, rsi
call fcn.0044b3a0
jmp 0x45681e
mov qword [rsi], rdx
mov word [rsi + 0x14], 4
movsxd rdx, dword [rsp + 0xc8]
mov eax, dword [rsi + 0x4c]
add rsi, 0x38
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x456844
mov rcx, rsi
call fcn.0044b3a0
jmp 0x45684d
mov qword [rsi], rdx
mov word [rsi + 0x14], 4
xor eax, eax
mov qword [rsp + 0x80], rax
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
xor eax, eax
jmp 0x457282
mov r10, rdi
mov r9, rbx
mov rbx, qword [rbp + 8]
mov r8, qword [r11 + 0x18]
test r8, r8
je 0x459133
mov cl, byte [rbx]
test cl, cl
je 0x459ebb
lea rdx, [rbx + 1]
xor eax, eax
movzx ecx, cl
lea rdi, [0x005fade0]
movzx ecx, byte [rcx + rdi]
add ecx, eax
imul eax, ecx, 0x9e3779b1
movzx ecx, byte [rdx]
add rdx, 1
test cl, cl
jne 0x456898
jmp 0x459ebd
lea rax, [rdx + rdi]
add rax, 0x14
mov word [rax], 1
mov rax, qword [rsp + 0x50]
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r13
mov r13, rax
add rbx, 0x18
jmp 0x44c1d4
mov ebp, 6
jmp 0x45c1e8
movzx eax, word [rbx]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x456af8
mov rcx, r8
call fcn.00449e10
jmp 0x456afd
lea rax, [r15 + rbp]
add rax, 0x14
mov word [rax], 1
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r13, r14
jmp 0x45930c
mov eax, ecx
not eax
and eax, 0x4f7e
mov edx, ecx
and edx, 0xffffb081
or edx, eax
xor edx, 0xf7e
and ecx, 0x4000
or ecx, edx
mov word [rsp + 0xd4], cx
movzx edx, cx
mov eax, ecx
xor eax, 0xffed
test eax, edx
mov rdi, r12
je 0x456a4f
mov eax, edx
xor eax, 0xfbff
test eax, edx
je 0x456a30
mov edx, dword [rsp + 0xc0]
add edx, dword [rsp + 0xd0]
test edx, edx
jg 0x4569ae
not ebp
or ebp, 0xffef
mov edx, 1
cmp bp, 0xffff
je 0x456a30
lea rcx, [rsp + 0xc0]
mov r8d, 1
call fcn.00449fe0
mov ebp, 7
test eax, eax
jne 0x4510d2
movsxd r8, dword [rsp + 0xc0]
movsxd rcx, dword [rsp + 0xd0]
add rcx, qword [rsp + 0xc8]
xor edx, edx
call fcn.005f4c10
mov eax, dword [rsp + 0xc0]
mov edx, dword [rsp + 0xd4]
add dword [rsp + 0xd0], eax
mov ecx, edx
xor ecx, 0x600
and ecx, edx
mov word [rsp + 0xd4], cx
cmp dword [rsp + 0xe0], 0
je 0x456a30
mov rax, qword [rsp + 0xc8]
cmp rax, qword [rsp + 0xe8]
je 0x456a4f
lea rcx, [rsp + 0xc0]
call fcn.0044a9d0
mov ebp, eax
test eax, eax
jne 0x4510d2
movzx ecx, word [rsp + 0xd4]
mov eax, ecx
xor eax, 0x4000
and eax, ecx
mov word [rsp + 0xd4], ax
jmp 0x4510d0
mov qword [rsp + 0xd0], 0
mov dword [rsp + 0xe4], 1
jmp 0x45ca16
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
add rbx, 0x18
jmp 0x44c1d4
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
jmp 0x44c3e0
xor ebp, ebp
jmp 0x456c3a
mov edx, ecx
xor edx, 0xffed
test edx, ecx
je 0x4582c0
mov r8, qword [rsp + 0x78]
mov rcx, qword [r8 + rax + 8]
test rcx, rcx
je 0x4582c0
mov edx, dword [r8 + rax + 0x10]
mov r8b, byte [r8 + rax + 0x16]
call fcn.0044b070
mov r15, rax
movzx esi, word [r12]
jmp 0x4582c3
mov word [rbx], 1
mov rbx, r14
mov r14, qword [rsp + 0x48]
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r12
jmp 0x458a2d
add dword [r15 + 0x2e8], 1
mov rax, qword [r15 + 0x2d8]
mov qword [rbx + 0x18], rax
mov qword [r15 + 0x2d8], rbx
movdqu xmm0, xmmword [r15 + 0x2f0]
movdqu xmmword [rbx + 8], xmm0
xor eax, eax
mov qword [rsp + 0x80], rax
mov r12, qword [rsp + 0x40]
cmp byte [r12 + 0xc5], 3
mov r14, qword [rsp + 0x48]
je 0x45e693
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
jmp 0x4597b8
cmp qword [r15 + 0x1f0], rsi
jbe 0x456b94
cmp qword [r15 + 0x1e0], rsi
jbe 0x459ea5
cmp qword [r15 + 0x1e8], rsi
jbe 0x45b7df
cmp dword [0x005f6010], 0
je 0x45a109
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x456bb3
call qword [0x005f6090]
mov rcx, rsi
call qword [0x005f6048]
cdqe
mov rcx, qword [0x0213b040]
movabs rdx, 0xcb656a0d7c1040de
add rcx, rdx
sub rcx, rax
sub rcx, rdx
mov qword [0x0213b040], rcx
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rsi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x44fb9b
call qword [0x005f60a0]
jmp 0x44fb9b
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
mov ebp, 0xb
mov ecx, 0xb
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov r9d, 0x11975
call fcn.00408970
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x80]
mov byte [r12 + 3], 0
mov dword [r12 + 0x20], 0
test ebp, ebp
movabs rsi, 0xd4a2a94b0460db81
jne 0x45e357
mov byte [r12 + 2], r13b
xor eax, eax
mov qword [rsp + 0x80], rax
test r13d, r13d
mov rdi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x50]
jne 0x45dd69
jmp 0x44c1d0
mov rcx, rsi
call fcn.0043e9d0
cmp byte [rsi + 0x11], 0
mov rax, qword [rsi + 8]
mov edi, dword [rax + 0x34]
mov dword [r15 + 0xc], edi
je 0x456cbb
mov eax, dword [rsi + 0x14]
add eax, 0xffffffff
mov dword [rsi + 0x14], eax
jne 0x456cbb
mov rcx, rsi
call fcn.0043ea70
lea eax, [r13 - 1]
lea ecx, [r13 + 1]
cmp cl, 1
seta byte [r15 + 0x59]
inc r13b
mov byte [r15 + 0x5b], r13b
mov byte [r15 + 0x5a], al
mov rax, qword [rsp + 0x70]
mov qword [r15 + 0x20], rax
movabs rsi, 0xd4a2a94b0460db81
je 0x456f43
mov dword [rsp + 0x88], edi
mov qword [rsp + 0x68], rbx
movzx r8d, r13b
movabs rax, 0x9d136aa57ffe5012
mov rcx, rax
not rcx
add rcx, r8
add rcx, rax
mov r9d, r8d
xor r9d, 0xf8
and r9d, r8d
cmp rcx, 7
jae 0x456d2f
xor ebp, ebp
jmp 0x456f0b
lea r10, [r15 + 0x60]
and r8d, 0xfffffff8
xor ebp, ebp
movabs r13, 0x97b8f476e2026014
movabs r14, 0x6baf67d852e997a0
movabs r12, 0x4dd95510eec429c2
imul rdi, rbp, 0x68
mov qword [r10 + rdi + 0x10], r15
mov r11, rbp
not r11
movabs rax, 0xa50d215d9ae88283
mov rbx, rax
not rbx
mov rsi, r11
and rsi, rax
mov rcx, rbp
and rcx, rbx
or rcx, rsi
mov rdi, rax
and rdi, 0xfffffffffffffffe
mov esi, ebx
and esi, 1
or rsi, rdi
xor rsi, rcx
or ebx, eax
mov edi, r11d
not edi
and ebx, edi
and ebx, 1
or rbx, rsi
imul rcx, rbx, 0x68
mov qword [r10 + rcx + 0x10], r15
movabs rbx, 0xcc220e895662dd5f
mov rcx, rbx
not rcx
mov rdx, r11
and rdx, rbx
mov rax, rbp
and rax, rcx
or rax, rdx
mov rdx, rbx
and rdx, 0xfffffffffffffffd
mov esi, ecx
and esi, 2
or rsi, rdx
xor rsi, rax
or ecx, ebx
and ecx, edi
and ecx, 2
or rcx, rsi
imul rax, rcx, 0x68
mov qword [r10 + rax + 0x10], r15
movabs rbx, 0xfea0d98cabe537e7
mov rax, rbx
not rax
mov rcx, r11
and rcx, rbx
mov rdx, rbp
and rdx, rax
or rdx, rcx
mov rcx, rbx
and rcx, 0xfffffffffffffffc
mov esi, eax
and esi, 3
or rsi, rcx
xor rsi, rdx
or eax, ebx
and eax, edi
and eax, 3
or rax, rsi
imul rax, rax, 0x68
mov qword [r10 + rax + 0x10], r15
mov eax, ebp
and eax, 4
mov rcx, rbp
xor rcx, 4
or rcx, rax
imul rax, rcx, 0x68
mov qword [r10 + rax + 0x10], r15
mov rax, r13
not rax
mov rcx, r11
and rcx, r13
mov rdx, rbp
and rdx, rax
or rdx, rcx
mov rcx, r13
and rcx, 0xfffffffffffffffa
mov esi, eax
and esi, 5
or rsi, rcx
xor rsi, rdx
or eax, r13d
and eax, edi
and eax, 5
or rax, rsi
imul rax, rax, 0x68
mov qword [r10 + rax + 0x10], r15
mov rax, r12
not rax
mov rcx, r11
and rcx, r12
mov rdx, rbp
and rdx, rax
or rdx, rcx
mov rcx, r12
and rcx, 0xfffffffffffffff9
mov esi, eax
and esi, 6
or rsi, rcx
xor rsi, rdx
or eax, r12d
and eax, edi
and eax, 6
or rax, rsi
imul rax, rax, 0x68
mov qword [r10 + rax + 0x10], r15
mov rax, r14
not rax
and r11, r14
mov rcx, rbp
and rcx, rax
or rcx, r11
mov rdx, r14
and rdx, 0xfffffffffffffff8
mov ebx, eax
and ebx, 7
or rbx, rdx
xor rbx, rcx
or eax, r14d
and eax, edi
and eax, 7
or rax, rbx
imul rax, rax, 0x68
mov qword [r10 + rax + 0x10], r15
add rbp, 8
add r8, 0xfffffffffffffff8
jne 0x456d57
test r9, r9
mov rbx, qword [rsp + 0x68]
movabs rsi, 0xd4a2a94b0460db81
mov edi, dword [rsp + 0x88]
je 0x456f43
imul rax, rbp, 0x68
lea rdx, [r15 + rax]
add rdx, 0x70
mov qword [rdx], r15
add rbp, 1
add rdx, 0x68
add r9, 0xffffffffffffffff
jne 0x456f32
xor ebp, ebp
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x66], 2
jne 0x456f5c
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
jmp 0x456fdb
movsxd rcx, edi
imul edi, dword [0x005f6160]
mov dword [r15], edi
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
movsxd rax, dword [rax + 0x74]
test rax, rax
mov rdx, rcx
mov rbp, 0xfffffffffffffc00
cmovs rdx, rbp
xor ebp, ebp
imul rdx, rax
cmp rdx, 0x20000000
mov eax, 0x20000000
cmovge edx, eax
cmp edi, edx
cmovge edx, edi
mov dword [r15 + 4], edx
cmp byte [0x005f6018], 0
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
jne 0x456fdb
mov dword [r15 + 0x54], ecx
call fcn.00404550
mov qword [r15 + 0x40], rax
test rax, rax
mov ebp, 0
mov eax, 7
cmove ebp, eax
mov rcx, qword [rsp + 0x80]
cmp word [rcx + 8], 0xc
mov rdx, qword [rsp + 0x70]
ja 0x457012
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x456ffe
cmp rax, qword [rdx + 0x10]
jne 0x457012
mov rax, qword [rcx + 0x18]
mov al, byte [rax]
mov ecx, eax
xor cl, 0xfd
test cl, al
jne 0x457012
mov byte [r15 + 0x5c], 3
xor eax, eax
mov qword [rsp + 0x80], rax
test ebp, ebp
mov rdi, qword [rsp + 0x58]
mov r15, rdx
je 0x44c1d0
jmp 0x45eb4a
mov r15, qword [rsp + 0x70]
mov r13, qword [rsp + 0x50]
jmp 0x44e772
movabs rax, 0x7fffffffffffffff
add rax, 1
movapd xmm12, xmm6
cmp rsi, rax
jne 0x458b96
test rcx, rcx
jns 0x455ec7
mov rdx, rcx
not rdx
and rdx, rax
not rax
and rax, rcx
or rax, rdx
mov rcx, rax
jmp 0x45baac
movapd xmm12, xmm6
test rsi, rsi
jle 0x459516
movabs rax, 0x7fffffffffffffff
xor edx, edx
div rsi
cmp rcx, rax
jg 0x455ec7
movabs rax, 0x8000000000000000
cqo
idiv rsi
cmp rcx, rax
jl 0x455ec7
jmp 0x45951c
mov edx, ebp
xor r8d, r8d
call fcn.00440f10
mov r12d, eax
test eax, eax
jne 0x45711e
cmp byte [rsi + 0x13], 0
je 0x45710b
mov byte [rsi + 0x13], 0
mov rax, qword [rsi + 8]
mov rax, qword [rax + 0x10]
jmp 0x4570eb
mov rax, qword [rax + 0x28]
test rax, rax
je 0x45710b
movzx ecx, byte [rax + 1]
mov edx, ecx
xor dl, 0xef
test dl, cl
je 0x4570e7
mov byte [rsi + 0x13], 1
cmp dword [rax + 0x50], ebp
jne 0x4570e7
mov byte [rax], 1
jmp 0x4570e7
mov rcx, r15
mov edx, ebp
xor r8d, r8d
xor r9d, r9d
call fcn.00468f10
mov r12d, eax
cmp byte [rsi + 0x11], 0
je 0x457132
add dword [rsi + 0x14], 0xffffffff
jne 0x457132
mov rcx, rsi
call fcn.0043ea70
test r12d, r12d
mov r15, r14
mov r14, qword [rsp + 0x48]
je 0x4546c5
jmp 0x45efec
mov r10, rdi
movapd xmm7, xmm6
mov r8d, eax
xor r8d, 3
and r8d, eax
mov ecx, eax
xor ecx, 0xfc
and ecx, eax
movq xmm0, rax
pshufd xmm0, xmm0, 0x44
paddq xmm0, xmm12
movq xmm1, r9
pshufd xmm1, xmm1, 0x44
mov rdx, r9
movabs rbp, 0x8a83100d6812884d
sub rdx, rbp
add rdx, rbp
add rdx, 0xfffffffffffffffd
movq xmm2, rdx
pshufd xmm2, xmm2, 0x44
mov rbp, r8
xor esi, esi
mov rdi, qword [rsp + 0x78]
movdqa xmm3, xmm0
paddq xmm3, xmm10
movq rdx, xmm3
paddq xmm3, xmm1
movdqa xmm4, xmm2
paddq xmm4, xmm0
movdqa xmm5, xmm3
pmuludq xmm5, xmm15
psrlq xmm3, 0x20
pmuludq xmm3, xmm15
psllq xmm3, 0x20
movq xmm6, rdi
pshufd xmm6, xmm6, 0x44
paddq xmm5, xmm6
paddq xmm5, xmm3
movdqa xmm3, xmm4
pmuludq xmm3, xmm15
psrlq xmm4, 0x20
pmuludq xmm4, xmm15
psllq xmm4, 0x20
paddq xmm3, xmm6
paddq xmm3, xmm4
pshufd xmm4, xmm5, 0x4e
movdqu xmmword [rbx + rdx*8 + 0x28], xmm4
pshufd xmm3, xmm3, 0x4e
movdqu xmmword [rbx + rdx*8 + 0x18], xmm3
add rsi, 4
psubq xmm0, xmm11
add rbp, 0xfffffffffffffffc
jne 0x4571a7
cmp r8, rax
movapd xmm6, xmm7
xorpd xmm7, xmm7
mov rdi, r10
je 0x457278
add r9, rcx
imul rdx, r9, 0x38
mov rbp, qword [rsp + 0x78]
add rdx, rbp
add rdx, 0xffffffffffffffc8
lea rbp, [rcx + 5]
add rcx, 0xffffffffffffffff
mov qword [rbx + rbp*8], rdx
add rdx, 0xffffffffffffffc8
lea rsi, [rbp - 1]
add rbp, 0xfffffffffffffffb
cmp rbp, 1
mov rbp, rsi
jg 0x45725b
movabs rsi, 0xd4a2a94b0460db81
mov rbp, qword [rsp + 0x78]
movzx ecx, word [rbp + r12 + 0x14]
mov edx, ecx
not edx
or edx, 0x81f
and edx, 0xfffff81f
and ecx, 0x240
or ecx, edx
xor ecx, 0xf81e
mov word [rbp + r12 + 0x14], cx
lea r8, [rbx + 0x30]
movzx edx, al
mov rax, qword [rbx + 8]
mov rcx, rbx
call qword [rax + 0x18]
cmp dword [rbx + 0x24], 0
je 0x45730f
mov rax, qword [rsp + 0x80]
mov r14d, eax
jle 0x458838
mov rdx, qword [rsp + 0x78]
lea rax, [rdx + r12]
add rax, 0x14
mov eax, dword [rax]
mov ecx, eax
xor ecx, 0xfffffdfd
and ecx, eax
movzx ecx, cx
cmp ecx, 0x202
jne 0x457327
cmp byte [rdx + r12 + 0x16], 1
jne 0x457327
mov r8, qword [rdx + r12 + 8]
jmp 0x458823
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x48]
add rbx, 0x18
jmp 0x44c1d4
not eax
or eax, 0xfffe
cmp ax, 0xffff
je 0x458816
xor r8d, r8d
jmp 0x458823
add rbx, 0x78
mov ecx, 0x18
call fcn.00404550
test rax, rax
je 0x4573b2
mov dword [rax + 0xc], 0
mov dword [rax + 8], ebp
mov qword [rax], rsi
mov rcx, qword [rbx]
mov qword [rax + 0x10], rcx
mov qword [rbx], rax
jmp 0x4584e8
mov rcx, rbp
call fcn.00467b20
cdqe
add rbp, rax
mov qword [rsp + 0x88], rbp
cmp qword [rbx + 0x80], 0
jne 0x459734
cmp r12, 0x7f
ja 0x458277
mov rbp, qword [rsp + 0x88]
mov byte [rbp], r12b
mov eax, 1
jmp 0x459729
mov ebp, 7
xor ebx, ebx
mov rdi, r12
cmp byte [rsi + 0x11], 0
jne 0x4584ff
jmp 0x45850d
mov rax, qword [rsp + 0x80]
movzx eax, word [rax]
mov word [rdi + 0xc], ax
jmp 0x4548ed
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x68], rbx
mov ecx, edx
xor ecx, 3
and ecx, edx
imul r13, rcx, 0x38
add r13, r10
mov r14, 0xffffffffffffffff
mov r11, r10
xor edi, edi
mov rbx, rsi
not rbx
mov rsi, r14
movabs rax, 0xd4a2a94b0460db81
and rsi, rax
mov rax, rdi
and rax, rbx
or rax, rsi
movabs rsi, 0xd4a2a94b0460db81
and rsi, 0xfffffffffffffffe
mov ebp, ebx
and ebp, 1
or rbp, rsi
xor rbp, rax
mov eax, r14d
not eax
movabs rsi, 0xd4a2a94b0460db81
or ebx, esi
and ebx, eax
and ebx, 1
or rbx, rbp
imul rax, rbx, 0x38
add rax, r10
movq xmm0, rax
movq xmm1, r11
punpcklqdq xmm1, xmm0
mov eax, edi
and eax, 2
mov rsi, rdi
xor rsi, 2
or rsi, rax
imul rax, rsi, 0x38
add rax, r10
mov esi, edi
and esi, 3
mov rbx, rdi
xor rbx, 3
or rbx, rsi
imul rsi, rbx, 0x38
add rsi, r10
movq xmm0, rsi
movabs rsi, 0xd4a2a94b0460db81
movq xmm2, rax
punpcklqdq xmm2, xmm0
movdqu xmmword [r8 + rdi*8], xmm1
movdqu xmmword [r8 + rdi*8 + 0x10], xmm2
add rdi, 4
add r14, 0xfffffffffffffffc
add r11, 0xe0
cmp rcx, rdi
jne 0x457403
cmp rcx, rdx
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x48]
je 0x4574f2
mov qword [r8 + rcx*8], r13
add r13, 0x38
add rcx, 1
cmp rdx, rcx
jne 0x4574e1
mov rbp, qword [r9 + 0x68]
mov r13, qword [rsp + 0x50]
mov al, byte [rbx + 2]
mov rsi, qword [rsp + 0x70]
mov byte [rsi + 0x6c], al
mov rcx, r12
lea r9, [rsp + 0xc0]
call rbp
mov ebp, eax
mov byte [rsi + 0x6c], r15b
cmp qword [r12 + 0x10], 0
je 0x4593c1
mov rax, qword [rsp + 0x40]
mov rsi, qword [rax]
mov rdx, qword [rax + 0xa8]
mov rcx, rsi
call fcn.00408130
mov r15, qword [r12 + 0x10]
test r15, r15
je 0x4585bb
mov edi, ebp
mov rcx, r15
call fcn.005f4bd8
mov rbp, rax
add rbp, 1
test rsi, rsi
je 0x459324
mov rcx, rsi
mov rdx, rbp
call fcn.00429840
jmp 0x45932c
mov rax, qword [rsp + 0x78]
mov r12, r13
lea rsi, [rax + r12]
add rax, r12
add rax, 0x14
mov qword [rsp + 0x158], rax
movzx r13d, word [rax]
movzx eax, r13w
mov ecx, eax
not ecx
or ecx, 0xffffffed
cmp ecx, 0xffffffff
mov qword [rsp + 0x58], rdi
je 0x457668
mov ecx, eax
xor ecx, 0xfbff
test ecx, eax
je 0x4576ad
mov edx, dword [rsi]
mov rax, qword [rsp + 0x78]
add edx, dword [rax + r12 + 0x10]
test edx, edx
jg 0x4575e1
mov eax, r13d
not eax
or eax, 0xffef
mov edx, 1
cmp ax, 0xffff
je 0x45765a
mov rbx, r10
mov rcx, rsi
mov r8d, 1
call fcn.00449fe0
test eax, eax
jne 0x45f35a
mov rax, qword [rsp + 0x78]
mov rdi, r15
lea r15, [rax + r12]
add r15, 0x10
movsxd r8, dword [rsi]
movsxd rcx, dword [r15]
add rcx, qword [rax + r12 + 8]
xor edx, edx
call fcn.005f4c10
mov eax, dword [rsi]
add dword [r15], eax
mov r15, rdi
mov rcx, qword [rsp + 0x158]
mov eax, dword [rcx]
mov r13d, eax
xor r13d, 0x600
and r13d, eax
mov word [rcx], r13w
mov r10, rbx
mov r11, qword [rsp + 0x88]
mov r9, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x98]
mov eax, r13d
xor eax, 2
and eax, r13d
mov r13d, eax
jmp 0x4576ad
mov rbx, r10
mov rcx, rsi
mov dl, byte [rsp + 0x67]
xor r8d, r8d
call fcn.0044a7d0
test eax, eax
jne 0x45ebb5
mov rax, qword [rsp + 0x158]
movzx r13d, word [rax]
and r13d, 0xfffffffd
mov r10, rbx
mov r11, qword [rsp + 0x88]
mov r9, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x98]
mov rax, qword [rsp + 0x78]
mov esi, dword [rax + r12 + 0x10]
add esi, dword [rax + r10 + 0x10]
cmp esi, dword [r15 + 0x88]
jg 0x45f3db
mov qword [rsp + 0x88], rbp
mov rbx, r10
mov rcx, r8
xor r8d, r8d
cmp r9d, r11d
sete r8b
lea edx, [rsi + 2]
mov rbp, r11
mov r15, r9
call fcn.00449fe0
test eax, eax
jne 0x45e86d
mov rdi, qword [rsp + 0x78]
mov rdx, rbx
lea r8, [rdi + rbx]
add r8, 0x10
mov r9, r12
lea r10, [rdi + r12 + 0x10]
movsxd r12, esi
mov rsi, qword [rsp + 0xb0]
movzx eax, word [rdi + rsi + 0x14]
mov ecx, eax
not ecx
or ecx, 0x97
and ecx, 0xffffb0d7
and eax, 0x4200
or eax, ecx
xor eax, 0xb0d5
lea rcx, [rdi + rsi]
add rcx, 0x14
mov qword [rsp + 0xa0], rcx
mov word [rdi + rsi + 0x14], ax
cmp r15d, ebp
je 0x45778a
mov rbp, r8
movsxd r8, dword [r10]
mov rdx, qword [rdi + r9 + 8]
mov rcx, qword [rdi + rsi + 8]
mov rsi, r10
call fcn.005f4c20
mov r10, rsi
mov r8, rbp
mov rsi, qword [rsp + 0xb0]
mov rdx, rbx
mov rax, qword [rsp + 0x158]
mov word [rax], r13w
movsxd rcx, dword [r10]
add rcx, qword [rdi + rsi + 8]
mov rdx, qword [rdi + rdx + 8]
movsxd r8, dword [r8]
call fcn.005f4c20
mov rax, r12
and rax, 0xfffffffffffffffe
mov bl, byte [rsp + 0x67]
cmp bl, 1
cmovbe rax, r12
mov rcx, qword [rsp + 0x88]
mov word [rcx], r14w
mov rcx, qword [rdi + rsi + 8]
mov byte [rcx + rax], 0
mov rcx, qword [rdi + rsi + 8]
mov byte [rax + rcx + 1], 0
mov rbp, qword [rsp + 0xa0]
movzx ecx, word [rbp]
mov edx, ecx
and edx, 0x200
xor ecx, 0x200
or ecx, edx
mov word [rbp], cx
mov dword [rdi + rsi + 0x10], eax
mov byte [rdi + rsi + 0x16], bl
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
jmp 0x45930c
xor ebp, ebp
jmp 0x458941
mov ecx, eax
xor ecx, 0xfffe
test ecx, eax
sete cl
mov edx, dword [rsp + 0x88]
mov eax, edx
xor eax, 0xfeff
and eax, edx
sete dl
cmp dl, cl
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, rsi
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
je 0x459140
test eax, eax
jne 0x459140
movabs rsi, 0xd4a2a94b0460db81
jmp 0x45dd05
mov edx, ecx
xor edx, 0xffed
test edx, ecx
je 0x459dcb
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + rbp + 8]
mov edx, dword [rax + rbp + 0x10]
mov r8b, byte [rax + rbp + 0x16]
call fcn.0044aa50
movzx eax, word [rsi]
jmp 0x459dcf
mov rcx, rsi
call qword [0x005f6038]
mov qword [rdi + 0x18], 0
mov byte [rdi], 1
jmp 0x45c5ba
xor edi, edi
cmp r12d, 2
jne 0x459181
mov rbp, qword [rsp + 0x70]
jmp 0x4578e1
mov r15, qword [rsi]
add eax, 0xffffffff
mov dword [rsi + 0x18], eax
je 0x457940
add rdi, 1
test ebx, ebx
jne 0x45e3bf
movsxd rax, dword [rbp + 0x21c]
cmp rdi, rax
jge 0x456b3f
mov r12, rbp
mov rax, qword [rbp + 0x240]
mov rsi, qword [rax + rdi*8]
mov rcx, qword [rsi + 0x10]
xor ebx, ebx
test rcx, rcx
je 0x4578d5
mov rax, qword [rsi + 8]
mov rdx, qword [rax]
cmp dword [rdx], 2
jl 0x4578d5
mov eax, dword [rsi + 0x18]
add eax, 1
mov dword [rsi + 0x18], eax
mov r8, qword [rdx + 0xb0]
xor ebx, ebx
test r8, r8
je 0x4578ca
cmp dword [rsi + 0x20], r14d
jle 0x4578ca
mov edx, r14d
call r8
mov ebx, eax
mov eax, dword [rsi + 0x18]
jmp 0x4578ca
mov rbp, qword [rsi + 8]
mov r12, qword [rsi + 0x10]
mov eax, dword [rbp + 0x10]
lea ecx, [rax - 1]
mov dword [rbp + 0x10], ecx
cmp eax, 1
jne 0x457970
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x457965
mov rcx, qword [rbp + 0x18]
call rax
mov rcx, r15
mov rdx, rbp
call fcn.00408130
test r12, r12
je 0x45797f
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x20]
mov rcx, r15
mov rdx, rsi
call fcn.00408130
mov rbp, qword [rsp + 0x70]
jmp 0x4578d5
add rax, 1
mov qword [rsp + 0xc0], rax
xor eax, eax
mov qword [rsp + 0x80], rax
movabs rsi, 0xd4a2a94b0460db81
mov qword [rsp + 0x50], r13
movsxd rcx, dword [rbx + 0xc]
test rcx, rcx
je 0x457a96
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax + 0x108]
mov rax, qword [rsp + 0x78]
test rdx, rdx
je 0x4579f0
mov rax, rdx
mov rdx, qword [rdx + 8]
test rdx, rdx
jne 0x4579e0
mov rax, qword [rax + 0x20]
mov r13, rbx
imul rbp, rcx, 0x38
lea rsi, [rax + rbp]
lea r15, [rax + rbp]
add r15, 0x14
movzx ebx, word [rax + rbp + 0x14]
movzx ecx, bx
mov edx, ecx
xor edx, 0xffdb
test edx, ecx
je 0x457a1c
mov rax, qword [rsi]
jmp 0x457a35
mov edx, ecx
xor edx, 0xfff7
test edx, ecx
je 0x457bcb
movq xmm0, qword [rsi]
call fcn.0044b040
mov qword [rsi], rax
or ebx, 4
and ebx, 0xf244
mov word [r15], bx
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x45e9b0
mov ecx, dword [r12 + 8]
mov edx, ecx
xor edx, 0xfffffffd
test edx, ecx
mov rbx, r13
jne 0x45e399
mov rcx, qword [rsp + 0xc0]
cmp rcx, rax
jg 0x457a89
add rax, 1
mov qword [rsp + 0xc0], rax
mov rcx, rax
mov qword [rsi], rcx
movabs rsi, 0xd4a2a94b0460db81
mov eax, dword [r12 + 8]
not eax
or eax, 0xfffffffd
cmp eax, 0xffffffff
je 0x457b96
mov qword [rsp + 0x48], r14
mov r13, rbx
mov r14, rdi
xor r15d, r15d
mov ebp, 0x64
nop dword [rax]
mov ecx, 8
lea rdx, [rsp + 0xc0]
call fcn.00408a40
mov rdx, qword [rsp + 0xc0]
not rdx
or rdx, qword [rsp + 0x220]
movabs rcx, 0x8404a289e7e5e498
mov rax, rcx
not rax
or rax, rcx
not rdx
and rdx, rax
add rdx, 1
mov qword [rsp + 0xc0], rdx
mov rcx, qword [r12 + 0x30]
xor r8d, r8d
lea r9, [rsp + 0x180]
call fcn.004612f0
mov esi, dword [rsp + 0x180]
mov edx, esi
not edx
mov ebx, eax
not ebx
mov edi, edx
and edi, 0x857c9a24
mov ecx, esi
and ecx, 0x7a8365db
or ecx, edi
or edx, ebx
and ebx, 0x857c9a24
mov edi, eax
and edi, 0x7a8365db
or edi, ebx
xor edi, ecx
not edx
or edx, edi
jne 0x457b67
add r15d, 1
add ebp, 0xffffffff
jne 0x457ac0
test eax, eax
mov rdi, r14
jne 0x45e97e
xor eax, eax
mov qword [rsp + 0x80], rax
test esi, esi
mov rbx, r13
mov r14, qword [rsp + 0x48]
movabs rsi, 0xd4a2a94b0460db81
je 0x45e399
mov byte [r12 + 3], 0
mov dword [r12 + 0x20], 0
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x88]
mov qword [rcx], rax
mov r15, qword [rsp + 0x70]
mov r13, qword [rsp + 0x50]
add rbx, 0x18
jmp 0x44c1d4
not ecx
or ecx, 0xffffffed
cmp ecx, 0xffffffff
je 0x4585c2
mov rcx, qword [rax + rbp + 8]
test rcx, rcx
je 0x4585c2
mov edx, dword [rax + rbp + 0x10]
mov r8b, byte [rax + rbp + 0x16]
call fcn.0044b070
movzx ebx, word [r15]
jmp 0x457a35
xor eax, eax
mov qword [rsi], rax
mov ecx, ebx
not ecx
or ecx, 0x982
and ecx, 0x39c2
and ebx, 0xffffc200
or ebx, ecx
xor ebx, 0x39c6
mov word [rdi], bx
mov rbx, rbp
movsxd rcx, dword [rbp + 8]
add rcx, rax
mov qword [rsi], rcx
jmp 0x459dfe
lea rax, [rdx + rcx]
add rax, 0x14
mov word [rax], 1
add rbx, 0x18
jmp 0x44c1d4
cmp dword [r15 + 0xe4], 2
jl 0x4595fb
mov rcx, r15
lea rdx, [0x005fd4cc]
mov r8, r9
call fcn.00419c10
mov rsi, rax
mov rdx, qword [r15 + 0x100]
mov ecx, 1
mov r8, qword [rsp + 0x40]
mov r9, rax
call qword [r15 + 0xf8]
mov rcx, r15
mov rdx, rsi
call fcn.00408130
jmp 0x4515ee
add rax, rbp
add rax, 0x14
mov qword [rcx], rsi
mov word [rax], 4
mov r14, qword [rsp + 0x48]
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r12
mov eax, dword [r15 + 0x198]
mov ebp, 9
test eax, eax
je 0x458a60
jmp 0x45eb4a
mov dword [rsp + 0xe4], 1
jmp 0x45ca16
mov rcx, rbp
call fcn.00404550
mov rsi, rax
test rax, rax
je 0x457d04
mov rcx, rsi
mov rdx, rbx
mov r8, rbp
call fcn.005f4c20
jmp 0x457d06
xor esi, esi
mov rax, qword [rsp + 0x148]
mov qword [rax], rsi
mov rbx, qword [r15 + 0x10]
test rbx, rbx
movabs rsi, 0xd4a2a94b0460db81
je 0x457d98
cmp dword [0x005f6010], 0
je 0x457d8f
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x457d3f
call qword [0x005f6090]
mov rcx, rbx
call qword [0x005f6048]
cdqe
sub qword [0x0213b040], rax
movabs rcx, 0x9cd0016e8deda887
mov rax, rcx
not rax
add rax, qword [0x0213b088]
add rax, rcx
mov qword [0x0213b088], rax
mov rcx, rbx
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x457d98
call qword [0x005f60a0]
jmp 0x457d98
mov rcx, rbx
call qword [0x005f6038]
mov qword [r15 + 0x10], 0
mov rbx, rdi
mov rdx, qword [rsp + 0x40]
mov eax, dword [rdx + 0xc8]
mov ecx, eax
xor ecx, 3
and ecx, eax
mov dword [rdx + 0xc8], ecx
xor eax, eax
mov qword [rsp + 0x80], rax
test r14d, r14d
jne 0x45eaa0
mov rdi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
add rbx, 0x18
jmp 0x44c1d4
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x58], rdi
lea r15, [rsi + 0x88]
movsx r10, byte [rsi + 0x54]
cmp r10, 0x13
jge 0x45e93c
movzx r8d, word [rsi + 0x56]
mov r9, qword [rax + 0x50]
mov rdx, qword [rax + 0x60]
movzx edi, word [rax + 0x1a]
movzx ebx, byte [rdx + r8*2]
shl rbx, 8
movzx edx, byte [rdx + r8*2 + 1]
mov rcx, rbx
not rcx
movabs r11, 0x1e8a16cdd45c730b
mov ebp, r11d
not ebp
and ebx, ebp
and ebp, edx
not rdx
and rcx, r11
or rbx, rcx
and rdx, r11
or rbp, rdx
xor rbp, rbx
xor rdi, rbp
not rdi
and rdi, rbp
movzx ecx, byte [r9 + rdi + 1]
shl ecx, 0x10
movzx edx, byte [r9 + rdi]
shl edx, 0x18
mov ebp, edx
not ebp
mov ebx, ecx
not ebx
and ebp, 0xc8571003
and edx, 0x37000000
or edx, ebp
and ebx, 0xc8571003
and ecx, 0xa80000
or ecx, ebx
xor ecx, edx
movzx edx, byte [r9 + rdi + 2]
shl edx, 8
or edx, ecx
movzx ebp, byte [r9 + rdi + 3]
mov ebx, edx
and ebx, ebp
mov rcx, qword [rsi + 0x20]
mov word [rsi + 0x46], 0
and byte [rsi + 1], 0xf9
xor edx, ebp
or edx, ebx
mov word [rsi + r10*2 + 0x58], r8w
mov qword [rsi + r10*8 + 0x90], rax
mov word [rsi + 0x56], 0
lea eax, [r10 + 1]
mov byte [rsi + 0x54], al
movzx eax, byte [rsi + 2]
mov dword [rsp + 0x20], eax
mov r8, r15
mov r9, rsi
call fcn.004681b0
test eax, eax
jne 0x45a620
mov rax, qword [r15]
cmp byte [rax + 8], 0
je 0x457df7
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
jmp 0x44d100
xor ebp, ebp
xor r13d, r13d
mov rcx, qword [rdi + 0x30]
mov dl, byte [rsi + 2]
call fcn.00463260
mov qword [rdi + 0x20], 0
test eax, eax
jne 0x45ec33
not ebx
or ebx, 0xfffffffe
xor eax, eax
mov qword [rsp + 0x80], rax
cmp ebx, 0xffffffff
je 0x457fbb
mov rdx, qword [rsp + 0x40]
mov rax, qword [rdx + 0x38]
movabs rcx, 0x97a7ee285a1ed185
sub rax, rcx
add rax, rcx
add rax, 1
mov qword [rdx + 0x38], rax
test rbp, rbp
mov rbx, rsi
je 0x457fbe
mov rax, qword [r15 + 0x140]
test rax, rax
movabs rsi, 0xd4a2a94b0460db81
je 0x457fdb
mov cl, 1
test cl, cl
je 0x457fdb
cmp byte [rbp + 0x30], 0
js 0x457fdb
mov r9, qword [rbp]
mov rcx, qword [r15 + 0x138]
mov rdx, qword [rdi + 0x50]
mov qword [rsp + 0x20], rdx
mov edx, 9
mov r8, r13
call rax
mov r13, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rbx, 0x18
jmp 0x44c1d4
mov rbx, rsi
mov r13, qword [rsp + 0x50]
movabs rsi, 0xd4a2a94b0460db81
mov rdi, qword [rsp + 0x58]
add rbx, 0x18
jmp 0x44c1d4
mov r13, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rbx, 0x18
jmp 0x44c1d4
mov ecx, eax
xor ecx, 0xdbf
and ecx, eax
mov eax, ecx
not eax
and eax, 0x5529
mov edx, ecx
and edx, 0xffffaad6
or edx, eax
xor edx, 0x5528
and ecx, 1
or ecx, edx
mov word [r12], cx
jmp 0x4590a6
mov ecx, ebp
xor ecx, 0xfff7
test ecx, ebp
je 0x45a117
movsd xmm0, qword [rdx]
jmp 0x45a13d
or edx, 0xffffffed
cmp edx, 0xffffffff
je 0x45924a
mov rcx, qword [rax + rbp + 8]
test rcx, rcx
je 0x45924a
mov edx, dword [rax + rbp + 0x10]
mov r8b, byte [rax + rbp + 0x16]
call fcn.0044b070
movzx ebx, word [r14]
jmp 0x45924c
mov edx, ebp
or edx, 0xfffffff7
cmp edx, 0xffffffff
je 0x45a152
mov r12, r14
movsd xmm0, qword [rcx]
jmp 0x45bc88
or ecx, 0xfffffff7
cmp ecx, 0xffffffff
mov rbx, qword [rsp + 0x68]
je 0x45a17e
movq xmm0, qword [rsi]
mov rsi, r10
call fcn.0044b040
mov r10, rsi
mov rsi, rax
jmp 0x45b357
add rax, rsi
add rax, 0x14
movzx ecx, word [rax]
mov edx, ecx
not edx
or edx, 0x5000
and edx, 0xffffd202
and ecx, 0xdfd
or ecx, edx
xor ecx, 0x9202
mov word [rax], cx
mov rbx, r12
movabs rsi, 0xd4a2a94b0460db81
mov r13, qword [rsp + 0x50]
add rbx, 0x18
jmp 0x44c1d4
not ecx
mov edx, ecx
or edx, 0xfffffff7
cmp edx, 0xffffffff
mov rbx, rbp
je 0x45a1cb
movsd xmm0, qword [rax]
call fcn.0044b040
jmp 0x45b486
cmp byte [rbx], 2
jne 0x4596bf
mov rcx, qword [rbx + 0x30]
mov rdi, qword [rcx]
mov rax, qword [rdi]
lea rdx, [rsp + 0xc0]
call qword [rax + 0x60]
mov r12d, eax
cmp qword [rdi + 0x10], 0
je 0x45c597
mov qword [rsp + 0x58], rbp
mov rax, qword [rsp + 0x40]
mov rbx, qword [rax]
mov rdx, qword [rax + 0xa8]
mov rcx, rbx
call fcn.00408130
mov r15, qword [rdi + 0x10]
test r15, r15
je 0x45be1d
mov ebp, r12d
mov r12, r14
mov rcx, r15
call fcn.005f4bd8
mov r14, rax
add r14, 1
test rbx, rbx
je 0x45c4b7
mov rcx, rbx
mov rdx, r14
call fcn.00429840
jmp 0x45c4bf
cmp cx, 0x42
jne 0x4596f0
mov ecx, r10d
not ecx
mov eax, ecx
or eax, 0xfffffffd
cmp eax, 0xffffffff
sete al
setne dl
or ecx, 0xffffffd3
cmp ecx, 0xffffffff
setne cl
sete bl
xor bl, dl
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
mov ebx, dword [rsp + 0x88]
mov qword [rsp + 0x168], r11
jne 0x45b021
or al, cl
xor al, 1
jne 0x45b021
mov rcx, r11
mov dl, byte [rsp + 0x67]
mov r8b, 1
mov edi, r10d
call fcn.0044a7d0
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rax]
mov eax, ecx
not eax
or eax, 0xdbf
mov edx, edi
xor edx, 0xfffff240
and edx, edi
mov ebp, edx
not ebp
mov ebx, eax
and ebx, 0x4d0b
and ecx, 0xffffb240
or ecx, ebx
or eax, ebp
and ebp, 0x4d0b
and edx, 0xffffb2f4
or edx, ebp
xor edx, ecx
not eax
or eax, edx
mov ecx, eax
mov ebp, eax
mov r10d, eax
not eax
and eax, 0xffff8b12
and ecx, 0x74ed
or ecx, eax
xor ecx, 0xffff8b10
and ebp, 2
or ebp, ecx
cmp r15d, r12d
cmovne ebp, dword [rsp + 0x88]
movzx ebx, bp
jmp 0x45b023
cmp r12, 0x3fff
ja 0x459714
mov rax, r12
shr rax, 7
mov ecx, eax
not cl
and cl, 0x75
mov edx, eax
and dl, 0x8a
or dl, cl
xor dl, 0xf5
and al, 0x80
or al, dl
mov rbp, qword [rsp + 0x88]
mov byte [rbp], al
mov eax, r12d
xor al, 0x80
and al, r12b
mov byte [rbp + 1], al
mov eax, 2
jmp 0x459729
xor r15d, r15d
mov qword [rbp], r15
or esi, 4
and esi, 0xf244
mov word [r12], si
mov r14, qword [rsp + 0x70]
mov r12, qword [rsp + 0x80]
mov al, byte [rdi + 1]
cmp al, 0xfd
je 0x4582f8
cmp al, 0xf8
jne 0x458300
mov rbp, qword [rdi + 0x10]
movzx r8d, word [rbp + 8]
jmp 0x458305
mov r8d, dword [rdi + 0x10]
xor ebp, ebp
jmp 0x458305
xor ebp, ebp
xor r8d, r8d
mov edx, dword [rdi + 4]
mov rcx, qword [rsp + 0x40]
xor r9d, r9d
call fcn.004604f0
test rax, rax
je 0x45e448
mov rsi, rax
mov byte [rax + 1], r13b
mov byte [rax + 2], 1
mov eax, dword [rax + 8]
mov ecx, eax
and ecx, 4
xor eax, 4
or eax, ecx
mov dword [rsi + 8], eax
mov dword [rsi + 0x44], r15d
mov rax, qword [rsi + 0x30]
mov qword [rsp + 0x20], rax
mov rcx, r12
mov edx, r15d
mov r8d, ebx
mov r9, rbp
call fcn.00460730
mov qword [rsi + 0x38], rbp
cmp byte [rdi + 1], 0xf8
setne byte [rsi + 4]
mov rbp, qword [rsp + 0x58]
mov rbx, rdi
mov r13, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov r15, r14
mov r14, rcx
mov edx, eax
mov rax, qword [rsi + 0x30]
mov cl, byte [rbx + 2]
and cl, 3
mov byte [rax + 3], cl
xor eax, eax
mov qword [rsp + 0x80], rax
test edx, edx
movabs rsi, 0xd4a2a94b0460db81
mov rdi, rbp
je 0x44c1d0
jmp 0x45e3af
add dword [rcx + 0x1b4], 1
jmp 0x45a204
mov rax, qword [rcx + 0x1c0]
test rax, rax
je 0x45a1fd
mov rdx, qword [rax]
mov qword [rcx + 0x1c0], rdx
add dword [rcx + 0x1b0], 1
jmp 0x45a20e
movzx edi, byte [rcx + 3]
test dil, dil
js 0x45a283
shl eax, 0xe
or eax, edi
mov ecx, eax
not ecx
or ecx, 0xffe03f80
shl esi, 7
mov edx, esi
xor edx, 0x4000
and edx, esi
mov edi, edx
not edi
mov esi, ecx
and esi, 0xf8792cf9
and eax, 0x6c006
or eax, esi
or ecx, edi
and edi, 0xf8792cf9
and edx, 0x5300
or edx, edi
xor edx, eax
not ecx
or ecx, edx
mov eax, ecx
jmp 0x45a2b2
mov rax, qword [rsp + 0xc0]
mov r9, qword [rax + 0x10]
cmp dword [r9 + 4], ebp
je 0x458473
mov rcx, qword [rax + 8]
mov qword [r9 + 0x50], rcx
mov qword [r9 + 0x70], rax
mov qword [r9 + 0x48], r13
mov dword [r9 + 4], ebp
cmp ebp, 1
mov eax, 0
mov ecx, 0x64
cmove eax, ecx
mov byte [r9 + 9], al
cmp byte [r13 + 0x21], 0
mov r15, qword [rsp + 0x98]
je 0x45a54e
mov rdi, qword [r12 + 8]
cmp byte [r12 + 0x11], 0
je 0x45b4c5
mov r14, rbx
add dword [r12 + 0x14], 1
mov r8b, 1
cmp byte [r12 + 0x12], 0
jne 0x45b4cb
mov rcx, r12
mov rsi, r9
call fcn.0043e9d0
mov r9, rsi
mov r8b, byte [r12 + 0x11]
jmp 0x45b4cb
mov rax, qword [rbx + 0x78]
add rbx, 0x78
jmp 0x4584d5
mov rax, qword [rax + 0x10]
test rax, rax
je 0x457344
cmp dword [rax + 8], ebp
jne 0x4584d1
cmp qword [rax], rsi
jne 0x4584d1
xor ebp, ebp
mov bl, 1
cmp byte [rax + 0xc], dil
jae 0x4584f6
mov byte [rax + 0xc], dil
mov rdi, r12
cmp byte [rsi + 0x11], 0
je 0x45850d
add dword [rsi + 0x14], 0xffffffff
jne 0x45850d
mov rcx, rsi
call fcn.0043ea70
test bl, bl
jne 0x4597b8
jmp 0x45eb22
mov word [rsp + 0xd4], 1
mov dword [rsp + 0x20], 0
mov rcx, rbp
xor edx, edx
mov r8d, esi
call fcn.00441350
test eax, eax
jne 0x45f2c2
mov rax, qword [rsp + 0xc8]
mov byte [rax + rsi], 0
mov word [rsp + 0xd4], 0x10
mov dword [rsp + 0xd0], esi
mov rcx, qword [rsp + 0xc8]
movzx eax, byte [rcx]
test al, al
jns 0x45ab3b
movzx edi, byte [rcx + 1]
test dil, dil
js 0x458dea
shl eax, 7
mov ecx, eax
not ecx
or ecx, 0xffffc07f
mov edx, edi
not edx
mov ebp, ecx
and ebp, 0x584e9401
and eax, 0x2b80
or eax, ebp
or ecx, edx
and edx, 0x584e9401
and edi, 0xfffffffe
or edi, edx
xor edi, eax
not ecx
or ecx, edi
mov eax, ecx
mov rdi, r12
jmp 0x45ab3b
xor esi, esi
jmp 0x459348
mov qword [rsi], 0
or ebx, 4
and ebx, 0xf244
mov word [r15], bx
xor eax, eax
jmp 0x457a58
mov qword [rsp + 0x50], r13
movzx edx, word [rax + 0x18]
movzx r9d, byte [r12 + 0x54]
test r9b, r9b
mov r13, qword [rsp + 0x58]
jle 0x45aa8f
movabs rax, 0xfccf26479eec10d6
mov rcx, rax
not rcx
add rcx, r9
add rcx, rax
mov r15d, r9d
and r15d, 3
cmp rcx, 3
jae 0x45a944
xor esi, esi
jmp 0x45aa4b
mov rsi, qword [rsp + 0xd0]
mov ebp, eax
shr rbp, 3
mov r8b, byte [rsi + rbp]
mov ecx, eax
xor ecx, 0xf8
and ecx, eax
mov eax, 1
shl eax, cl
mov ecx, r8d
not cl
mov edx, eax
not dl
mov ebx, ecx
and bl, 0xeb
and r8b, 0x14
or r8b, bl
or cl, dl
and dl, 0xeb
and al, 0x14
or al, dl
xor al, r8b
not cl
or cl, al
mov byte [rsi + rbp], cl
test dil, dil
jne 0x454f61
lea rax, [0x005fd760]
mov qword [rsp + 0xe8], rax
mov rax, qword [r13 + 0x18]
mov rax, qword [rax + 0x50]
movzx ecx, byte [rax + 0x20]
shl ecx, 0x18
movzx edx, byte [rax + 0x21]
shl edx, 0x10
or edx, ecx
movzx r8d, byte [rax + 0x22]
shl r8d, 8
mov ecx, edx
not ecx
mov ebp, r8d
not ebp
and ecx, 0x95f94fb
and edx, 0xf6a00000
or edx, ecx
and ebp, 0x95f94fb
and r8d, 0x6b00
or r8d, ebp
xor r8d, edx
movzx ecx, byte [rax + 0x23]
mov edx, r8d
and edx, ecx
xor r8d, ecx
or r8d, edx
movzx ecx, byte [rax + 0x24]
shl ecx, 0x18
movzx edx, byte [rax + 0x25]
shl edx, 0x10
mov ebp, edx
not ebp
mov ebx, ecx
not ebx
and ebp, 0xad5eada2
and edx, 0xa10000
or edx, ebp
and ebx, 0xad5eada2
and ecx, 0x52000000
or ecx, ebx
xor ecx, edx
movzx edx, byte [rax + 0x26]
shl edx, 8
mov r9d, ecx
not r9d
mov ebp, edx
not ebp
mov ebx, r9d
and ebx, 0xa3163735
and ecx, 0x5ce90000
or ecx, ebx
or r9d, ebp
and ebp, 0xa3163735
and edx, 0xc800
or edx, ebp
xor edx, ecx
not r9d
or r9d, edx
movzx eax, byte [rax + 0x27]
mov ecx, r9d
and ecx, eax
xor r9d, eax
or r9d, ecx
lea rcx, [rsp + 0xc0]
mov edx, 1
call fcn.0047ae10
movdqa xmm5, xmmword [0x005fa320]
mov qword [rsp + 0xe8], 0
cmp byte [rsp + 0xa0], 0
jne 0x45c96f
cmp byte [r13 + 0x21], 0
movabs rbp, 0xb5f7f9ff45ff9d00
je 0x45a631
test r15d, r15d
jle 0x45b7cb
cmp r15d, 8
jae 0x45baff
xor eax, eax
xor r8d, r8d
jmp 0x45c8ea
mov rsi, rbx
jmp 0x458c0a
mov rcx, r12
call fcn.00404550
mov rbp, rax
test rax, rax
je 0x458932
mov rcx, rbp
mov rdx, rsi
mov r8, r12
call fcn.005f4c20
jmp 0x458934
mov dword [rsp + 0xac], 1
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
mov rcx, rdi
mov dl, 1
call fcn.0044a3f0
mov r8, rax
mov rcx, qword [rsp + 0x40]
lea rdx, [0x005faef2]
call fcn.004496d0
mov r14d, dword [rbx + 0x24]
mov rax, qword [rsp + 0x178]
mov rsi, qword [rax]
test rsi, rsi
je 0x4588f7
mov edi, dword [rbx + 0x20]
test edi, edi
js 0x458888
mov rax, qword [rsp + 0x68]
mov r12d, dword [rax + 4]
mov rbp, qword [rsp + 0x178]
jmp 0x4588bc
mov rax, qword [rsi + 0x18]
mov rdi, qword [rsp + 0x178]
mov qword [rdi], rax
mov rcx, r15
mov rdx, rsi
call fcn.00408130
mov rsi, qword [rdi]
test rsi, rsi
je 0x4588f7
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x458866
mov rcx, qword [rsi + 8]
call rax
jmp 0x458866
mov eax, 0xfffffffe
rol eax, cl
mov ecx, r12d
not ecx
or ecx, eax
cmp ecx, 0xffffffff
je 0x4588cc
add rsi, 0x18
mov rbp, rsi
mov rsi, qword [rbp]
test rsi, rsi
je 0x4588f7
cmp dword [rsi], edi
jne 0x4588ac
mov ecx, dword [rsi + 4]
test ecx, ecx
js 0x4588ac
cmp ecx, 0x1f
jle 0x458899
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x4588db
mov rcx, qword [rsi + 8]
call rax
mov rax, qword [rsi + 0x18]
mov qword [rbp], rax
mov rcx, r15
mov rdx, rsi
call fcn.00408130
mov rsi, qword [rbp]
test rsi, rsi
jne 0x4588bc
mov dword [rbx + 0x24], 0
xor eax, eax
mov qword [rsp + 0x80], rax
mov ebp, r14d
test r14d, r14d
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
movabs rsi, 0xd4a2a94b0460db81
mov r14, qword [rsp + 0x48]
je 0x44c1d0
jmp 0x45eb4a
xor ebp, ebp
mov r14, qword [rsp + 0x70]
mov r12d, dword [rsp + 0x80]
mov rax, qword [rsp + 0x148]
mov qword [rax], rbp
mov rsi, qword [rbx + 0x10]
test rsi, rsi
je 0x4589e7
cmp dword [0x005f6010], 0
je 0x4589de
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x458974
call qword [0x005f6090]
mov rcx, rsi
call qword [0x005f6048]
cdqe
mov rcx, qword [0x0213b040]
movabs rdx, 0x48787738b31c0f7b
add rcx, rdx
sub rcx, rax
sub rcx, rdx
mov qword [0x0213b040], rcx
movabs rcx, 0xcc004542ac0cb747
mov rax, rcx
not rax
add rax, qword [0x0213b088]
add rax, rcx
mov qword [0x0213b088], rax
mov rcx, rsi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4589e7
call qword [0x005f60a0]
jmp 0x4589e7
mov rcx, rsi
call qword [0x005f6038]
mov qword [rbx + 0x10], 0
movabs rsi, 0xd4a2a94b0460db81
test r12d, r12d
jne 0x45ec42
mov rcx, qword [rdi + 0x30]
call qword [r15 + 0x50]
xor ecx, ecx
mov qword [rsp + 0x80], rcx
test eax, eax
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x48]
mov r15, r14
mov r14, rax
jne 0x458a45
mov eax, dword [rbx + 8]
add eax, 0xffffffff
cdqe
lea rax, [rax + rax*2]
mov rcx, qword [rsp + 0x130]
lea rbx, [rcx + rax*8]
mov eax, dword [r15 + 0x198]
mov ebp, 9
test eax, eax
jne 0x45eb4a
nop dword [rax]
cmp r13, rdi
jb 0x44c1d0
mov rdx, qword [r15 + 0x208]
test rdx, rdx
je 0x44c1d0
mov eax, dword [r15 + 0x218]
add rdi, rax
mov rcx, qword [r15 + 0x210]
call rdx
test eax, eax
je 0x458a60
jmp 0x45e041
lea rax, [rcx + rbp]
add rax, 0x14
mov word [rax], 1
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x70]
add rbx, 0x18
jmp 0x44c1d4
mov ecx, eax
xor ecx, 0xfffd
test ecx, eax
je 0x45a6cf
lea rcx, [rsp + 0xc0]
mov edx, 1
call fcn.00418160
movzx esi, word [rsp + 0xd4]
jmp 0x45a6cf
mov ecx, eax
xor ecx, 0xfffd
test ecx, eax
je 0x45a707
mov rcx, rsi
mov edx, 1
call fcn.00418160
movzx ebx, word [rdi]
jmp 0x45a707
mov ecx, ebx
xor ecx, 0xffed
test ecx, ebx
je 0x45a79e
mov rbp, qword [rsp + 0x78]
mov rcx, qword [rbp + rax + 8]
mov edx, dword [rbp + rax + 0x10]
mov r8b, byte [rbp + rax + 0x16]
call fcn.0044aa50
jmp 0x45a7a2
mov ecx, ebx
or ecx, 0xfffffff7
cmp ecx, 0xffffffff
je 0x45a82d
movsd xmm0, qword [rdx]
jmp 0x45c008
mov ecx, ebp
xor ecx, 0xffed
test ecx, ebp
je 0x45a856
mov rbp, qword [rsp + 0x78]
mov rcx, qword [rbp + rax + 8]
mov edx, dword [rbp + rax + 0x10]
mov r8b, byte [rbp + rax + 0x16]
call fcn.0044aa50
jmp 0x45a85a
mov eax, ecx
xor edx, edx
div esi
mov ecx, edx
mov rdi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
jmp 0x45bac0
test rsi, rsi
jle 0x45a915
test rcx, rcx
jns 0x45a93c
mov eax, 1
sub rax, rsi
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
neg rdx
cmp rax, rdx
jl 0x455ec7
jmp 0x45a93c
xor eax, eax
mov qword [rsp + 0x80], rax
mov r13, qword [rsp + 0x50]
movabs rsi, 0xd4a2a94b0460db81
jmp 0x44d6e4
mov rsi, rbx
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x40]
mov qword [rsp + 0x80], rax
mov r15, rcx
mov rdi, qword [rsp + 0x98]
mov rbx, qword [rdi + 8]
cmp byte [rdi + 0x11], 0
je 0x458c26
add dword [rdi + 0x14], 1
cmp byte [rdi + 0x12], 0
jne 0x458c26
mov rcx, rdi
call fcn.0043e9d0
mov rcx, qword [rbx]
xor r14d, r14d
mov rax, qword [rsp + 0x80]
cmp dword [rcx + 0x80], eax
jge 0x458c57
cmp byte [rcx + 0xa], 0
mov rbx, rsi
je 0x458c5a
mov rdx, qword [rsp + 0x80]
call fcn.0043fb10
mov r14d, eax
jmp 0x458c5a
mov rbx, rsi
cmp byte [rdi + 0x11], 0
je 0x459455
mov rsi, r15
add dword [rdi + 0x14], 0xffffffff
jne 0x459458
mov rcx, rdi
call fcn.0043ea70
jmp 0x459458
xor eax, eax
xor edx, edx
div dword [r15 + 0x220]
shl rdx, 4
lea rax, [rcx + rdx]
add rax, 8
add rdx, rcx
mov rbx, rdi
mov rsi, r9
mov ecx, dword [rdx]
lea rdx, [0x0213b3c8]
test ecx, ecx
je 0x458d01
mov r9, rbx
mov rax, qword [rax]
add ecx, 0xffffffff
mov rdx, qword [rax + 0x18]
xor ebp, ebp
jmp 0x458cd0
lea rsi, [0x005fade0]
movzx ebx, byte [rbx + rsi]
cmp bl, byte [rdi + rsi]
jne 0x458ce4
add rbp, 1
movzx ebx, byte [rdx + rbp]
movzx edi, byte [r8 + rbp]
cmp bl, dil
jne 0x458cbc
test bl, bl
jne 0x458ccc
jmp 0x458cf1
test ecx, ecx
jne 0x458cae
lea rdx, [0x0213b3c8]
jmp 0x458cf4
mov rdx, rax
mov rbx, r9
movabs rsi, 0xd4a2a94b0460db81
mov rax, qword [rdx + 0x10]
test rax, rax
mov rdi, r12
je 0x458d6a
mov rcx, qword [rax]
mov r9, qword [rcx + 8]
test r9, r9
je 0x458d6a
cmp qword [rcx + 0x28], 0
je 0x458d6a
mov rcx, qword [rsp + 0x148]
mov qword [rsp + 0x20], rcx
mov rcx, r15
mov rdx, r10
mov r8, rax
mov r12, r10
call fcn.0047c980
mov ebp, eax
test eax, eax
jne 0x458d89
mov rax, qword [r12 + 0x50]
xor ebp, ebp
test rax, rax
je 0x458d89
mov r8, r12
mov rcx, rax
cmp qword [rcx], r15
je 0x45c0f8
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x458d56
jmp 0x458d89
mov rcx, r15
lea rdx, [0x005fdd31]
call fcn.00419c10
mov rcx, qword [rsp + 0x148]
mov qword [rcx], rax
mov ebp, 1
mov eax, dword [rsp + 0xd4]
not eax
or eax, 0x6fff
cmp ax, 0xffff
jne 0x458dad
cmp dword [rsp + 0xe0], 0
jne 0x458dad
mov al, 1
test al, al
jne 0x458dba
lea rcx, [rsp + 0xc0]
call fcn.00449ce0
xor eax, eax
mov qword [rsp + 0x80], rax
test ebp, ebp
je 0x44c1d0
jmp 0x45eb4a
mov rax, qword [rcx + 0x1d8]
mov qword [rsi], rax
mov r15, rcx
mov qword [rcx + 0x1d8], rsi
jmp 0x4548b8
movzx ebp, byte [rcx + 2]
test bpl, bpl
js 0x45ab15
shl eax, 0xe
or eax, ebp
mov ecx, eax
xor ecx, 0x200080
and ecx, eax
shl edi, 7
mov edx, edi
xor edx, 0x4000
and edx, edi
mov eax, ecx
not eax
mov ebp, edx
not ebp
mov edi, eax
and edi, 0x4ad57be8
and ecx, 0x2a8017
or ecx, edi
or eax, ebp
and ebp, 0x4ad57be8
and edx, 0x400
or edx, ebp
xor edx, ecx
not eax
or eax, edx
mov rdi, r12
jmp 0x45ab3b
xor ebp, ebp
mov rbx, r8
jmp 0x45c1e8
mov rcx, rsi
call qword [0x005f6038]
jmp 0x4548b8
mov rcx, rdx
and rcx, 0xfffffffffffffffe
lea rdi, [r8 + 0x34]
mov rsi, rcx
neg rsi
mov ebp, 1
jmp 0x458e97
add rcx, 0xfffffffffffffffe
add rdi, 0x30
lea rax, [rsi + rbp]
add rax, 2
add rbp, 2
cmp rax, 1
je 0x451650
cmp byte [rdi - 0x1c], 0xe
jne 0x458ea4
mov dword [rdi - 0x18], 0
cmp byte [rdi - 4], 0xe
jne 0x458e79
mov dword [rdi], 0
jmp 0x458e79
mov r9d, eax
xor r9d, 3
and r9d, eax
xor r11d, r11d
movabs r15, 0x1ffffffffffffffd
movabs r14, 0xa754a359a1160eda
movabs rsi, 0x60c7daeb6af0dde5
movabs rbx, 0x3204d9e5563a72ad
mov rax, qword [r12 + r11*8 + 0x90]
movzx eax, word [rax + 0x18]
imul rax, rdi
mov r10, r11
not r10
mov rdi, r14
not rdi
mov rbp, r10
and rbp, r14
mov rcx, r11
and rcx, rdi
or rcx, rbp
mov ebp, edi
and ebp, 1
add rbp, qword [rsp + 0x218]
xor rbp, rcx
or edi, r14d
and edi, r11d
and edi, 1
or rdi, rbp
mov rcx, qword [r12 + rdi*8 + 0x90]
movzx ecx, word [rcx + 0x18]
imul rcx, rax
mov rax, rsi
not rax
mov rdx, r10
and rdx, rsi
mov rsi, r11
and rsi, rax
or rsi, rdx
movabs rdx, 0x60c7daeb6af0dde5
and rdx, r15
mov ebp, eax
and ebp, 2
or rbp, rdx
xor rbp, rsi
movabs rsi, 0x60c7daeb6af0dde5
or eax, esi
and eax, r11d
and eax, 2
or rax, rbp
mov rax, qword [r12 + rax*8 + 0x90]
movzx eax, word [rax + 0x18]
mov rdx, rbx
not rdx
and r10, rbx
mov rbx, r11
and rbx, rdx
or rbx, r10
movabs rbp, 0x3204d9e5563a72ad
movabs rdi, 0x1ffffffffffffffc
and rbp, rdi
mov edi, edx
and edi, 3
or rdi, rbp
xor rdi, rbx
movabs rbx, 0x3204d9e5563a72ad
or edx, ebx
and edx, r11d
and edx, 3
or rdx, rdi
mov rdx, qword [r12 + rdx*8 + 0x90]
movzx edi, word [rdx + 0x18]
imul rdi, rax
imul rdi, rcx
add r11, 4
add r9, 0xfffffffffffffffc
jne 0x458ee7
test r8, r8
je 0x459838
lea rax, [r12 + r11*8]
add rax, 0x90
xor edx, edx
mov rbp, r8
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rax + rdx*8]
movzx ecx, word [rcx + 0x18]
imul rdi, rcx
add r11, 1
add rbp, 0xffffffffffffffff
add rdx, 1
cmp r8, rdx
jne 0x459014
mov r15, qword [rsp + 0x70]
jmp 0x459842
mov ecx, eax
xor ecx, 0xffed
test ecx, eax
je 0x45b205
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + r10 + 8]
mov edx, dword [rax + r10 + 0x10]
mov qword [rsp + 0x88], r8
mov r8b, byte [rax + r10 + 0x16]
mov rsi, r10
mov rbp, r11
call fcn.0044aa50
mov r8, qword [rsp + 0x88]
mov r11, rbp
mov r10, rsi
movapd xmm6, xmm0
jmp 0x45b209
mov word [r12], 1
mov rbp, qword [rsp + 0x80]
mov word [r12], 0x401
mov dword [rbp], 0
mov rax, qword [rsp + 0x68]
mov r8d, dword [rax + 8]
mov rcx, qword [rsi + 0x30]
lea rdx, [rsp + 0xc0]
call qword [r15 + 0x58]
mov ebp, eax
cmp qword [rbx + 0x10], 0
je 0x45a007
mov qword [rsp + 0x48], r14
mov r14d, ebp
mov rax, qword [rsp + 0x40]
mov rbp, qword [rax]
mov rdx, qword [rax + 0xa8]
mov rcx, rbp
call fcn.00408130
mov rsi, qword [rbx + 0x10]
test rsi, rsi
je 0x45917a
mov qword [rsp + 0x58], r13
mov rcx, rsi
call fcn.005f4bd8
movabs rcx, 0x6a9dfa222dac3717
sub rax, rcx
lea r15, [rax + rcx]
add r15, 1
test rbp, rbp
je 0x459f61
mov rcx, rbp
mov rdx, r15
call fcn.00429840
jmp 0x459f69
lea rdx, [r11 + 0xc]
add r11, 0x10
jmp 0x459ed2
mov eax, dword [rsp + 0x88]
not eax
or eax, 0xfffffffe
mov dword [rsp + 0xac], 0xffffffff
cmp eax, 0xffffffff
movabs rsi, 0xd4a2a94b0460db81
jne 0x45dd3d
mov dword [rsp + 0xac], 1
jmp 0x45dcf3
xor ebp, ebp
jmp 0x459f88
mov rbp, qword [rsp + 0x70]
jmp 0x45919f
mov r15, qword [rsi]
add eax, 0xffffffff
mov dword [rsi + 0x18], eax
je 0x4591fe
add rdi, 1
test ebx, ebx
jne 0x45e3bf
movsxd rax, dword [rbp + 0x21c]
cmp rdi, rax
jge 0x456b3f
mov r12, rbp
mov rax, qword [rbp + 0x240]
mov rsi, qword [rax + rdi*8]
mov rcx, qword [rsi + 0x10]
xor ebx, ebx
test rcx, rcx
je 0x459193
mov rax, qword [rsi + 8]
mov rdx, qword [rax]
cmp dword [rdx], 2
jl 0x459193
mov eax, dword [rsi + 0x18]
add eax, 1
mov dword [rsi + 0x18], eax
mov r8, qword [rdx + 0xa8]
xor ebx, ebx
test r8, r8
je 0x459188
cmp dword [rsi + 0x20], r14d
jle 0x459188
mov edx, r14d
call r8
mov ebx, eax
mov eax, dword [rsi + 0x18]
jmp 0x459188
mov rbp, qword [rsi + 8]
mov r12, qword [rsi + 0x10]
add dword [rbp + 0x10], 0xffffffff
jne 0x459226
mov rax, qword [rbp + 0x20]
test rax, rax
je 0x45921b
mov rcx, qword [rbp + 0x18]
call rax
mov rcx, r15
mov rdx, rbp
call fcn.00408130
test r12, r12
je 0x459235
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x20]
mov rcx, r15
mov rdx, rsi
call fcn.00408130
mov rbp, qword [rsp + 0x70]
jmp 0x459193
xor eax, eax
mov qword [rsi], rax
mov eax, ebx
not eax
or eax, 0x18d
and eax, 0xffff938d
and ebx, 0x6040
or ebx, eax
xor ebx, 0x9389
mov word [r14], bx
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
lea rbx, [rcx + rax]
lea r14, [rcx + rax]
add r14, 0x14
movzx ebp, word [rcx + rax + 0x14]
movzx edi, bp
mov edx, edi
not edx
mov ecx, edx
or ecx, 0xffffffdb
cmp ecx, 0xffffffff
je 0x4592a8
mov rax, qword [rbx]
jmp 0x4592ec
mov ecx, edi
xor ecx, 0xfff7
test ecx, edi
je 0x4592bf
movq xmm0, qword [rbx]
call fcn.0044b040
jmp 0x4592ec
or edx, 0xffffffed
cmp edx, 0xffffffff
je 0x4592ea
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rdi + rax + 8]
test rcx, rcx
je 0x4592ea
mov edx, dword [rdi + rax + 0x10]
mov r8b, byte [rdi + rax + 0x16]
call fcn.0044b070
movzx ebp, word [r14]
jmp 0x4592ec
xor eax, eax
mov qword [rbx], rax
or ebp, 4
and ebp, 0xf244
mov word [r14], bp
cmp qword [rsi], rax
mov rdi, r12
jge 0x459307
mov qword [rsi], rax
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x48]
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
mov rcx, rbp
call fcn.00404550
mov rsi, rax
test rax, rax
je 0x459344
mov rcx, rsi
mov rdx, r15
mov r8, rbp
call fcn.005f4c20
jmp 0x459346
xor esi, esi
mov ebp, edi
mov rax, qword [rsp + 0x148]
mov qword [rax], rsi
mov rsi, qword [r12 + 0x10]
test rsi, rsi
je 0x4593b8
cmp dword [0x005f6010], 0
je 0x4593af
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x459378
call qword [0x005f6090]
mov rcx, rsi
call qword [0x005f6048]
cdqe
sub qword [0x0213b040], rax
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rsi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4593b8
call qword [0x005f60a0]
jmp 0x4593b8
mov rcx, rsi
call qword [0x005f6038]
mov qword [r12 + 0x10], 0
test ebp, ebp
je 0x45940d
mov eax, ebp
xor eax, 0xffffff00
and eax, ebp
cmp eax, 0x13
mov rdi, qword [rsp + 0x58]
movabs rsi, 0xd4a2a94b0460db81
jne 0x45ede1
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x1c], 0
je 0x45ede1
movzx eax, word [rbx + 2]
xor ecx, ecx
mov qword [rsp + 0x80], rcx
cmp ax, 4
je 0x459447
jmp 0x45f302
cmp dword [rbx + 4], 0
mov rdi, qword [rsp + 0x58]
movabs rsi, 0xd4a2a94b0460db81
je 0x459433
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x70]
mov qword [rcx + 0x38], rax
mov rax, qword [rsp + 0x40]
add qword [rax + 0x38], 1
xor eax, eax
mov qword [rsp + 0x80], rax
mov r15, qword [rsp + 0x70]
add rbx, 0x18
jmp 0x44c1d4
mov rsi, r15
mov qword [rsp + 0x80], r14
mov r15, rsi
movdqu xmm0, xmmword [rsi + 0x2f0]
mov rax, qword [rsp + 0x40]
movdqu xmmword [rax + 0x58], xmm0
mov rsi, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x80]
test eax, eax
jne 0x45e5b4
cmp word [rbx + 2], 0
je 0x4594b5
mov eax, dword [rsp + 0xc0]
cmp eax, dword [rbx + 0xc]
jne 0x45e4b5
mov rax, qword [rsi + r12 + 0x18]
mov eax, dword [rax + 4]
cmp eax, dword [rbx + 0x10]
jne 0x45e4b5
xor eax, eax
mov qword [rsp + 0x80], rax
movabs rsi, 0xd4a2a94b0460db81
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
add rbx, 0x18
jmp 0x44c1d4
test rcx, rcx
jns 0x4594fe
lea rax, [rsi + 1]
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
neg rdx
cmp rax, rdx
jl 0x455ec7
movabs rax, 0xbe6976e789291ab2
sub rcx, rax
add rcx, rsi
add rcx, rax
jmp 0x45baac
js 0x45b795
imul rcx, rsi
jmp 0x45baac
mov rax, qword [rbx + 0x48]
mov rax, qword [rax]
cmp dword [rax], 2
jl 0x453076
cmp qword [rax + 0x68], 0
sete al
cmp r15d, edi
sete cl
test al, cl
jne 0x453076
xor al, cl
jne 0x453076
cmp dil, 5
sete al
cmp r15d, 5
sete cl
test al, cl
jne 0x45956d
xor al, cl
je 0x453079
mov r12, qword [rsp + 0x70]
cmp byte [r12 + 0x65], 0
je 0x45eea3
cmp dword [r12 + 0xdc], 2
jge 0x45eea3
cmp dil, 5
jne 0x4595cd
mov rcx, qword [rbx + 0x128]
test rcx, rcx
je 0x45a4cb
mov al, byte [rbx + 0x16]
cmp al, 4
jb 0x4595b2
cmp al, 5
jne 0x45be24
cmp byte [rbx + 0x11], 0
je 0x45b6cb
mov qword [rsp + 0x98], rdx
mov byte [rbx + 0x16], 4
jmp 0x45be2c
cmp dil, 4
jne 0x4595e6
mov rcx, rbx
mov rbp, rdx
mov edx, 2
call fcn.00466480
mov rdx, rbp
mov rax, qword [rsp + 0x80]
test eax, eax
jne 0x453081
jmp 0x45beea
mov rdx, qword [r15 + 0x100]
mov ecx, 1
mov r8, qword [rsp + 0x40]
call qword [r15 + 0xf8]
jmp 0x4515ee
mov rcx, rbx
call qword [0x005f6038]
mov qword [rdi + 0x18], 0
mov byte [rdi], 1
mov rbx, r12
mov rax, qword [rsp + 0x80]
mov r14, qword [rsp + 0x48]
jmp 0x45837b
add dword [rsi + 0x2c], 0xffffffff
mov rbx, rdi
jne 0x459655
mov rcx, r15
mov rdx, rsi
call fcn.0047f4d0
add dword [r15 + 0xe8], 0xffffffff
xor eax, eax
mov qword [rsp + 0x80], rax
test ebp, ebp
mov rdi, r13
mov r14, r12
jne 0x45f370
movabs rsi, 0xd4a2a94b0460db81
mov r13, qword [rsp + 0x50]
add rbx, 0x18
jmp 0x44c1d4
movsxd rax, dword [rbx + 8]
imul rax, rax, 0x38
lea rcx, [rdx + rax]
mov ebp, dword [rdx + rax + 0x14]
mov edx, ebp
xor edx, 0x6fff
test dx, bp
jne 0x44db14
mov rdx, qword [rsp + 0x78]
add rax, rdx
add rax, 0x14
jmp 0x454704
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x45a774
mov rcx, rbx
call fcn.0045ffc0
test eax, eax
jne 0x45f4ba
cmp byte [rbx + 2], 0
je 0x45a774
mov word [rdi], 1
jmp 0x45c5ab
mov dword [rsp + 0x158], r10d
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, rsi
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
jmp 0x45dcad
mov rbp, qword [rsp + 0x88]
mov rcx, rbp
mov rdx, r12
call fcn.00467b20
cdqe
add rbp, rax
mov qword [rsp + 0x88], rbp
mov rdx, qword [rsp + 0xa0]
movzx r12d, word [rdx + 0x44]
mov rbp, qword [rdx + 0x38]
mov rax, qword [rdx + 0x88]
lea rcx, [r12 + rbp]
mov rsi, qword [rax + 0x58]
cmp rcx, rsi
ja 0x45ec64
mov rax, rbx
mov ebx, dword [rdx + 0x40]
mov rdx, qword [rax + 0x88]
movzx eax, word [rdx + 0xe]
mov r10, rbx
cmp ebx, r12d
jne 0x4597d0
cmp r12w, ax
jae 0x4597d0
mov bl, 1
test bl, bl
je 0x4597d0
mov rsi, qword [rsp + 0x88]
mov rcx, rsi
mov rdx, rbp
mov r8, r12
call fcn.005f4c20
add esi, r12d
sub esi, dword [r15 + 0x88]
mov dword [r15 + 0x90], esi
xor eax, eax
mov qword [rsp + 0x80], rax
mov r15, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
mov qword [rsp + 0x158], r15
mov qword [rsp + 0x58], rdi
movzx r9d, ax
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 0x20]
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0xc0], 0
mov rax, r10
mov r15d, eax
cmp eax, r9d
jbe 0x4598ab
movzx r8d, word [rdx + 0x10]
sub rax, r8
mov rdx, qword [rdx + 0x48]
mov edi, dword [rdx + 0x38]
add edi, 0xfffffffc
mov rdx, rax
shr rdx, 0x20
je 0x45989a
cqo
idiv rdi
mov r15, rdx
jmp 0x4598a1
mov r15, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x48]
mov rax, qword [rsp + 0x140]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 8]
imul rcx, rcx, 0x38
lea rsi, [rax + rcx]
mov ebp, dword [rax + rcx + 0x14]
mov edx, ebp
xor edx, 0x6fff
test dx, bp
je 0x459879
mov rcx, rsi
call fcn.00467410
jmp 0x459885
add rax, rcx
add rax, 0x14
mov word [rax], 4
mov qword [rsi], rdi
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r13
jmp 0x45ccd2
xor edx, edx
div edi
mov r15d, edx
add r15d, r8d
cmp r15d, r9d
cmovg r15d, r8d
mov qword [rsp + 0x50], r13
mov rdi, qword [rsp + 0x158]
mov eax, dword [rdi + 0x88]
mov rbx, qword [rsp + 0x88]
mov edx, ebx
sub edx, eax
lea r8d, [rdx + r15]
mov eax, r15d
add rax, rbx
mov rbx, r10
xor r13d, r13d
cmp r15d, ebx
lea edx, [rdx + r15 + 4]
cmovae edx, r8d
cmovae rax, r13
mov qword [rsp + 0x168], rax
mov dword [rdi + 0x90], edx
cmp ebx, r12d
jbe 0x459979
lea rax, [rcx + 4]
cmp rax, rsi
ja 0x45f37a
movzx eax, byte [rcx]
shl eax, 0x18
movzx edx, byte [rcx + 1]
shl edx, 0x10
or edx, eax
movzx eax, byte [rcx + 2]
shl eax, 8
mov edi, edx
not edi
mov esi, eax
not esi
and edi, 0x312c75ca
and edx, 0xced30000
or edx, edi
and esi, 0x312c75ca
and eax, 0x8a00
or eax, esi
xor eax, edx
movzx ecx, byte [rcx + 3]
mov r13d, eax
not r13d
mov edx, ecx
not edx
mov edi, r13d
and edi, 0xbacdb7c7
and eax, 0x45324800
or eax, edi
or r13d, edx
and edx, 0xbacdb7c7
and ecx, 0x38
or ecx, edx
xor ecx, eax
not r13d
or r13d, ecx
mov qword [rsp + 0x48], r14
xor eax, eax
mov qword [rsp + 0xb0], rax
movabs rsi, 0xd4a2a94b0460db81
sub ebx, r15d
mov qword [rsp + 0x98], rbx
mov rbx, qword [rsp + 0x88]
mov r14, qword [rsp + 0xa0]
test r12d, r12d
je 0x4599ed
cmp r15d, r12d
mov eax, r12d
cmovb eax, r15d
movsxd rsi, eax
mov rcx, rbx
mov rdx, rbp
mov r8, rsi
call fcn.005f4c20
sub r15d, esi
sub r12d, esi
add rbx, rsi
add rbp, rsi
movabs rsi, 0xd4a2a94b0460db81
test r15d, r15d
jne 0x4599f9
jmp 0x459b0e
xor r12d, r12d
test r15d, r15d
je 0x459b0e
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x459a5c
mov eax, dword [rcx + 0x34]
mov edx, eax
xor edx, 0xffdf
test dx, ax
je 0x459a57
mov rbp, qword [rcx + 0x28]
add dword [rbp + 0x98], 0xffffffff
mov rax, qword [rbp + 0xa8]
mov qword [rcx + 0x20], rax
mov qword [rbp + 0xa8], rcx
mov rax, qword [rbp + 0x48]
mov edx, dword [rcx + 0x30]
mov r8, qword [rcx + 8]
add edx, 0xffffffff
imul rdx, qword [rbp + 0xc8]
mov rbp, qword [rax]
mov rcx, rax
call qword [rbp + 0x90]
jmp 0x459a5c
call fcn.00430480
mov qword [rsp + 0xc0], 0
mov rcx, qword [rsp + 0x80]
mov edx, r13d
lea r8, [rsp + 0xc0]
mov r9d, 2
call qword [rcx + 0x110]
mov dword [rsp + 0x138], eax
test eax, eax
jne 0x459cc5
mov rax, qword [rsp + 0xc0]
mov rbp, qword [rax + 8]
movzx eax, byte [rbp]
shl eax, 0x18
movzx ecx, byte [rbp + 1]
shl ecx, 0x10
mov edx, ecx
not edx
mov edi, eax
not edi
and edx, 0xd8f42586
and ecx, 0xb0000
or ecx, edx
and edi, 0xd8f42586
and eax, 0x27000000
or eax, edi
xor eax, ecx
movzx r13d, byte [rbp + 2]
shl r13d, 8
or r13d, eax
movzx eax, byte [rbp + 3]
mov ecx, r13d
and ecx, eax
xor r13d, eax
or r13d, ecx
mov rax, qword [r14 + 0x20]
mov r12d, dword [rax + 0x38]
add rbp, 4
add r12d, 0xfffffffc
test r12d, r12d
jne 0x4599b2
jmp 0x4599ed
mov eax, dword [rsp + 0x138]
mov edx, eax
test eax, eax
setne al
cmp dword [rsp + 0x98], 0
sete cl
or cl, al
mov rdi, qword [rsp + 0x168]
test rdi, rdi
setne al
xor r15d, r15d
cmp al, cl
mov qword [rsp + 0x88], rbx
je 0x459be8
test rdi, rdi
je 0x459be8
mov qword [rsp + 0x180], 0
mov byte [rsp + 0x20], 0
mov r14, qword [rsp + 0x158]
mov rcx, r14
lea rdx, [rsp + 0x180]
lea r8, [rsp + 0x164]
xor r9d, r9d
call fcn.00441dd0
mov dword [rsp + 0x138], eax
mov eax, dword [rsp + 0x164]
bswap eax
mov dword [rdi], eax
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x459bf5
cmp byte [r14 + 0x21], 0
je 0x459bf5
mov al, 1
test al, al
je 0x459bf5
mov edx, dword [rsp + 0x164]
mov r9d, dword [rcx + 4]
lea rax, [rsp + 0x138]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov r8b, 4
call fcn.00444820
mov rcx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x98]
jmp 0x459c02
mov rbx, qword [rsp + 0x98]
jmp 0x459caa
test rcx, rcx
mov rbx, qword [rsp + 0x98]
je 0x459c5c
mov rcx, qword [rcx + 0x70]
mov eax, dword [rcx + 0x34]
not eax
or eax, 0xffdf
cmp ax, 0xffff
je 0x459c57
mov rdi, qword [rcx + 0x28]
add dword [rdi + 0x98], 0xffffffff
mov rax, qword [rdi + 0xa8]
mov qword [rcx + 0x20], rax
mov qword [rdi + 0xa8], rcx
mov rax, qword [rdi + 0x48]
mov edx, dword [rcx + 0x30]
mov r8, qword [rcx + 8]
add edx, 0xffffffff
imul rdx, qword [rdi + 0xc8]
mov rdi, qword [rax]
mov rcx, rax
call qword [rdi + 0x90]
jmp 0x459c5c
call fcn.00430480
mov rax, qword [rsp + 0x180]
test rax, rax
mov qword [rsp + 0xb0], rax
je 0x459ca0
mov rcx, qword [rax + 0x50]
lea rax, [rcx + 4]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x168], rcx
mov dword [rcx], 0
mov r15d, dword [r14 + 0x38]
add r15d, 0xfffffffc
cmp r15d, ebx
cmovae r15d, ebx
jmp 0x459ca3
xor r15d, r15d
mov edx, dword [rsp + 0x138]
test ebx, ebx
setne al
mov r14d, edx
test edx, edx
setne cl
cmp al, cl
je 0x459cc8
test ebx, ebx
jne 0x459992
jmp 0x459cc8
mov r14d, eax
mov rax, qword [rsp + 0xb0]
test rax, rax
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
mov ebp, r14d
je 0x459d49
mov rcx, qword [rax + 0x70]
mov eax, dword [rcx + 0x34]
not eax
or eax, 0xffdf
cmp ax, 0xffff
je 0x459d44
mov rbp, qword [rcx + 0x28]
add dword [rbp + 0x98], 0xffffffff
mov rax, qword [rbp + 0xa8]
mov qword [rcx + 0x20], rax
mov qword [rbp + 0xa8], rcx
mov rax, qword [rbp + 0x48]
mov edx, dword [rcx + 0x30]
mov r8, qword [rcx + 8]
add edx, 0xffffffff
imul rdx, qword [rbp + 0xc8]
mov rbp, qword [rax]
mov rcx, rax
call qword [rbp + 0x90]
mov ebp, r14d
jmp 0x459d49
call fcn.00430480
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x459daf
mov eax, dword [rcx + 0x34]
mov edx, eax
xor edx, 0xffdf
test dx, ax
je 0x459daa
mov rbp, qword [rcx + 0x28]
add dword [rbp + 0x98], 0xffffffff
mov rax, qword [rbp + 0xa8]
mov qword [rcx + 0x20], rax
mov qword [rbp + 0xa8], rcx
mov rax, qword [rbp + 0x48]
mov edx, dword [rcx + 0x30]
mov r8, qword [rcx + 8]
add edx, 0xffffffff
imul rdx, qword [rbp + 0xc8]
mov rbp, qword [rax]
mov rcx, rax
call qword [rbp + 0x90]
mov ebp, r14d
jmp 0x459daf
call fcn.00430480
xor eax, eax
mov qword [rsp + 0x80], rax
test ebp, ebp
mov r14, qword [rsp + 0x48]
je 0x44c1d0
jmp 0x45eb4a
xorpd xmm0, xmm0
movsd qword [rdi], xmm0
mov ecx, eax
xor ecx, 0xdbf
and ecx, eax
mov eax, ecx
not eax
and eax, 0xd4b
mov edx, ecx
and edx, 0xfffff2b4
or edx, eax
xor edx, 0xd43
and ecx, 8
or ecx, edx
mov word [rsi], cx
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r12
mov r14, qword [rsp + 0x48]
add rbx, 0x18
jmp 0x44c1d4
mov rax, qword [r13 + 8]
mov qword [rsp + 0xc0], rax
movdqu xmmword [r13 + 8], xmm13
test rax, rax
je 0x45bc5d
mov qword [rsp + 0x98], r15
mov qword [rsp + 0x48], r14
mov esi, 1
lea r15, [rsp + 0xc0]
mov r14, rax
mov rax, qword [rax + 8]
mov qword [rsp + 0xc0], rax
mov qword [r14 + 0x10], r13
mov rcx, r15
mov edx, esi
call fcn.0047c4f0
mov qword [r14 + 8], rax
add esi, 1
mov rax, qword [rsp + 0xc0]
mov r13, r14
test rax, rax
jne 0x459e4e
mov qword [rbx + 0x10], r14
jmp 0x45d8d6
mov rcx, rsi
call qword [0x005f6038]
jmp 0x4515ee
movzx eax, word [rbx + 0x1a6]
jmp 0x452cc0
mov rax, qword [r15 + 0x1d8]
mov qword [rsi], rax
mov qword [r15 + 0x1d8], rsi
jmp 0x44fb9b
xor eax, eax
xor edx, edx
div dword [r11 + 8]
shl rdx, 4
lea r11, [r8 + rdx]
add r11, 8
add rdx, r8
mov r8d, dword [rdx]
lea rax, [0x0213b3c8]
test r8d, r8d
je 0x459f27
mov r11, qword [r11]
add r8d, 0xffffffff
mov rdx, qword [r11 + 0x18]
xor edi, edi
jmp 0x459f04
lea rsi, [0x005fade0]
movzx ecx, byte [rcx + rsi]
cmp cl, byte [rax + rsi]
jne 0x459f16
add rdi, 1
movzx ecx, byte [rdx + rdi]
movzx eax, byte [rbx + rdi]
cmp cl, al
jne 0x459ef0
test cl, cl
jne 0x459f00
jmp 0x459f24
test r8d, r8d
jne 0x459ee1
lea rax, [0x0213b3c8]
jmp 0x459f27
mov rax, r11
mov rax, qword [rax + 0x10]
test rax, rax
mov rbx, r9
mov rdi, r10
je 0x44f7eb
add rax, 0x58
mov rdx, qword [rax]
test rdx, rdx
je 0x44f7eb
mov rcx, rax
lea rax, [rdx + 0x40]
cmp rdx, rbp
jne 0x459f3e
mov rax, qword [rax]
mov qword [rcx], rax
jmp 0x44f7eb
mov rcx, r15
call fcn.00404550
mov rbp, rax
test rax, rax
je 0x459f81
mov rcx, rbp
mov rdx, rsi
mov r8, r15
call fcn.005f4c20
jmp 0x459f83
xor ebp, ebp
mov r13, qword [rsp + 0x58]
mov rax, qword [rsp + 0x148]
mov qword [rax], rbp
mov rsi, qword [rbx + 0x10]
test rsi, rsi
mov ebp, r14d
mov r14, qword [rsp + 0x48]
je 0x459fff
cmp dword [0x005f6010], 0
je 0x459ff6
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x459fbf
call qword [0x005f6090]
mov rcx, rsi
call qword [0x005f6048]
cdqe
sub qword [0x0213b040], rax
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rsi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x459fff
call qword [0x005f60a0]
jmp 0x459fff
mov rcx, rsi
call qword [0x005f6038]
mov qword [rbx + 0x10], 0
cmp dword [rsp + 0xe4], 0
jle 0x45a05e
mov eax, dword [r12]
mov ecx, eax
not ecx
or ecx, 0xfdfd
movzx ecx, cx
cmp ecx, 0xfdfd
movabs rsi, 0xd4a2a94b0460db81
jne 0x45a04c
mov rcx, qword [rsp + 0x78]
cmp byte [rcx + rdi + 0x16], 1
jne 0x45a04c
mov rax, qword [rsp + 0x78]
mov r8, qword [rax + rdi + 8]
jmp 0x45a081
mov ecx, eax
xor ecx, 0xfffe
test cx, ax
je 0x45a06f
xor r8d, r8d
jmp 0x45a081
mov rbx, qword [rsp + 0x68]
movabs rsi, 0xd4a2a94b0460db81
jmp 0x45a09e
mov rcx, qword [rsp + 0x80]
mov dl, 1
call fcn.0044a3f0
mov r8, rax
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
lea rdx, [0x005faef2]
call fcn.004496d0
mov ebp, dword [rsp + 0xe4]
mov ecx, dword [r12]
not ecx
or ecx, 0xfffd
mov rax, qword [rsp + 0x78]
add rax, rdi
add rax, 0x16
cmp cx, 0xffff
je 0x45a0df
mov cl, byte [rsp + 0x67]
cmp byte [rax], cl
mov r15, qword [rsp + 0x70]
mov rdi, r13
je 0x45a0ed
mov rcx, qword [rsp + 0x80]
mov dl, byte [rsp + 0x67]
call fcn.0044b3f0
jmp 0x45a0ed
mov cl, byte [rsp + 0x67]
mov byte [rax], cl
mov r15, qword [rsp + 0x70]
mov rdi, r13
xor eax, eax
mov qword [rsp + 0x80], rax
test ebp, ebp
mov r13, qword [rsp + 0x50]
je 0x44c1d0
jmp 0x45eb4a
mov rcx, rsi
call qword [0x005f6038]
jmp 0x44fb9b
not ebp
or ebp, 0xffffffed
cmp ebp, 0xffffffff
je 0x45dd69
mov rbp, qword [rsp + 0x78]
mov rcx, qword [rbp + rax + 8]
mov edx, dword [rbp + rax + 0x10]
mov r8b, byte [rbp + rax + 0x16]
call fcn.0044aa50
ucomisd xmm0, xmm7
jne 0x44c1d0
jp 0x44c1d0
jmp 0x45dd69
or ebp, 0xffffffed
mov r12, r14
cmp ebp, 0xffffffff
je 0x45bc84
mov rbp, qword [rsp + 0x78]
mov rcx, qword [rbp + rax + 8]
mov edx, dword [rbp + rax + 0x10]
mov r8b, byte [rbp + rax + 0x16]
call fcn.0044aa50
jmp 0x45bc88
mov eax, r9d
xor eax, 0xffed
test eax, r9d
je 0x45b355
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + r8 + 8]
test rcx, rcx
je 0x45b355
lea rdi, [rax + r12]
add rdi, 0x14
mov edx, dword [rax + r8 + 0x10]
mov r8b, byte [rax + r8 + 0x16]
mov rsi, r10
call fcn.0044b070
mov r10, rsi
mov rsi, rax
movzx r13d, word [rdi]
jmp 0x45b357
or ecx, 0xffffffed
cmp ecx, 0xffffffff
je 0x45b484
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + rdi + 8]
test rcx, rcx
je 0x45b484
mov edx, dword [rax + rdi + 0x10]
mov r8b, byte [rax + rdi + 0x16]
call fcn.0044b070
jmp 0x45b486
add dword [rcx + 0x1b8], 1
mov edx, 0x3f8
call fcn.004299f0
test rax, rax
je 0x4531d5
mov rcx, qword [rsi]
mov qword [rax], rcx
mov qword [rsi], rax
lea rcx, [rax + 8]
mov word [rsi + 0x30], 0x29
add rax, 0x20
mov qword [rsi + 0x20], rax
mov qword [rcx], rdi
mov qword [rcx + 8], 0
mov rax, qword [rsi + 0x18]
test rax, rax
je 0x45a260
cmp qword [rax], rdi
jl 0x45a25a
movzx ebp, word [rsi + 0x32]
mov edx, ebp
xor edx, 1
and edx, ebp
mov word [rsi + 0x32], dx
add rax, 8
jmp 0x45a264
lea rax, [rsi + 0x10]
mov rdi, qword [rsp + 0x58]
mov qword [rax], rcx
mov qword [rsi + 0x18], rcx
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
add rcx, 1
lea rdx, [rsp + 0xc0]
call fcn.0043c820
mov rcx, qword [rsp + 0xc0]
mov rax, rcx
shr rax, 0x20
cmp rax, 1
mov eax, 0
sbb eax, eax
not eax
or eax, ecx
cmp eax, 7
mov qword [rsp + 0x58], r13
je 0x45a2d9
lea ecx, [rax - 1]
cmp ecx, 8
ja 0x45a2d9
mov cl, 1
test cl, cl
je 0x45a2d9
mov al, byte [rbx + 0x5c]
mov ecx, eax
xor cl, 0xfe
and cl, al
mov byte [rbx + 0x5c], cl
jmp 0x45a2fc
cmp eax, 0xb
setl cl
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete al
test cl, al
jne 0x45a2f8
xor cl, al
jne 0x45a2f8
and byte [rbx + 0x5c], 2
jmp 0x45a2fc
mov byte [rbx + 0x5c], 0
mov rax, qword [rsp + 0x78]
lea r15, [rax + rbp]
add r15, 8
mov r12d, dword [rax + rbp + 0x10]
movsxd rax, r12d
mov ecx, 1
mov esi, r12d
mov r13, qword [rsp + 0x50]
nop
shr rax, 7
add ecx, 1
add esi, 1
test rax, rax
jne 0x45a320
lea edi, [r12 + 0x10]
mov eax, dword [rbx + 4]
xor ebp, ebp
test eax, eax
je 0x45a394
cmp qword [rbx + 0x40], 0
je 0x45a363
mov ecx, dword [rbx + 0x50]
test ecx, ecx
setne dl
lea ebp, [rcx + rdi]
cmp ebp, eax
setle al
cmp dl, al
je 0x45a392
test ecx, ecx
mov ebp, 0
jne 0x45a378
jmp 0x45a394
mov ecx, dword [rbx + 0x48]
cmp ecx, eax
jg 0x45a378
cmp ecx, dword [rbx]
jle 0x45a394
mov eax, dword [0x0213b100]
test eax, eax
je 0x45a394
mov rcx, rbx
call fcn.00470e40
mov ebp, eax
mov dword [rbx + 0x48], 0
mov dword [rbx + 0x50], 0
jmp 0x45a394
xor ebp, ebp
add dword [rbx + 0x48], esi
cmp esi, dword [rbx + 8]
jle 0x45a39f
mov dword [rbx + 8], esi
mov rax, qword [rbx + 0x40]
test rax, rax
je 0x45a45f
mov ecx, dword [rbx + 0x50]
add edi, ecx
movsxd rsi, dword [rbx + 0x54]
cmp edi, esi
jle 0x45a434
mov r14d, ebp
mov rdx, qword [rbx + 0x38]
mov rbp, rdx
movabs rcx, 0xcea8e5d64377a022
sub rbp, rcx
sub rbp, rax
add rbp, rcx
movsxd rcx, edi
add rsi, rsi
cmp rsi, rcx
jl 0x45a3d9
cmp rdx, 1
mov edi, 0
sbb edi, edi
movsxd rdx, dword [rbx + 4]
cmp rsi, rdx
cmovg rsi, rdx
cmp rsi, rcx
cmovl rsi, rcx
mov rcx, rax
mov rdx, rsi
call fcn.00404830
test rax, rax
je 0x45f31e
or edi, ebp
js 0x45a422
mov ecx, edi
mov rdx, rax
add rdx, rcx
mov qword [rbx + 0x38], rdx
mov qword [rbx + 0x40], rax
mov dword [rbx + 0x54], esi
mov ecx, dword [rbx + 0x50]
mov ebp, r14d
mov r14, qword [rsp + 0x48]
movsxd rcx, ecx
mov rsi, rax
add rsi, rcx
add r12d, 0x17
mov edx, r12d
xor edx, 7
and edx, r12d
add ecx, edx
mov dword [rbx + 0x50], ecx
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x45a47b
sub ecx, eax
mov dword [rsi + 8], ecx
jmp 0x45a47b
movsxd rcx, edi
call fcn.00404550
test rax, rax
je 0x45f211
mov rsi, rax
mov rax, qword [rbx + 0x38]
mov qword [rsi + 8], rax
mov rdi, qword [rsp + 0x70]
lea rcx, [rsi + 0x10]
mov rdx, qword [r15]
movsxd r8, dword [r15 + 8]
call fcn.005f4c20
mov eax, dword [r15 + 8]
mov dword [rsi], eax
mov qword [rbx + 0x38], rsi
xor eax, eax
mov qword [rsp + 0x80], rax
test ebp, ebp
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
movabs rsi, 0xd4a2a94b0460db81
mov r15, rdi
mov rdi, rax
je 0x44c1d0
jmp 0x45eb4a
mov dword [rsp + 0xc0], 0
mov al, byte [rbx + 0x16]
cmp al, 5
je 0x45a4e1
test al, al
jne 0x45a4f3
cmp byte [rbx + 0x11], 0
je 0x45c0d7
cmp al, 5
je 0x45a4f3
mov byte [rbx + 0x16], 1
mov rbp, rdx
mov rcx, qword [rbx]
mov rdx, qword [rbx + 0x130]
xor r8d, r8d
lea r9, [rsp + 0xc0]
call qword [rcx + 0x38]
test eax, eax
sete dl
cmp dword [rsp + 0xc0], 0
sete cl
cmp dl, cl
je 0x45a52e
test eax, eax
jne 0x45a52e
mov rcx, rbx
call fcn.0043f660
test eax, eax
jne 0x45c0f1
mov rdx, rbp
mov rcx, qword [rbx + 0x128]
test rcx, rcx
jne 0x4595a3
jmp 0x45bed9
mov rcx, qword [r9 + 0x48]
mov r8d, dword [r9 + 4]
mov rdx, r9
mov rsi, r9
call fcn.004695a0
mov ebp, eax
test rsi, rsi
je 0x45d7d5
mov rcx, rsi
mov rcx, qword [rsi + 0x70]
mov eax, dword [rcx + 0x34]
mov edx, eax
xor edx, 0xffdf
test dx, ax
je 0x45c3c2
mov esi, ebp
mov rbp, qword [rcx + 0x28]
add dword [rbp + 0x98], 0xffffffff
mov rax, qword [rbp + 0xa8]
mov qword [rcx + 0x20], rax
mov qword [rbp + 0xa8], rcx
mov rax, qword [rbp + 0x48]
mov edx, dword [rcx + 0x30]
mov r8, qword [rcx + 8]
add edx, 0xffffffff
imul rdx, qword [rbp + 0xc8]
mov rbp, qword [rax]
mov rcx, rax
call qword [rbp + 0x90]
mov ebp, esi
jmp 0x45d7d5
mov rax, qword [rcx + 0x1c8]
mov qword [rsi], rax
mov r15, rcx
mov qword [rcx + 0x1c8], rsi
jmp 0x4548b8
mov rcx, qword [r12 + 8]
movzx eax, word [rcx + 0x1a4]
cmp eax, 0x3f7
mov rbx, qword [rsp + 0x68]
ja 0x45b80c
cmp dword [rcx + 0x1a0], 0
je 0x45c7db
cmp byte [rcx + 0x67], 0
jne 0x45da45
jmp 0x45d82a
mov ebp, eax
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
jmp 0x454a81
mov rax, qword [r13 + 0x18]
mov rax, qword [rax + 0x50]
movzx ecx, byte [rax + 0x40]
shl ecx, 0x18
movzx edx, byte [rax + 0x41]
shl edx, 0x10
mov ebp, edx
not ebp
mov ebx, ecx
not ebx
and ebp, 0x22fe8033
and edx, 0x10000
or edx, ebp
and ebx, 0x22fe8033
and ecx, 0xdd000000
or ecx, ebx
xor ecx, edx
movzx edx, byte [rax + 0x42]
shl edx, 8
or edx, ecx
movzx eax, byte [rax + 0x43]
mov ecx, edx
not ecx
mov ebp, eax
not ebp
mov ebx, ecx
and ebx, 0xbe6fead9
and edx, 0x41901500
or edx, ebx
or ecx, ebp
and ebp, 0xbe6fead9
and eax, 0x26
or eax, ebp
xor eax, edx
not ecx
or ecx, eax
je 0x45c96f
lea rcx, [rsp + 0xc0]
lea rdx, [0x005fd79d]
call fcn.0047b4b0
jmp 0x45c96f
mov rbx, rdi
movapd xmm6, xmm7
xorpd xmm7, xmm7
mov eax, esi
xor eax, 0xfffb
test ax, si
je 0x45a6e8
mov rsi, qword [rsp + 0xc0]
jmp 0x44fbcc
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r12
mov r14, qword [rsp + 0x48]
jmp 0x45dd69
movapd xmm6, xmm7
xorpd xmm7, xmm7
mov eax, ebx
not eax
or eax, 0xfffb
cmp ax, 0xffff
je 0x45a74d
mov eax, ebx
xor eax, 0xdbf
and eax, ebx
mov ecx, eax
and ecx, 4
xor eax, 4
or eax, ecx
mov word [rdi], ax
mov rbx, rbp
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r13
mov r13, r14
mov r14, qword [rsp + 0x48]
add rbx, 0x18
jmp 0x44c1d4
mov rbx, rbp
cmp dword [rbp + 8], 0
movabs rsi, 0xd4a2a94b0460db81
je 0x45f350
mov rdi, r13
mov r13, r14
mov r14, qword [rsp + 0x48]
jmp 0x45dd69
mov rbx, qword [rbx + 0x30]
mov rcx, rbx
call fcn.004412b0
mov rax, qword [rbx + 0x30]
mov qword [rsp + 0xc0], rax
xor ecx, ecx
mov qword [rsp + 0x80], rcx
mov qword [rsi], rax
jmp 0x45c5b5
xorpd xmm0, xmm0
cmpneqsd xmm0, xmm7
movq rsi, xmm0
and esi, 1
movsxd rax, dword [rdi + 8]
imul rax, rax, 0x38
mov rdx, qword [rsp + 0x78]
lea rcx, [rdx + rax]
movzx ebx, word [rdx + rax + 0x14]
mov edx, ebx
xor edx, 0xffdb
test edx, ebx
je 0x45a7e0
xor ebp, ebp
cmp qword [rcx], 0
setne bpl
jmp 0x45a885
mov edx, ebx
xor edx, 0xfffe
mov ebp, 2
test edx, ebx
jne 0x45a885
mov edx, ebx
not edx
or edx, 0xfffffff7
cmp edx, 0xffffffff
je 0x45a807
movsd xmm0, qword [rcx]
jmp 0x45a878
mov ecx, ebx
xor ecx, 0xffed
test ecx, ebx
je 0x45a874
mov rbp, qword [rsp + 0x78]
mov rcx, qword [rbp + rax + 8]
mov edx, dword [rbp + rax + 0x10]
mov r8b, byte [rbp + rax + 0x16]
call fcn.0044aa50
jmp 0x45a878
or ebx, 0xffffffed
cmp ebx, 0xffffffff
je 0x45c004
mov rbp, qword [rsp + 0x78]
mov rcx, qword [rbp + rax + 8]
mov edx, dword [rbp + rax + 0x10]
mov r8b, byte [rbp + rax + 0x16]
call fcn.0044aa50
jmp 0x45c008
xorpd xmm0, xmm0
cmpneqsd xmm0, xmm7
movq rax, xmm0
and eax, 1
test eax, eax
jne 0x45dd69
jmp 0x44c1d0
xorpd xmm0, xmm0
cmpneqsd xmm0, xmm7
movq rbp, xmm0
and ebp, 1
lea rax, [rsi + rsi*2]
add rax, rbp
mov rbx, rdi
cmp byte [rdi], 0x2c
lea rcx, [0x005fd1df]
lea rdx, [0x005fd1d6]
cmove rcx, rdx
movzx eax, byte [rcx + rax]
movsxd rcx, dword [rdi + 0xc]
cmp rax, 2
jne 0x45a8dd
imul rax, rcx, 0x38
mov rbp, qword [rsp + 0x78]
mov ecx, dword [rbp + rax + 0x14]
mov edx, ecx
xor edx, 0xdbf
and edx, ecx
mov ecx, edx
and ecx, 1
xor edx, 1
or edx, ecx
mov word [rbp + rax + 0x14], dx
jmp 0x45b4a8
imul rcx, rcx, 0x38
mov rbp, qword [rsp + 0x78]
mov qword [rbp + rcx], rax
mov eax, dword [rbp + rcx + 0x14]
mov edx, eax
not edx
or edx, 0x815
and edx, 0x7a55
and eax, 0xffff8000
or eax, edx
xor eax, 0x7a51
mov word [rbp + rcx + 0x14], ax
jmp 0x45b4a8
test rcx, rcx
jle 0x45a93c
mov rax, rsi
neg rax
movabs rdx, 0x7fffffffffffffff
sub rdx, rcx
cmp rdx, rax
jge 0x45a93c
mov al, 1
test al, al
jne 0x455ec7
sub rcx, rsi
jmp 0x45baac
and r9d, 0xfffffffc
xor esi, esi
movabs r10, 0xbefdcc9f76ba65b8
movabs r11, 0xba559618187b766e
movabs r8, 0x1e70295049764bd5
mov rbp, qword [r12 + rsi*8 + 0x90]
movzx eax, word [rbp + 0x18]
imul rax, rdx
mov rbp, rsi
not rbp
mov rdi, r8
not rdi
mov rdx, rbp
and rdx, r8
mov rcx, rsi
and rcx, rdi
or rcx, rdx
mov rdx, r8
and rdx, 0xfffffffffffffffe
mov ebx, edi
and ebx, 1
or rbx, rdx
xor rbx, rcx
or edi, r8d
and edi, esi
and edi, 1
or rdi, rbx
mov rcx, qword [r12 + rdi*8 + 0x90]
movzx edi, word [rcx + 0x18]
imul rdi, rax
mov rcx, r11
not rcx
mov rdx, rbp
and rdx, r11
mov rax, rsi
and rax, rcx
or rax, rdx
mov edx, ecx
and edx, 2
add rdx, qword [rsp + 0x210]
xor rdx, rax
or ecx, r11d
and ecx, esi
and ecx, 2
or rcx, rdx
mov rax, qword [r12 + rcx*8 + 0x90]
movzx eax, word [rax + 0x18]
mov rcx, r10
not rcx
and rbp, r10
mov rdx, rsi
and rdx, rcx
or rdx, rbp
mov ebp, ecx
and ebp, 3
add rbp, qword [rsp + 0x208]
xor rbp, rdx
or ecx, r10d
and ecx, esi
and ecx, 3
or rcx, rbp
mov rcx, qword [r12 + rcx*8 + 0x90]
movzx edx, word [rcx + 0x18]
imul rdx, rax
imul rdx, rdi
add rsi, 4
add r9, 0xfffffffffffffffc
jne 0x45a968
test r15, r15
movabs rdi, 0x4cecf66ed5999f75
je 0x45aa8f
lea rcx, [r12 + rsi*8]
add rcx, 0x90
xor ebx, ebx
mov rbp, r15
mov rax, qword [rcx + rbx*8]
movzx eax, word [rax + 0x18]
imul rdx, rax
add rsi, 1
add rbp, rdi
mov rax, rdi
not rax
add rbp, rax
add rbx, 1
cmp r15, rbx
jne 0x45aa6a
cmp rdx, 8
jae 0x45aabd
cmp rdx, 2
mov r15, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
jae 0x45b63d
xor eax, eax
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r13
jmp 0x45b69c
mov ax, 0x28
cmp rdx, 0x100
mov r15, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
jb 0x45b660
mov ax, 0x28
mov rbp, rdx
movabs rsi, 0xd4a2a94b0460db81
add eax, 0x28
shr rbp, 4
cmp rdx, 0xfff
mov rdx, rbp
ja 0x45aae9
jmp 0x45b66d
xor ebx, ebx
mov rdi, r12
cmp byte [rsi + 0x11], 0
jne 0x4584ff
jmp 0x45850d
lea rdx, [rsp + 0x138]
call fcn.0043c820
mov rax, qword [rsp + 0x138]
mov rcx, rax
shr rcx, 0x20
mov esi, 0xffffffff
mov rdi, r12
jne 0x45ab46
mov esi, eax
cmp eax, 3
jb 0x45e3ee
cmp esi, dword [rsp + 0xd0]
ja 0x45e3ee
mov rcx, qword [rsp + 0xc8]
lea eax, [rsi - 1]
movzx edx, byte [rcx + rax]
test dl, dl
jns 0x45b0ef
add rcx, rax
movzx eax, byte [rcx + 1]
test al, al
js 0x45ab91
shl edx, 7
mov ecx, edx
xor ecx, 0x4000
and ecx, edx
mov edx, ecx
and edx, eax
xor ecx, eax
or ecx, edx
mov edx, ecx
jmp 0x45b0ef
movzx ebp, byte [rcx + 2]
test bpl, bpl
js 0x45b0c4
shl edx, 0xe
or edx, ebp
mov ecx, edx
xor ecx, 0x200080
and ecx, edx
shl eax, 7
mov ebp, eax
xor ebp, 0x4000
and ebp, eax
mov edx, ecx
not edx
mov eax, ebp
not eax
mov edi, edx
and edi, 0xdef80450
and ecx, 0x7c0af
or ecx, edi
mov rdi, r12
or edx, eax
and eax, 0xdef80450
and ebp, 0x7b80
or ebp, eax
xor ebp, ecx
not edx
or edx, ebp
jmp 0x45b0ef
mov rax, qword [rsp + 0x78]
add rax, rbx
add rax, 8
mov rcx, qword [rax]
mov r8d, dword [rax + 8]
mov r9b, byte [rax + 0xe]
mov rdx, r14
call fcn.0044b0a0
test eax, eax
je 0x45c068
movsd qword [r14], xmm6
mov ax, 8
movzx ecx, word [r15]
mov edx, ecx
not edx
or edx, 2
movzx eax, ax
mov esi, eax
not esi
mov edi, edx
and edi, 0xffffc498
and ecx, 0x3b65
or ecx, edi
or edx, esi
and esi, 0xffffc498
and eax, 7
or eax, esi
xor eax, ecx
not edx
or edx, eax
mov word [r15], dx
movapd xmm6, xmm7
xorpd xmm7, xmm7
movzx eax, word [r15]
movzx esi, ax
mov eax, esi
xor eax, 0xffdb
test eax, esi
je 0x45ac77
mov rbx, qword [r14]
jmp 0x45acc5
mov eax, esi
not eax
or eax, 0xfffffff7
cmp eax, 0xffffffff
je 0x45ac92
movsd xmm0, qword [r14]
call fcn.0044b040
mov rbx, rax
jmp 0x45acc5
mov eax, esi
xor eax, 0xffed
test eax, esi
je 0x45acc3
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + rbx + 8]
test rcx, rcx
je 0x45acc3
mov edx, dword [rax + rbx + 0x10]
mov r8b, byte [rax + rbx + 0x16]
call fcn.0044b070
mov rbx, rax
movzx esi, word [r15]
jmp 0x45acc5
xor ebx, ebx
mov word [r15], r12w
mov eax, esi
not eax
mov ecx, eax
or ecx, 0xffffffdb
cmp ecx, 0xffffffff
je 0x45ae9b
mov r14, qword [rsp + 0x48]
mov rcx, qword [r13 + 0x30]
xor r15d, r15d
mov rdx, rbx
xor r8d, r8d
lea r9, [rsp + 0x138]
call fcn.004612f0
mov qword [r13 + 0x50], rbx
test eax, eax
mov rbx, qword [rsp + 0x68]
jne 0x45ea40
mov eax, dword [rsp + 0x138]
cmp ebp, 0x16
jl 0x45ae25
test eax, eax
js 0x45ad39
setne al
cmp ebp, 0x17
sete cl
cmp cl, al
je 0x45aef4
cmp ebp, 0x17
jne 0x45aef4
mov dword [rsp + 0x138], 0
mov rsi, qword [r13 + 0x30]
mov word [rsi + 0x46], 0
and byte [rsi + 1], 0xf9
cmp byte [rsi], 0
jne 0x45afc4
mov rax, qword [rsi + 0x88]
movzx ecx, word [rsi + 0x56]
lea edx, [rcx + 1]
mov word [rsi + 0x56], dx
cmp dx, word [rax + 0x18]
jae 0x45afc0
cmp byte [rax + 8], 0
jne 0x45c07c
mov r13, rbx
lea r12, [rsi + 0x88]
movsx rbp, byte [rsi + 0x54]
cmp rbp, 0x13
jge 0x45f0dc
movzx edi, word [rsi + 0x56]
mov rcx, qword [rax + 0x50]
mov rdx, qword [rax + 0x60]
movzx ebx, word [rax + 0x1a]
movzx edx, word [rdx + rdi*2]
shl rdx, 0x30
bswap rdx
xor ebx, edx
not ebx
and ebx, edx
mov edx, dword [rcx + rbx]
bswap edx
mov rcx, qword [rsi + 0x20]
mov word [rsi + 0x46], 0
movzx r8d, byte [rsi + 1]
mov ebx, r8d
xor bl, 6
and bl, r8b
mov byte [rsi + 1], bl
mov word [rsi + rbp*2 + 0x58], di
mov qword [rsi + rbp*8 + 0x90], rax
mov word [rsi + 0x56], 0
lea eax, [rbp + 1]
mov byte [rsi + 0x54], al
movzx eax, byte [rsi + 2]
mov dword [rsp + 0x20], eax
mov r8, r12
mov r9, rsi
call fcn.004681b0
test eax, eax
jne 0x45c071
mov rax, qword [r12]
cmp byte [rax + 8], 0
je 0x45ad8b
mov rbx, r13
jmp 0x45c07c
test eax, eax
jg 0x45ae44
cmp ebp, 0x14
jne 0x45af88
test eax, eax
jne 0x45af88
mov al, 1
test al, al
je 0x45af88
mov dword [rsp + 0x138], 0
mov rcx, qword [r13 + 0x30]
and byte [rcx + 1], 0xf1
mov word [rcx + 0x46], 0
cmp byte [rcx], 0
je 0x45af13
call fcn.0046aa50
test eax, eax
je 0x45c07c
cmp eax, 0x65
jne 0x45eedd
mov dword [rsp + 0x138], 1
mov r13, qword [rsp + 0x50]
movabs rsi, 0xd4a2a94b0460db81
jmp 0x45c096
mov ecx, esi
xor ecx, 0xfff7
test ecx, esi
mov r15, qword [rsp + 0x70]
je 0x45af3d
mov qword [rsp + 0x228], rbx
fild qword [rsp + 0x228]
fld qword [r14]
fucomi st(1)
seta cl
fxch st(1)
fucomi st(1)
seta dl
mov eax, ebp
xor eax, 0xfffffffe
cmp dl, cl
je 0x45afa0
fucomi st(1)
jbe 0x45afa0
fstp st(0)
fstp st(0)
and eax, ebp
cmp eax, 1
adc ebp, 0xffffffff
jmp 0x45acdb
mov dword [rsp + 0x138], 0
mov r13, qword [rsp + 0x50]
movabs rsi, 0xd4a2a94b0460db81
jmp 0x45c0af
movzx eax, word [rcx + 0x56]
test ax, ax
je 0x45ae66
mov rdx, qword [rcx + 0x88]
cmp byte [rdx + 8], 0
je 0x45ae66
add eax, 0xffffffff
mov word [rcx + 0x56], ax
jmp 0x45c07c
cmp bpl, 0x15
seta cl
or eax, 0xfffffffe
cmp eax, 0xffffffff
setne al
test cl, al
jne 0x45affe
xor cl, al
jne 0x45affe
mov rcx, qword [r13 + 0x30]
lea rdx, [rsp + 0x138]
call fcn.00461120
xor r15d, r15d
test eax, eax
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x48]
je 0x45c07c
jmp 0x45ea40
mov rcx, qword [r13 + 0x30]
xor eax, eax
cmp byte [rcx], 0
setne al
mov dword [rsp + 0x138], eax
jmp 0x45c083
test eax, ebp
sete al
fxch st(1)
fucompi st(1)
fstp st(0)
seta cl
xor cl, al
not cl
and cl, al
movzx eax, cl
add eax, ebp
mov ebp, eax
jmp 0x45acdb
mov word [rsi + 0x56], cx
mov rcx, rsi
call fcn.0046a2b0
test eax, eax
je 0x45c07c
cmp eax, 0x65
mov r13, qword [rsp + 0x50]
mov ebp, eax
jne 0x45f113
mov dword [rsp + 0x138], 1
movabs rsi, 0xd4a2a94b0460db81
jmp 0x45c096
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
movabs rsi, 0xd4a2a94b0460db81
jmp 0x45dd69
mov ebp, ebx
mov r15, qword [rsp + 0x70]
mov eax, ebx
xor eax, 0xfffd
test eax, ebx
sete al
setne dl
not ebx
or ebx, 0xffffffd3
cmp ebx, 0xffffffff
setne r8b
sete cl
xor cl, dl
mov rdi, qword [rsp + 0x58]
mov dword [rsp + 0x158], r10d
jne 0x45b0ad
or al, r8b
xor al, 1
mov dl, byte [rsp + 0x67]
jne 0x45b0ad
mov rcx, qword [rsp + 0xa0]
mov r8b, 1
call fcn.0044a7d0
mov rax, qword [rsp + 0x98]
mov eax, dword [rax]
mov ecx, eax
not ecx
or ecx, 0xc9e
mov edx, ebp
not edx
or edx, 0x3040
and ecx, 0x3cde
and eax, 0xffffc200
or eax, ecx
and edx, 0x3cde
and ebp, 0x121
or ebp, edx
xor ebp, eax
mov dword [rsp + 0x88], ebp
mov rbx, rsi
mov r11, qword [rsp + 0x168]
jmp 0x45dcad
lea rdx, [rsp + 0x138]
call fcn.0043c820
mov rax, qword [rsp + 0x138]
mov rcx, rax
shr rcx, 0x20
cmp rcx, 1
mov edx, 0
sbb edx, edx
not edx
or edx, eax
lea eax, [rdx - 1]
cmp eax, 8
seta al
cmp edx, 7
sete cl
test cl, al
jne 0x45e3ee
xor cl, al
jne 0x45e3ee
mov eax, edx
lea rcx, [0x005fd220]
movzx eax, byte [rax + rcx]
mov ecx, dword [rsp + 0xd0]
add esi, eax
cmp ecx, esi
jb 0x45e3ee
sub ecx, eax
add rcx, qword [rsp + 0xc8]
lea r8, [rsp + 0x180]
call fcn.00460110
mov rdi, qword [rsp + 0x180]
cmp dword [rsp + 0xe0], 0
je 0x45b162
lea rcx, [rsp + 0xc0]
call fcn.00449ce0
mov rbx, qword [rsp + 0x68]
cmp byte [rbx], 0x8d
jne 0x45b1b0
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 0xc]
mov rax, qword [rax + rcx*8]
mov word [rax + 2], 0x100
mov qword [rax + 0x50], rdi
mov dword [rax + 0x20], 0
mov rcx, qword [rbx + 0x10]
mov qword [rax + 0x10], rcx
mov qword [rax + 0x28], r13
xor eax, eax
mov qword [rsp + 0x80], rax
mov r13, qword [rsp + 0x50]
jmp 0x45b4a8
mov rax, qword [rsp + 0x140]
mov rax, qword [rax]
movsxd rcx, dword [rbx + 8]
imul rcx, rcx, 0x38
lea rsi, [rax + rcx]
mov ebp, dword [rax + rcx + 0x14]
mov edx, ebp
xor edx, 0x6fff
test dx, bp
je 0x45b1e2
mov rcx, rsi
call fcn.00467410
jmp 0x45b1ee
add rax, rcx
add rax, 0x14
mov word [rax], 4
mov r13, qword [rsp + 0x50]
mov qword [rsi], rdi
xor eax, eax
mov qword [rsp + 0x80], rax
jmp 0x45b4a8
xorpd xmm6, xmm6
movzx eax, word [rdi]
mov ecx, eax
xor ecx, 0xfff7
test ecx, eax
je 0x45b21f
movsd xmm0, qword [r8]
jmp 0x45b27c
mov ecx, eax
not ecx
or ecx, 0xffffffdb
cmp ecx, 0xffffffff
je 0x45b235
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [r8]
jmp 0x45b27c
mov ecx, eax
xor ecx, 0xffed
test ecx, eax
je 0x45b278
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + r15 + 8]
mov edx, dword [rax + r15 + 0x10]
mov qword [rsp + 0x88], r8
mov r8b, byte [rax + r15 + 0x16]
mov rsi, r10
mov rbp, r11
call fcn.0044aa50
mov r8, qword [rsp + 0x88]
mov r11, rbp
mov r10, rsi
jmp 0x45b27c
xorpd xmm0, xmm0
mov al, byte [rbx]
cmp al, 0x6c
jae 0x45b296
cmp al, 0x6b
je 0x45b2ce
cmp al, 0x6a
jne 0x45b2b8
mov rdi, rbx
addsd xmm6, xmm0
jmp 0x45bd3f
je 0x45b2de
cmp al, 0x6d
jne 0x45b2b8
ucomisd xmm6, xmm7
jne 0x45b2a8
jnp 0x45bd8e
mov rdi, rbx
divsd xmm0, xmm6
movapd xmm6, xmm0
jmp 0x45bd3f
movzx eax, word [r14]
mov ecx, eax
xor ecx, 0xffdb
test ecx, eax
je 0x45b2ea
mov rsi, qword [r13]
jmp 0x45b314
mov rdi, rbx
subsd xmm0, xmm6
movapd xmm6, xmm0
jmp 0x45bd3f
mov rdi, rbx
mulsd xmm6, xmm0
jmp 0x45bd3f
mov ecx, eax
not ecx
or ecx, 0xfffffff7
cmp ecx, 0xffffffff
je 0x45b71a
movsd xmm0, qword [r13]
mov rsi, r11
mov rbp, r8
call fcn.0044b040
mov r8, rbp
mov r11, rsi
mov rsi, rax
mov rbp, qword [rsp + 0x78]
movzx eax, word [rdi]
mov ecx, eax
xor ecx, 0xffdb
test ecx, eax
je 0x45b330
mov rax, qword [r8]
jmp 0x45bd0d
mov ecx, eax
not ecx
or ecx, 0xfffffff7
cmp ecx, 0xffffffff
je 0x45b760
movsd xmm0, qword [r8]
mov rdi, r11
call fcn.0044b040
mov r11, rdi
jmp 0x45bd0d
xor esi, esi
mov rax, qword [rsp + 0x78]
add rax, r12
movzx ebp, r13w
mov edx, ebp
not edx
mov ecx, edx
or ecx, 0xffffffdb
cmp ecx, 0xffffffff
je 0x45b379
mov rax, qword [rax]
mov r13, r14
jmp 0x45b39b
mov ecx, ebp
xor ecx, 0xfff7
test ecx, ebp
mov r13, r14
je 0x45b438
movq xmm0, qword [rax]
mov rdi, r10
call fcn.0044b040
mov r10, rdi
mov r14, qword [rsp + 0x48]
mov dl, byte [rbx]
cmp dl, 0x67
mov r8, qword [rsp + 0x70]
je 0x45b3bf
cmp dl, 0x66
jne 0x45b3d3
xor rsi, rax
not rsi
and rsi, rax
jmp 0x45d75c
mov rcx, rax
and rcx, rsi
xor rax, rsi
or rax, rcx
mov rsi, rax
jmp 0x45d75c
test rax, rax
je 0x45d75c
mov bl, 0xd1
sub bl, dl
movabs rbp, 0xbf8b2d961f85a1b0
mov rcx, rbp
sub rcx, rax
sub rcx, rbp
cmp rax, 0xffffffffffffffc0
mov ebp, 0x40
cmovle rcx, rbp
test rax, rax
movzx ebp, bl
movzx edx, dl
cmovs edx, ebp
cmovns rcx, rax
cmp rcx, 0x40
jl 0x45b46e
test rsi, rsi
sets al
cmp dl, 0x68
setne cl
xor cl, al
not cl
and cl, al
movzx esi, cl
neg rsi
mov rbx, qword [rsp + 0x68]
jmp 0x45d75c
or edx, 0xffffffed
cmp edx, 0xffffffff
mov r14, qword [rsp + 0x48]
je 0x45b4be
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + r12 + 8]
test rcx, rcx
je 0x45b4be
mov edx, dword [rax + r12 + 0x10]
mov r8b, byte [rax + r12 + 0x16]
mov rdi, r10
call fcn.0044b070
mov r10, rdi
jmp 0x45b3a0
cmp dl, 0x68
mov rbx, qword [rsp + 0x68]
jne 0x45bcf4
shl rsi, cl
jmp 0x45d75c
xor eax, eax
mov rcx, rax
not rcx
movabs rdx, 0x31f5bbe32f9e7e4e
and rcx, rdx
not rdx
and rax, rdx
or rax, rcx
xor rax, rdx
mov qword [rsi], rax
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r12
add rbx, 0x18
jmp 0x44c1d4
xor eax, eax
jmp 0x45b3a0
mov r14, rbx
xor r8d, r8d
mov rcx, qword [rdi + 0x18]
mov rcx, qword [rcx + 0x50]
movzx eax, byte [rcx + 0x34]
shl eax, 0x18
movzx ebx, byte [rcx + 0x35]
shl ebx, 0x10
mov edi, ebx
not edi
mov edx, eax
not edx
and edi, 0x2b3d20cf
and ebx, 0xc20000
or ebx, edi
and edx, 0x2b3d20cf
and eax, 0xd4000000
or eax, edx
xor eax, ebx
movzx edx, byte [rcx + 0x36]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + 0x37]
mov ecx, edx
and ecx, eax
xor edx, eax
or edx, ecx
test r8b, r8b
mov qword [rsp + 0xb0], rdx
je 0x45b546
add dword [r12 + 0x14], 0xffffffff
jne 0x45b546
mov rcx, r12
mov rsi, r9
call fcn.0043ea70
mov r9, rsi
mov rdx, qword [rsp + 0xb0]
cmp edx, ebp
mov rbx, r14
jne 0x45b5d2
mov rcx, qword [r9 + 0x48]
mov r8d, dword [r9 + 4]
mov rdx, r9
mov rsi, r9
call fcn.004695a0
mov ebp, eax
test rsi, rsi
je 0x45c5d5
mov rcx, rsi
mov rcx, qword [rsi + 0x70]
mov eax, dword [rcx + 0x34]
mov edx, eax
xor edx, 0xffdf
test dx, ax
je 0x45c5d0
mov esi, ebp
mov rbp, qword [rcx + 0x28]
add dword [rbp + 0x98], 0xffffffff
mov rax, qword [rbp + 0xa8]
mov qword [rcx + 0x20], rax
mov qword [rbp + 0xa8], rcx
mov rax, qword [rbp + 0x48]
mov edx, dword [rcx + 0x30]
mov r8, qword [rcx + 8]
add edx, 0xffffffff
imul rdx, qword [rbp + 0xc8]
mov rbp, qword [rax]
mov rcx, rax
call qword [rbp + 0x90]
mov ebp, esi
jmp 0x45c5d5
test r9, r9
je 0x45c6ed
mov rcx, qword [r9 + 0x70]
mov eax, dword [rcx + 0x34]
not eax
or eax, 0xffdf
cmp ax, 0xffff
je 0x45c6e0
mov rsi, rbx
mov rbx, qword [rcx + 0x28]
add dword [rbx + 0x98], 0xffffffff
mov rax, qword [rbx + 0xa8]
mov qword [rcx + 0x20], rax
mov qword [rbx + 0xa8], rcx
mov rax, qword [rbx + 0x48]
mov edx, dword [rcx + 0x30]
mov r8, qword [rcx + 8]
add edx, 0xffffffff
imul rdx, qword [rbx + 0xc8]
mov rbx, qword [rax]
mov rcx, rax
call qword [rbx + 0x90]
mov rbx, rsi
jmp 0x45c6e5
mov ax, 0x28
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r13
add eax, 0xfffffff6
lea rcx, [rdx + rdx]
cmp rdx, 4
mov rdx, rcx
jb 0x45b64e
jmp 0x45b68b
mov rbp, rdx
movabs rsi, 0xd4a2a94b0460db81
mov rcx, rbp
cmp rbp, 0x10
mov rdi, r13
jb 0x45b68b
mov rcx, rbp
shr rcx, 1
add eax, 0xa
cmp rbp, 0x1f
mov rbp, rcx
ja 0x45b679
and ecx, 7
lea rdx, [0x00607550]
add ax, word [rdx + rcx*2]
add eax, 0xfffffff6
mov r13, qword [rsp + 0x50]
cwde
xor ecx, ecx
mov qword [rsp + 0x80], rcx
cmp dword [rbx + 0xc], eax
jle 0x44c1d0
jmp 0x45dd69
xor edi, edi
mov r15, qword [rsp + 0x70]
mov r13, qword [rsp + 0x58]
jmp 0x459847
mov rbp, rdx
mov rcx, qword [rbx + 0x48]
mov rax, qword [rcx]
mov edx, 4
call qword [rax + 0x38]
test eax, eax
je 0x45c3d6
mov r12d, eax
mov rcx, qword [rbx + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x45b70c
cmp byte [rbx + 0x11], 0
jne 0x45b702
mov edx, 1
call qword [rax + 0x40]
cmp byte [rbx + 0x16], 5
je 0x45b70c
mov byte [rbx + 0x16], 1
mov al, byte [rbx + 0x10]
mov byte [rbx + 0x17], al
mov eax, r12d
jmp 0x453081
mov ecx, eax
xor ecx, 0xffed
test ecx, eax
je 0x45c3e5
mov rbp, qword [rsp + 0x78]
mov rcx, qword [rbp + r10 + 8]
test rcx, rcx
je 0x45d792
mov edx, dword [rbp + r10 + 0x10]
mov r14, r8
mov r8b, byte [rbp + r10 + 0x16]
mov rsi, r11
call fcn.0044b070
mov r8, r14
mov r11, rsi
mov rsi, rax
jmp 0x45b319
mov ecx, eax
xor ecx, 0xffed
test ecx, eax
je 0x45bd0b
mov rcx, qword [rbp + r15 + 8]
test rcx, rcx
je 0x45bd0b
mov edx, dword [rbp + r15 + 0x10]
mov r8b, byte [rbp + r15 + 0x16]
mov rdi, r11
call fcn.0044b070
jmp 0x45b34d
test rcx, rcx
jle 0x45c3ec
movabs rax, 0x8000000000000000
cqo
idiv rcx
cmp rax, rsi
jg 0x455ec7
jmp 0x45951c
mov rdi, r9
mov rdx, r8
call fcn.00429840
jmp 0x45c19c
xor r8d, r8d
jmp 0x45c8ff
movzx eax, word [rbx + 0x1a6]
jmp 0x4512c0
mov rax, qword [r15 + 0x1c8]
mov qword [rsi], rax
mov qword [r15 + 0x1c8], rsi
jmp 0x44fb9b
cmp dword [rax + 0x80], 0
je 0x45c48c
call fcn.00432ba0
jmp 0x45c3d1
mov rax, qword [rcx + 0x1c8]
test rax, rax
je 0x45c7e7
mov rdx, qword [rax]
mov qword [rcx + 0x1c8], rdx
add dword [rcx + 0x1b0], 1
jmp 0x45d834
mov rcx, rbx
call fcn.0045ff40
mov ebp, eax
xor eax, eax
mov qword [rsp + 0x80], rax
test ebp, ebp
jne 0x45e052
mov rcx, rsi
call fcn.004412b0
mov eax, dword [rsi + 0x40]
mov dword [rbx + 0x68], eax
mov rcx, qword [rsi + 0x38]
mov rax, qword [rsi + 0x88]
mov eax, dword [rax + 0x58]
sub eax, ecx
mov edx, 0
cmovns edx, eax
movzx ebp, word [rsi + 0x44]
cmp ebp, eax
cmovle edx, ebp
mov dword [rbx + 0x6c], edx
mov qword [rbx + 0x60], rcx
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x2c]
movabs rsi, 0xd4a2a94b0460db81
mov dword [rbx + 0x20], eax
movzx eax, byte [rcx]
mov dword [r15], eax
mov edx, 1
test al, al
jns 0x45b94c
movzx edx, byte [rcx]
movzx eax, byte [rcx + 1]
test al, al
js 0x45b8f8
shl edx, 7
mov ecx, edx
not ecx
or ecx, 0xffffc07f
mov ebp, eax
not ebp
mov r8, rdi
mov edi, ecx
and edi, 0x20b2f3
and edx, 0xd00
or edx, edi
mov rdi, r8
or ecx, ebp
and ebp, 0x20b2f3
and eax, 0xc
or eax, ebp
xor eax, edx
not ecx
or ecx, eax
mov dword [r15], ecx
mov al, 2
jmp 0x45b949
movzx ebp, byte [rcx + 2]
test bpl, bpl
js 0x45b91b
shl edx, 0xe
or edx, ebp
and edx, 0x1fc07f
and eax, 0x7f
shl eax, 7
or eax, edx
mov dword [r15], eax
mov al, 3
jmp 0x45b949
lea rdx, [rsp + 0x180]
call fcn.0043c820
mov rcx, qword [rsp + 0x180]
mov rdx, rcx
shr rdx, 0x20
cmp rdx, 1
mov edx, 0
sbb edx, edx
not edx
or edx, ecx
mov dword [r15], edx
movzx edx, al
mov dword [rbx + 0x40], edx
mov word [rbx + 0x4a], 0
mov ecx, dword [r15]
cmp dword [rbx + 0x6c], ecx
jae 0x45b98f
mov qword [rbx + 0x60], 0
mov dword [rbx + 0x6c], 0
mov eax, dword [r15]
cmp eax, 0x18003
ja 0x45b97b
cmp eax, dword [rbx + 0x68]
jbe 0x45b9ac
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
jmp 0x45d556
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], r13
mov rbp, qword [rbx + 0x60]
xor eax, eax
jmp 0x45d050
xor eax, eax
movzx ecx, ax
cmp edi, ecx
jb 0x454989
mov edx, dword [rbx + 0x40]
mov ecx, dword [r15]
xor ebp, ebp
cmp edx, ecx
jae 0x45d26c
mov qword [rsp + 0x88], rdi
mov rbp, qword [rbx + 0x60]
test rbp, rbp
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x48], r14
jne 0x45d050
movdqa xmmword [rsp + 0xe0], xmm13
movdqa xmmword [rsp + 0xd0], xmm13
movdqa xmmword [rsp + 0xc0], xmm13
mov qword [rsp + 0xf0], 0
mov r12, qword [rbx + 0x30]
mov r8d, dword [r15]
movzx ecx, word [r12 + 0x44]
mov rbp, qword [r12 + 0x38]
mov rdi, qword [r12 + 0x88]
mov edi, dword [rdi + 0x58]
sub edi, ebp
mov esi, 0
cmovns esi, edi
cmp ecx, edi
cmovle esi, ecx
mov qword [rsp + 0xc8], rbp
cmp esi, r8d
mov rsi, r8
jae 0x45bc6b
mov word [rsp + 0xd4], 1
mov rax, qword [r12 + 0x20]
mov ecx, dword [rax + 0x34]
mov eax, dword [rax + 0x40]
imul rax, rcx
cmp rax, rsi
jb 0x45f4d9
lea edx, [rsi + 1]
test edx, edx
jle 0x45cfde
lea rcx, [rsp + 0xc0]
xor r8d, r8d
call fcn.00449fe0
test eax, eax
jne 0x45f553
mov r9, qword [rsp + 0xc8]
jmp 0x45cff7
mov eax, ecx
xor edx, edx
div esi
mov ecx, eax
mov rdi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
movapd xmm6, xmm12
movdqa xmm12, xmm13
mov qword [r11], rcx
mov rdx, qword [rsp + 0x78]
movzx eax, word [rdx + r12 + 0x14]
mov ecx, eax
not ecx
or ecx, 0xd2c
and ecx, 0xffffad6c
and eax, 0x5200
or eax, ecx
xor eax, 0xad68
mov word [rdx + r12 + 0x14], ax
mov r15, qword [rsp + 0x70]
jmp 0x45be05
mov eax, r15d
and eax, 0xfffffff8
lea rcx, [rax - 8]
mov r9, rcx
shr r9, 3
add r9, 1
mov r8, r9
xor r8, 0xfffffffffffffffe
test rcx, rcx
je 0x45c80d
mov rcx, r9
not rcx
movabs r10, 0x3ffffffffffffffe
not r10
or r10, rcx
not r10
pxor xmm0, xmm0
mov rdi, 0xffffffffffffffff
xor ebx, ebx
pxor xmm1, xmm1
mov r11, qword [rsp + 0x1e8]
movdqu xmm3, xmmword [r12 + rbx*4 + 4]
movdqu xmm4, xmmword [r12 + rbx*4 + 0x14]
movdqa xmm2, xmm0
pxor xmm2, xmm5
movdqa xmm5, xmm3
pxor xmm5, xmmword [0x005fa320]
pcmpgtd xmm2, xmm5
pand xmm0, xmm2
pandn xmm2, xmm3
por xmm2, xmm0
movdqa xmm3, xmm1
pxor xmm3, xmmword [0x005fa320]
movdqa xmm0, xmm4
pxor xmm0, xmmword [0x005fa320]
pcmpgtd xmm3, xmm0
pand xmm1, xmm3
pandn xmm3, xmm4
por xmm3, xmm1
mov rsi, rbp
not rsi
mov rcx, rdi
and rcx, rbp
mov edx, edi
not edx
mov rbp, rbx
and rbp, rsi
or rbp, rcx
mov ecx, esi
and ecx, 8
or rcx, r11
xor rcx, rbp
movabs rbp, 0xb5f7f9ff45ff9d00
or esi, ebp
and esi, edx
and esi, 8
or rsi, rcx
movdqu xmm1, xmmword [r12 + rsi*4 + 4]
movdqu xmm4, xmmword [r12 + rsi*4 + 0x14]
movdqa xmm0, xmm2
pxor xmm0, xmmword [0x005fa320]
movdqa xmm5, xmm1
pxor xmm5, xmmword [0x005fa320]
pcmpgtd xmm0, xmm5
movdqa xmm5, xmmword [0x005fa320]
pand xmm2, xmm0
pandn xmm0, xmm1
por xmm0, xmm2
movdqa xmm1, xmm3
pxor xmm1, xmm5
movdqa xmm2, xmm4
pxor xmm2, xmm5
pcmpgtd xmm1, xmm2
pand xmm3, xmm1
pandn xmm1, xmm4
por xmm1, xmm3
add rbx, 0x10
add rdi, 0xfffffffffffffff0
add r10, 0xfffffffffffffffe
jne 0x45bb56
jmp 0x45c817
mov qword [rbx + 0x10], r13
mov rbx, qword [rsp + 0x68]
jmp 0x45d8e8
mov rdi, rbp
mov word [rsp + 0xd4], 0x4010
mov dword [rsp + 0xd0], esi
jmp 0x45d040
xorpd xmm0, xmm0
mov r14, rdi
cmpneqsd xmm0, xmm7
movq rax, xmm0
and eax, 1
mov rdi, qword [rsp + 0x78]
lea rcx, [rdi + rsi]
mov ebp, dword [rbx + 0x10]
mov edx, ebp
not edx
and edx, eax
not eax
and eax, ebp
or eax, edx
movsxd rdx, eax
mov eax, dword [rdi + rsi + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x45bccb
call fcn.0044b3a0
jmp 0x45bcdb
lea rax, [rdi + rsi]
add rax, 0x14
mov qword [rcx], rdx
mov word [rax], 4
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r14
mov r14, r12
add rbx, 0x18
jmp 0x44c1d4
mov rax, rsi
shr rax, cl
test rsi, rsi
js 0x45d70e
mov rsi, rax
jmp 0x45d75c
xor eax, eax
test rsi, rsi
je 0x45bd8e
cmp rsi, 0xffffffffffffffff
jne 0x45bd1d
mov esi, 1
mov rdi, rbx
mov rcx, rax
or rcx, rsi
shr rcx, 0x20
je 0x45bd33
cqo
idiv rsi
jmp 0x45bd37
xor edx, edx
div esi
xorps xmm6, xmm6
cvtsi2sd xmm6, rdx
movq rbp, xmm6
mov rax, rbp
not rax
or rax, qword [rsp + 0x200]
movabs rcx, 0x800fffffffffffff
cmp rax, rcx
setne dl
sete al
mov rcx, rbp
movabs rbx, 0xfffffffffffff
xor rcx, rbx
not rcx
test rcx, rbp
sete bl
setne cl
cmp dl, bl
mov rbx, rdi
jne 0x45bdbe
or al, cl
xor al, 1
jne 0x45bdbe
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx + r12 + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x45bdaf
mov rcx, r11
call fcn.00449e10
jmp 0x45bde7
lea rax, [rcx + r12]
add rax, 0x14
mov word [rax], 1
jmp 0x45bde7
movsd qword [r11], xmm6
mov rdx, qword [rsp + 0x78]
mov eax, dword [rdx + r12 + 0x14]
mov ecx, eax
xor ecx, 0xdbf
and ecx, eax
mov eax, ecx
and eax, 8
xor ecx, 8
or ecx, eax
mov word [rdx + r12 + 0x14], cx
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
movapd xmm6, xmm12
movdqa xmm12, xmm13
pxor xmm13, xmm13
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
xor ebx, ebx
jmp 0x45c4df
mov qword [rsp + 0x98], rdx
movzx r8d, byte [rbx + 0xf]
mov rax, qword [rbx + 0x118]
mov r9d, dword [rbx + 0xc8]
mov qword [rsp + 0x20], rax
mov rdx, qword [rsp + 0x70]
call fcn.0043cc80
mov ebp, eax
mov qword [rbx + 0x128], 0
mov rcx, qword [rbx + 0x48]
mov r9, qword [rcx]
test r9, r9
je 0x45bebc
cmp dword [r9], 3
jl 0x45bebc
mov rdx, qword [rbx + 0xa0]
mov qword [rsp + 0xc0], rdx
test rdx, rdx
setg byte [rbx + 0x1b]
lea rdx, [fcn.00437d10]
lea rax, [0x00437ac0]
cmovg rdx, rax
cmp dword [rbx + 0x30], 0
lea rax, [0x00437ab0]
cmovne rdx, rax
mov qword [rbx + 0x110], rdx
mov edx, 0x12
lea r8, [rsp + 0xc0]
call qword [r9 + 0x50]
test ebp, ebp
mov rdx, qword [rsp + 0x98]
je 0x45bed9
cmp byte [rbx + 8], 0
je 0x45bfd3
mov eax, ebp
jmp 0x453081
mov rcx, rbx
mov rbp, rdx
mov edx, r15d
call fcn.00466480
mov rdx, rbp
mov r12, r13
xor eax, eax
cmp r15d, 5
setne al
mov rbp, qword [rdx + 8]
mov ecx, dword [rbp + 0x28]
and ecx, 0xffffffdf
shl eax, 5
or eax, ecx
mov word [rbp + 0x28], ax
mov r13, rdx
mov rcx, rdx
xor edx, edx
xor r8d, r8d
call fcn.00410150
mov ecx, eax
test eax, eax
jne 0x45de7a
cmp r15d, 5
sete cl
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x50]
add cl, 1
mov byte [rsp + 0x80], cl
mov qword [rsp + 0xb0], rax
cmp byte [rax + 0x12], cl
jne 0x45bf63
xor eax, eax
mov cl, byte [rsp + 0x80]
mov rdx, qword [rsp + 0xb0]
cmp byte [rdx + 0x13], cl
je 0x45de7a
mov rcx, r13
mov edx, 2
xor r8d, r8d
call fcn.00410150
mov ecx, eax
test eax, eax
jne 0x45de7a
mov rax, qword [rbp + 0x18]
mov rcx, qword [rax + 0x70]
mov r8, qword [rcx + 0x28]
mov edx, dword [rcx + 0x34]
not edx
or edx, 0xfffb
cmp dx, 0xffff
je 0x45bfa7
mov edx, dword [r8 + 0x20]
cmp edx, dword [rcx + 0x30]
jae 0x45dabb
mov edx, dword [r8 + 0x30]
mov eax, edx
test edx, edx
jne 0x45de7a
mov edx, dword [r8 + 0xb8]
cmp edx, dword [r8 + 0xc8]
jbe 0x45de51
call fcn.0043fc70
jmp 0x45de56
mov rcx, qword [rbx + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x45bff7
cmp byte [rbx + 0x11], 0
jne 0x45bfed
mov edx, 1
call qword [rax + 0x40]
cmp byte [rbx + 0x16], 5
je 0x45bff7
mov byte [rbx + 0x16], 1
mov al, byte [rbx + 0x10]
mov byte [rbx + 0x17], al
mov eax, ebp
jmp 0x453081
xorpd xmm0, xmm0
mov rbx, rsi
cmpneqsd xmm0, xmm7
movq rax, xmm0
and eax, 1
movabs rsi, 0xd4a2a94b0460db81
xor al, 1
movzx edx, al
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx + rdi + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x45c047
mov rcx, r14
call fcn.0044b3a0
jmp 0x45c057
lea rax, [rcx + rdi]
add rax, 0x14
mov qword [r14], rdx
mov word [rax], 4
mov r14, qword [rsp + 0x48]
mov rdi, r12
add rbx, 0x18
jmp 0x44c1d4
mov ax, 4
jmp 0x45ac1f
mov rbx, r13
test eax, eax
jne 0x45afd4
mov eax, dword [rsp + 0x138]
test eax, eax
mov r13, qword [rsp + 0x50]
movabs rsi, 0xd4a2a94b0460db81
je 0x45c0af
xor eax, eax
mov qword [rsp + 0x80], rax
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x70]
jmp 0x45dd69
lea rax, [rbx + 0x18]
test r15d, r15d
cmovne rbx, rax
xor eax, eax
mov qword [rsp + 0x80], rax
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x70]
add rbx, 0x18
jmp 0x44c1d4
mov rbp, rdx
mov rcx, qword [rbx + 0x48]
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x38]
test eax, eax
je 0x45d7b5
mov ecx, eax
jmp 0x453081
movsxd rcx, dword [r15 + 0x21c]
imul edx, ecx, 0xcccccccd
add edx, 0x19999999
cmp edx, 0x33333332
ja 0x45dfdd
mov rsi, r8
mov rax, r15
mov r15, rdi
lea r8, [rcx*8 + 0x28]
mov rax, qword [rax + 0x240]
test rax, rax
je 0x45de3f
mov rdx, qword [rsp + 0x70]
cmp qword [rdx + 0x1f0], rax
jbe 0x45df7c
mov rdx, qword [rsp + 0x70]
cmp qword [rdx + 0x1e0], rax
jbe 0x45df73
mov rdx, qword [rsp + 0x70]
cmp qword [rdx + 0x1e8], rax
ja 0x45df7c
mov rdx, qword [rsp + 0x70]
movzx edx, word [rdx + 0x1a6]
cmp r8, rdx
ja 0x45df7c
jmp 0x45df9e
cmp r8, 0x81
jb 0x45c1b3
mov rdi, r9
mov rdx, rax
call fcn.00429900
test rax, rax
je 0x45c3b8
mov r9, rdi
mov rcx, r12
movsxd rdx, dword [r12 + 0x21c]
movdqu xmmword [rax + rdx*8 + 0x10], xmm13
movdqu xmmword [rax + rdx*8], xmm13
mov qword [rax + rdx*8 + 0x20], 0
mov qword [rcx + 0x240], rax
mov rcx, qword [rsi + 0x10]
mov rbp, qword [r9 + 0x70]
mov qword [rsp + 0x80], r9
call rbp
mov ebp, eax
test eax, eax
je 0x45c1f8
test rsi, rsi
mov rdi, r15
mov r15, r12
jne 0x45c269
jmp 0x45c397
mov rdi, r12
mov eax, dword [r12 + 0x2e8]
mov rcx, qword [r12 + 0x240]
movsxd rbp, dword [r12 + 0x21c]
lea edx, [rbp + 1]
mov dword [r12 + 0x21c], edx
mov edx, dword [r12 + 0x2ec]
mov qword [rcx + rbp*8], rsi
add dword [rsi + 0x18], 1
add edx, eax
je 0x45c261
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0xa0]
test rax, rax
mov rdi, r15
mov r15, r12
mov ebp, 0
je 0x45c269
mov dword [rsi + 0x20], edx
add edx, 0xffffffff
mov rcx, qword [rsi + 0x10]
call rax
mov ebp, eax
jmp 0x45c269
mov rdi, r15
mov r15, r12
xor ebp, ebp
mov qword [rsp + 0x58], rdi
mov rdi, qword [rsi + 0x10]
cmp qword [rdi + 0x10], 0
je 0x45c392
mov dword [rsp + 0x80], ebp
mov rax, qword [rsp + 0x40]
mov rbp, qword [rax]
mov rdx, qword [rax + 0xa8]
mov rcx, rbp
call fcn.00408130
mov rsi, qword [rdi + 0x10]
test rsi, rsi
je 0x45c2cd
mov qword [rsp + 0x48], r14
mov r12, rbx
mov rcx, rsi
call fcn.005f4bd8
mov rbx, rax
add rbx, 1
test rbp, rbp
je 0x45c2d1
mov rcx, rbp
mov rdx, rbx
call fcn.00429840
jmp 0x45c2d9
xor ebp, ebp
jmp 0x45c2fb
mov rcx, rbx
call fcn.00404550
mov rbp, rax
test rax, rax
je 0x45c2f1
mov rcx, rbp
mov rdx, rsi
mov r8, rbx
call fcn.005f4c20
jmp 0x45c2f3
xor ebp, ebp
mov rbx, r12
mov r14, qword [rsp + 0x48]
mov rax, qword [rsp + 0x148]
mov qword [rax], rbp
mov rsi, qword [rdi + 0x10]
test rsi, rsi
mov ebp, dword [rsp + 0x80]
je 0x45c38a
cmp dword [0x005f6010], 0
je 0x45c381
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x45c331
call qword [0x005f6090]
mov rcx, rsi
call qword [0x005f6048]
cdqe
sub qword [0x0213b040], rax
movabs rcx, 0x6b045dde11c2b46d
mov rax, rcx
not rax
add rax, qword [0x0213b088]
add rax, rcx
mov qword [0x0213b088], rax
mov rcx, rsi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x45c38a
call qword [0x005f60a0]
jmp 0x45c38a
mov rcx, rsi
call qword [0x005f6038]
mov qword [rdi + 0x10], 0
mov rdi, qword [rsp + 0x58]
xor eax, eax
mov qword [rsp + 0x80], rax
test ebp, ebp
movabs rsi, 0xd4a2a94b0460db81
je 0x44c1d0
jmp 0x45eb4a
mov ebp, 7
jmp 0x45c1e8
call fcn.00430480
jmp 0x45d7d5
call fcn.00440110
jmp 0x45c48e
mov rcx, qword [rbx + 0x128]
mov rdx, rbp
jmp 0x4595bc
xor esi, esi
jmp 0x45b314
jns 0x45951c
movabs rax, 0x7fffffffffffffff
add rax, 1
cmp rsi, rax
mov qword [rsp + 0x88], r8
sete r8b
mov rdx, rsi
xor rdx, rax
cmp rcx, rax
sete r9b
xor rax, rcx
or rax, rdx
sete al
cmp r8b, r9b
mov r8, qword [rsp + 0x88]
jne 0x455ec7
test al, al
jne 0x455ec7
mov rbp, rdi
movabs rax, 0xdb5180f8b636fa84
mov r8, rax
sub r8, rcx
sub r8, rax
movabs rax, 0x1feb42047d6e941b
mov r9, rax
sub r9, rsi
sub r9, rax
movabs rax, 0x7fffffffffffffff
xor edx, edx
idiv r9
cmp rax, r8
mov r8, qword [rsp + 0x88]
jl 0x455ec7
jmp 0x45951c
xor eax, eax
mov qword [rsp + 0x80], rax
mov eax, dword [r14 + 0x40]
mov rcx, qword [r14 + 0x18]
mov rcx, qword [rcx + 0x50]
bswap eax
mov dword [rcx + 0x1c], eax
cmp byte [r15 + 0x11], 0
jne 0x45394a
jmp 0x453959
mov rcx, r14
call fcn.00404550
mov rbx, rax
test rax, rax
je 0x45c4d7
mov rcx, rbx
mov rdx, r15
mov r8, r14
call fcn.005f4c20
jmp 0x45c4d9
xor ebx, ebx
mov r14, r12
mov r12d, ebp
mov rax, qword [rsp + 0x148]
mov qword [rax], rbx
mov rbx, qword [rdi + 0x10]
test rbx, rbx
mov rbp, qword [rsp + 0x58]
mov r15, qword [rsp + 0x70]
je 0x45c58f
cmp dword [0x005f6010], 0
je 0x45c586
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x45c51c
call qword [0x005f6090]
mov rcx, rbx
call qword [0x005f6048]
cdqe
mov rcx, qword [0x0213b040]
movabs rdx, 0x12d3a78214286f75
add rcx, rdx
sub rcx, rax
sub rcx, rdx
mov qword [0x0213b040], rcx
movabs rcx, 0x317e19b03ca9a8aa
mov rax, rcx
not rax
add rax, qword [0x0213b088]
add rax, rcx
mov qword [0x0213b088], rax
mov rcx, rbx
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x45c58f
call qword [0x005f60a0]
jmp 0x45c58f
mov rcx, rbx
call qword [0x005f6038]
mov qword [rdi + 0x10], 0
test r12d, r12d
jne 0x45f47a
mov rax, qword [rsp + 0xc0]
mov qword [rsi], rax
xor eax, eax
mov qword [rsp + 0x80], rax
mov rbx, qword [rsp + 0x68]
movabs rsi, 0xd4a2a94b0460db81
mov rdi, rbp
add rbx, 0x18
jmp 0x44c1d4
call fcn.00430480
xor r9d, r9d
mov edi, 0
test ebp, ebp
movabs rsi, 0xd4a2a94b0460db81
mov rcx, qword [rsp + 0xb0]
jne 0x45541b
mov qword [rsp + 0x68], rbx
mov eax, dword [0x005f6c40]
xor edx, edx
div dword [r13 + 0x34]
mov r8d, eax
lea edi, [r8 + 1]
lea esi, [rcx - 3]
jmp 0x45c61e
cmp ebx, eax
jne 0x45c661
add ecx, 0xffffffff
add esi, 0xffffffff
lea ebx, [rsi + 2]
cmp ebx, edi
je 0x45c618
xor eax, eax
cmp ebx, 2
jb 0x45c614
mov ebp, dword [r13 + 0x38]
mov eax, 0xcccccccd
imul rbp, rax
shr rbp, 0x22
add ebp, 1
mov eax, esi
xor edx, edx
div ebp
mov eax, esi
sub eax, edx
neg edx
add edx, esi
add edx, 1
xor ebp, ebp
cmp edx, r8d
sete bpl
add eax, ebp
add eax, 2
jmp 0x45c614
mov rdi, qword [r12 + 8]
cmp byte [r12 + 0x11], 0
je 0x45c68a
add dword [r12 + 0x14], 1
cmp byte [r12 + 0x12], 0
jne 0x45c68a
mov rcx, r12
mov ebp, r9d
call fcn.0043e9d0
mov r9d, ebp
mov rax, qword [rdi + 0x18]
mov rdi, qword [rax + 0x50]
mov rcx, qword [rax + 0x70]
mov rax, qword [rcx + 0x28]
mov ebp, dword [rcx + 0x34]
mov edx, ebp
xor edx, 0xfffb
test dx, bp
je 0x45c6b6
mov edx, dword [rax + 0x20]
cmp edx, dword [rcx + 0x30]
jae 0x45d799
mov ebp, dword [rax + 0x30]
test ebp, ebp
jne 0x45ddec
mov r13d, r9d
mov edx, dword [rax + 0xb8]
cmp edx, dword [rax + 0xc8]
jbe 0x45ddb0
call fcn.0043fc70
jmp 0x45ddb5
call fcn.00430480
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [r13]
lea r8, [rsp + 0xc0]
mov rdi, rdx
xor r9d, r9d
call qword [rcx + 0x110]
test eax, eax
je 0x45c71e
mov ecx, eax
xor edi, edi
movabs rsi, 0xd4a2a94b0460db81
mov ebp, eax
jmp 0x45541b
mov rax, qword [rsp + 0xc0]
mov rsi, qword [rax + 0x10]
cmp dword [rsi + 4], edi
je 0x45c755
mov rcx, qword [rax + 8]
mov qword [rsi + 0x50], rcx
mov qword [rsi + 0x70], rax
mov qword [rsi + 0x48], r13
mov dword [rsi + 4], edi
cmp edi, 1
mov eax, 0
mov ecx, 0x64
cmove eax, ecx
mov byte [rsi + 9], al
mov dword [rsp + 0x20], ebp
mov dword [rsp + 0x28], 0
mov rcx, r13
mov rdx, rsi
mov r8b, 1
xor r9d, r9d
call fcn.00443550
mov ebp, eax
test rsi, rsi
je 0x45d7cf
mov edi, ebp
mov rcx, qword [rsi + 0x70]
mov eax, dword [rcx + 0x34]
not eax
or eax, 0xffdf
cmp ax, 0xffff
je 0x45d7c8
mov rbp, qword [rcx + 0x28]
add dword [rbp + 0x98], 0xffffffff
mov rax, qword [rbp + 0xa8]
mov qword [rcx + 0x20], rax
mov qword [rbp + 0xa8], rcx
mov rax, qword [rbp + 0x48]
mov edx, dword [rcx + 0x30]
mov r8, qword [rcx + 8]
add edx, 0xffffffff
imul rdx, qword [rbp + 0xc8]
mov rbp, qword [rax]
mov rcx, rax
call qword [rbp + 0x90]
jmp 0x45d7cd
add dword [rcx + 0x1b4], 1
jmp 0x45d82a
mov rax, qword [rcx + 0x1c0]
test rax, rax
je 0x45d823
mov rdx, qword [rax]
mov qword [rcx + 0x1c0], rdx
add dword [rcx + 0x1b0], 1
jmp 0x45d834
pxor xmm0, xmm0
xor ebx, ebx
pxor xmm1, xmm1
test r8, r9
je 0x45c876
movdqu xmm2, xmmword [r12 + rbx*4 + 4]
movdqu xmm3, xmmword [r12 + rbx*4 + 0x14]
movdqa xmm4, xmm1
pxor xmm4, xmm5
movdqa xmm5, xmm3
pxor xmm5, xmmword [0x005fa320]
pcmpgtd xmm4, xmm5
movdqa xmm5, xmmword [0x005fa320]
pand xmm1, xmm4
pandn xmm4, xmm3
por xmm1, xmm4
movdqa xmm3, xmm0
pxor xmm3, xmm5
movdqa xmm4, xmm2
pxor xmm4, xmm5
pcmpgtd xmm3, xmm4
pand xmm0, xmm3
pandn xmm3, xmm2
por xmm0, xmm3
movdqa xmm2, xmm1
pxor xmm2, xmm5
movdqa xmm3, xmm0
pxor xmm3, xmm5
pcmpgtd xmm3, xmm2
pand xmm0, xmm3
pandn xmm3, xmm1
por xmm3, xmm0
pshufd xmm0, xmm3, 0x4e
movdqa xmm1, xmm3
pxor xmm1, xmm5
movdqa xmm2, xmm0
pxor xmm2, xmm5
pcmpgtd xmm1, xmm2
pand xmm3, xmm1
pandn xmm1, xmm0
por xmm1, xmm3
pshufd xmm0, xmm1, 0xe5
movdqa xmm2, xmm1
pxor xmm2, xmm5
movdqa xmm3, xmm0
pxor xmm3, xmm5
pcmpgtd xmm2, xmm3
pand xmm1, xmm2
pandn xmm2, xmm0
por xmm2, xmm1
movd r8d, xmm2
cmp rax, r15
je 0x45c8ff
mov ecx, dword [r12 + rax*4 + 4]
cmp r8d, ecx
cmovb r8d, ecx
add rax, 1
cmp r15, rax
jne 0x45c8ea
mov rax, qword [r13 + 0x18]
mov rax, qword [rax + 0x50]
movzx ecx, byte [rax + 0x34]
shl ecx, 0x18
movzx edx, byte [rax + 0x35]
shl edx, 0x10
mov ebp, edx
not ebp
mov ebx, ecx
not ebx
and ebp, 0x3897a59a
and edx, 0x680000
or edx, ebp
and ebx, 0x3897a59a
and ecx, 0xc7000000
or ecx, ebx
xor ecx, edx
movzx r9d, byte [rax + 0x36]
shl r9d, 8
or r9d, ecx
movzx eax, byte [rax + 0x37]
mov ecx, r9d
and ecx, eax
xor r9d, eax
or r9d, ecx
cmp r8d, r9d
je 0x45c96f
lea rcx, [rsp + 0xc0]
lea rdx, [0x005fd770]
call fcn.0047b4b0
mov rax, qword [r13 + 8]
and qword [rax + 0x30], 0xffffffffffdfffff
test r15d, r15d
setg cl
mov eax, dword [rsp + 0xdc]
test eax, eax
sete dl
cmp cl, dl
je 0x45c9f8
test r15d, r15d
jle 0x45c9f8
cmp byte [rsp + 0xa0], 0
je 0x45cead
mov esi, 1
xor edi, edi
mov edx, dword [r12 + rsi*4]
test edx, edx
je 0x45c9d9
lea rcx, [rsp + 0xc0]
lea r8, [rsp + 0x138]
movabs r9, 0x7fffffffffffffff
call fcn.0047b560
mov eax, dword [rsp + 0xdc]
cmp rsi, r15
setb cl
test eax, eax
sete dl
cmp cl, dl
je 0x45c9f8
add rdi, 1
lea rcx, [rsi + 1]
cmp rsi, r15
mov rsi, rcx
jb 0x45c9ab
mov rcx, qword [r13 + 8]
mov rdx, qword [rsp + 0xb0]
mov qword [rcx + 0x30], rdx
cmp byte [rsp + 0xa0], 0
je 0x45cd05
mov rcx, qword [rsp + 0x118]
call fcn.004378f0
mov rsi, qword [rsp + 0xd0]
test rsi, rsi
mov r15, qword [rsp + 0x70]
je 0x45caaa
cmp dword [0x005f6010], 0
je 0x45caa1
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x45ca50
call qword [0x005f6090]
mov rcx, rsi
call qword [0x005f6048]
mov rcx, qword [0x0213b040]
cdqe
movabs rdx, 0x48a0c6aa190c86d8
sub rcx, rdx
sub rcx, rax
add rcx, rdx
mov qword [0x0213b040], rcx
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rsi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x45caaa
call qword [0x005f60a0]
jmp 0x45caaa
mov rcx, rsi
call qword [0x005f6038]
cmp dword [rsp + 0xe4], 0
je 0x45cb1e
mov al, byte [rsp + 0x115]
mov ecx, eax
xor cl, 0xfb
test cl, al
mov rsi, qword [rsp + 0x88]
je 0x45cae9
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x100]
call fcn.00408130
and byte [rsp + 0x115], 0xfb
mov dword [rsp + 0x108], 0
mov dword [rsp + 0x110], 0
mov qword [rsp + 0x100], 0
mov edi, dword [rsp + 0xe0]
add edi, 1
mov dword [rsp + 0xe0], edi
jmp 0x45cb2d
mov edi, dword [rsp + 0xe0]
mov rsi, qword [rsp + 0x88]
test edi, edi
jne 0x45cb80
mov al, byte [rsp + 0x115]
mov ecx, eax
xor cl, 0xfb
test cl, al
je 0x45cb5e
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x100]
call fcn.00408130
and byte [rsp + 0x115], 0xfb
mov dword [rsp + 0x108], 0
mov dword [rsp + 0x110], 0
mov qword [rsp + 0x100], 0
cmp byte [r14 + 0x11], 0
je 0x45cb9f
mov eax, dword [r14 + 0x14]
lea ecx, [rax - 1]
mov dword [r14 + 0x14], ecx
cmp eax, 1
jne 0x45cb9f
mov rcx, r14
call fcn.0043ea70
imul rbp, rsi, 0x38
mov rax, qword [rsp + 0x100]
test rax, rax
je 0x45cbd9
mov ecx, dword [rsp + 0x110]
mov byte [rax + rcx], 0
cmp dword [rsp + 0x10c], 0
je 0x45cbd9
mov al, byte [rsp + 0x115]
mov ecx, eax
xor cl, 0xfb
test cl, al
je 0x45ccf0
mov r13, qword [rsp + 0x100]
mov rax, qword [rsp + 0x78]
lea r14, [rax + rbp]
lea rsi, [rax + rbp]
add rsi, 0x14
mov eax, dword [rax + rbp + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x45cc0d
mov rcx, r14
call fcn.00449e10
jmp 0x45cc12
mov word [rsi], 1
test edi, edi
je 0x45cc6c
test r13, r13
je 0x45ee74
mov rbx, qword [rsp + 0x98]
add rbx, qword [rsp + 0x78]
add edi, 0xffffffff
movsxd rax, edi
mov rcx, qword [rbx]
movabs rdx, 0xe675d390795d94d8
add rcx, rdx
sub rcx, rax
sub rcx, rdx
mov qword [rbx], rcx
lea rax, [fcn.00404730]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, r13
mov r8, 0xffffffffffffffff
mov r9b, 1
call fcn.00414070
mov ecx, dword [rsi]
not ecx
or ecx, 0xfffd
mov rax, qword [rsp + 0x78]
add rax, rbp
add rax, 0x16
cmp cx, 0xffff
je 0x45ccb3
mov dl, byte [rsp + 0x67]
cmp byte [rax], dl
mov rbx, qword [rsp + 0x68]
movabs rsi, 0xd4a2a94b0460db81
mov rdi, qword [rsp + 0x58]
je 0x45ccac
mov rcx, r14
call fcn.0044b3f0
mov r14, qword [rsp + 0x48]
jmp 0x45ccd2
mov cl, byte [rsp + 0x67]
mov byte [rax], cl
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x48]
movabs rsi, 0xd4a2a94b0460db81
mov rdi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x50]
mov eax, dword [r15 + 0x198]
mov ebp, 9
test eax, eax
je 0x458a60
jmp 0x45eb4a
lea rcx, [rsp + 0xf8]
call fcn.00429a70
mov r13, rax
jmp 0x45cbe1
test eax, eax
je 0x45ca16
cmp dword [rsp + 0xd8], 0
je 0x45ca16
mov al, 1
test al, al
je 0x45ca16
mov r15d, 1
mov ebx, 0x87ec4528
mov r12d, 0x7b1914d3
lea edi, [rbx + 0x7813bad9]
mov rax, qword [rsp + 0xd0]
mov rsi, rdi
shr rsi, 3
mov ecx, edi
xor ecx, 0xf8
and ecx, edi
mov ebp, 1
shl ebp, cl
mov edx, 0xfffffffe
rol edx, cl
movzx eax, byte [rax + rsi]
not eax
or eax, edx
cmp eax, 0xffffffff
jne 0x45ce04
xor eax, eax
cmp edi, 2
jb 0x45cdc7
lea eax, [rbx + 0x7813bad7]
mov ecx, dword [r13 + 0x38]
mov edx, 0xcccccccd
imul rcx, rdx
shr rcx, 0x22
add ecx, 1
xor edx, edx
div ecx
mov ecx, edx
mov r8d, ebx
sub r8d, edx
mov eax, dword [0x005f6c40]
xor edx, edx
div dword [r13 + 0x34]
neg ecx
add ecx, ebx
add ecx, 0x7813bad8
xor edx, edx
cmp ecx, eax
sete dl
lea eax, [rdx + r8]
add eax, 0x7813bad9
cmp edi, eax
jne 0x45cdd6
cmp byte [r13 + 0x21], 0
jne 0x45ce72
lea rcx, [rsp + 0xc0]
lea rdx, [0x005fd7d4]
mov r8d, edi
call fcn.0047b4b0
mov rax, qword [rsp + 0xd0]
movzx eax, byte [rax + rsi]
not ebp
not eax
or eax, ebp
cmp eax, 0xffffffff
je 0x45ce72
xor eax, eax
cmp edi, 2
jb 0x45ce50
lea eax, [rbx + 0x7813bad7]
mov ecx, dword [r13 + 0x38]
mov edx, 0xcccccccd
imul rcx, rdx
shr rcx, 0x22
add ecx, 1
xor edx, edx
div ecx
mov ecx, r12d
sub ecx, edx
mov eax, dword [0x005f6c40]
xor edx, edx
div dword [r13 + 0x34]
lea edx, [rcx - 0x7b1914d3]
xor ebp, ebp
cmp edx, eax
sete bpl
lea eax, [rcx + rbp]
add eax, 0x84e6eb2e
cmp edi, eax
jne 0x45ce72
cmp byte [r13 + 0x21], 0
je 0x45ce72
lea rcx, [rsp + 0xc0]
lea rdx, [0x005fd7ea]
mov r8d, edi
call fcn.0047b4b0
lea eax, [rbx + 0x7813bada]
cmp eax, dword [rsp + 0xd8]
ja 0x45ca16
cmp dword [rsp + 0xdc], 0
je 0x45ca16
add r15d, 1
add ebx, 1
add r12d, 1
mov al, 1
test al, al
jne 0x45cd36
jmp 0x45ca16
mov edi, 1
xor ebx, ebx
mov esi, dword [r12 + rdi*4]
test esi, esi
je 0x45cf62
cmp byte [r13 + 0x21], 0
sete dl
setne r8b
cmp esi, 1
sete al
setne cl
cmp al, dl
jne 0x45cf3a
or cl, r8b
xor cl, 1
jne 0x45cf3a
mov rcx, qword [rsp + 0xc0]
mov edx, esi
lea r8, [rsp + 0x157]
lea r9, [rsp + 0x164]
call fcn.00441bb0
test eax, eax
je 0x45cf8a
cmp eax, 0xc0a
je 0x45cf14
cmp eax, 7
jne 0x45cf1f
mov dword [rsp + 0xe4], 1
lea rcx, [rsp + 0xc0]
lea rdx, [0x005fd8af]
mov r8d, esi
call fcn.0047b4b0
mov esi, dword [r12 + rdi*4]
lea rcx, [rsp + 0xc0]
mov edx, esi
lea r8, [rsp + 0x138]
movabs r9, 0x7fffffffffffffff
call fcn.0047b560
mov eax, dword [rsp + 0xdc]
cmp rdi, r15
jae 0x45c9f8
test eax, eax
je 0x45c9f8
add rbx, 1
add rdi, 1
mov cl, 1
test cl, cl
jne 0x45ceb4
jmp 0x45c9f8
movzx eax, byte [rsp + 0x157]
cmp eax, 1
sete dl
mov ebp, dword [rsp + 0x164]
test ebp, ebp
setne cl
cmp dl, cl
je 0x45cfac
cmp al, 1
je 0x45cf36
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0
lea rcx, [rsp + 0xc0]
lea rdx, [0x005fd8cc]
mov r8d, esi
mov r9d, 1
call fcn.0047b4b0
jmp 0x45cf36
mov qword [rsp + 0xc8], 0
mov word [rsp + 0xd4], 1
xor r9d, r9d
mov dword [rsp + 0x20], 0
mov rcx, r12
xor edx, edx
mov r8d, esi
call fcn.00441350
test eax, eax
jne 0x45f50a
mov rax, qword [rsp + 0xc8]
mov byte [rax + rsi], 0
mov word [rsp + 0xd4], 0x10
mov dword [rsp + 0xd0], esi
mov rdi, qword [rsp + 0xc8]
movzx eax, word [rbx + 0x4a]
mov edx, dword [rbx + 0x40]
mov ecx, dword [r15]
xor ebp, ebp
mov qword [rsp + 0x80], rbp
mov rbp, rdi
movzx r14d, ax
mov edi, dword [r15 + r14*4]
mov esi, edx
add rsi, rbp
mov r13d, ecx
mov rax, rbp
mov qword [rsp + 0xa0], rbp
add r13, rbp
mov r12d, dword [rsp + 0x88]
movzx ebp, byte [rsi]
mov dword [rbx + r14*4 + 0x70], ebp
test bpl, bpl
js 0x45d099
add rsi, 1
mov eax, ebp
lea rcx, [0x005fd220]
movzx eax, byte [rax + rcx]
jmp 0x45d15c
movzx ecx, byte [rsi]
movzx eax, byte [rsi + 1]
test al, al
js 0x45d0bd
shl ecx, 7
mov ebp, ecx
xor ebp, 0x4000
and ebp, ecx
mov ecx, ebp
and ecx, eax
xor ebp, eax
or ebp, ecx
mov al, 2
jmp 0x45d133
movzx edx, byte [rsi + 2]
test dl, dl
js 0x45d112
shl ecx, 0xe
mov ebp, ecx
not ebp
mov r8d, edx
not r8d
and ebp, 0x1e53e615
and ecx, 0x2c0000
or ecx, ebp
and r8d, 0x1e53e615
and edx, 0xffffffea
or edx, r8d
xor edx, ecx
mov ecx, edx
xor ecx, 0x1e600080
and ecx, edx
shl eax, 7
mov ebp, eax
xor ebp, 0x4000
and ebp, eax
mov eax, ecx
and eax, ebp
xor ebp, ecx
or ebp, eax
mov al, 3
jmp 0x45d133
mov rcx, rsi
lea rdx, [rsp + 0x180]
call fcn.0043c820
mov rbp, qword [rsp + 0x180]
mov rcx, rbp
shr rcx, 0x20
jne 0x45d181
movzx eax, al
add rsi, rax
mov dword [rbx + r14*4 + 0x70], ebp
cmp ebp, 0x80
jb 0x45d14d
lea eax, [rbp - 0xc]
shr eax, 1
jmp 0x45d15a
mov eax, ebp
lea rcx, [0x005fd220]
movzx eax, byte [rax + rcx]
mov eax, eax
add rdi, rax
lea rax, [r14 + 1]
mov dword [r15 + r14*4 + 4], edi
cmp r14, r12
jae 0x45d197
cmp rsi, r13
jae 0x45d197
mov r14, rax
mov cl, 1
test cl, cl
jne 0x45d076
jmp 0x45d197
movzx eax, al
add rsi, rax
mov dword [rbx + r14*4 + 0x70], 0xffffffff
mov ebp, 0xffffffff
jmp 0x45d146
cmp rsi, r13
jae 0x45d1a6
mov ecx, dword [rbx + 0x68]
mov r14, qword [rsp + 0x48]
jmp 0x45d1b5
mov r14, qword [rsp + 0x48]
ja 0x45d1ba
mov ecx, dword [rbx + 0x68]
cmp rdi, rcx
jne 0x45d1ba
cmp rdi, rcx
jbe 0x45d1f3
cmp dword [r15], 0
je 0x45d1ee
cmp qword [rbx + 0x60], 0
je 0x45d500
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
movabs rsi, 0xd4a2a94b0460db81
mov r15, qword [rsp + 0x70]
jmp 0x45d556
xor eax, eax
mov rsi, r13
mov word [rbx + 0x4a], ax
sub esi, dword [rsp + 0xa0]
mov dword [rbx + 0x40], esi
cmp qword [rbx + 0x60], 0
mov rdi, qword [rsp + 0x88]
je 0x45d221
mov r13, qword [rsp + 0x50]
movabs rsi, 0xd4a2a94b0460db81
jmp 0x45d26c
mov edx, dword [rsp + 0xd4]
mov ecx, edx
xor ecx, 0x6fff
and cx, dx
sete r8b
cmp dword [rsp + 0xe0], 0
setne dl
cmp r8b, dl
mov r13, qword [rsp + 0x50]
movabs rsi, 0xd4a2a94b0460db81
je 0x45d25b
test cx, cx
je 0x45d26c
lea rcx, [rsp + 0xc0]
call fcn.00449ce0
movzx eax, word [rbx + 0x4a]
movzx eax, ax
cmp edi, eax
jae 0x45d361
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax + 0xc]
imul rsi, rax, 0x38
mov rax, qword [rsp + 0x78]
lea r12, [rax + rsi]
mov eax, dword [rax + rsi + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
je 0x45d2a6
mov rcx, r12
call fcn.00449e10
mov rdx, qword [rsp + 0x78]
lea r10, [rdx + rsi]
add r10, 0x14
mov eax, dword [rbx + 0x6c]
lea ecx, [rdi + 1]
cmp eax, dword [r15 + rcx*4]
jae 0x45d336
mov qword [rsp + 0x50], r13
mov al, byte [rsp + 0x67]
mov byte [rdx + rsi + 0x16], al
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 2]
mov ecx, eax
xor ecx, 0xff3f
test cx, ax
je 0x45d31e
cmp ebp, 0xb
seta cl
mov edx, ebp
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete r8b
mov edx, ecx
xor dl, r8b
or cl, r8b
xor cl, 1
or cl, dl
cmp cl, 1
jne 0x45d4db
test al, al
js 0x45d4db
mov al, 1
test al, al
je 0x45d4db
cmp ebp, 0x80
jb 0x45d456
lea r13d, [rbp - 0xc]
shr r13d, 1
jmp 0x45d469
mov r8, r12
mov eax, edi
mov r12d, dword [r15 + rax*4]
add r12, qword [rbx + 0x60]
cmp ebp, 0xb
ja 0x45d3b9
mov rcx, r12
mov edx, ebp
call fcn.00460110
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
jmp 0x452fa8
mov rbx, qword [rsp + 0x68]
movsxd rax, dword [rbx + 0xc]
imul rax, rax, 0x38
mov rdi, qword [rsp + 0x78]
lea rcx, [rdi + rax]
cmp byte [rbx + 1], 0xf6
jne 0x45d427
mov rdx, qword [rbx + 0x10]
mov ebp, dword [rdi + rax + 0x14]
not ebp
or ebp, 0x6fff
cmp bp, 0xffff
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x70]
je 0x45d697
mov r8d, 0x2000
call fcn.00467450
add rbx, 0x18
jmp 0x44c1d4
lea ebx, [rbp - 0xc]
shr rbx, 1
mov rdi, qword [rsp + 0x78]
mov dword [rdi + rsi + 0x10], ebx
mov al, byte [rsp + 0x67]
mov byte [rdi + rsi + 0x16], al
lea edx, [rbx + 2]
cmp dword [rdi + rsi + 0x20], edx
mov r15, qword [rsp + 0x70]
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x88], r10
jge 0x45d629
cmp ebx, dword [r15 + 0x88]
jg 0x45f3d6
mov r13, r14
mov word [r10], 1
mov rcx, r8
xor r8d, r8d
call fcn.00449fe0
test eax, eax
jne 0x45f49b
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rdi + rsi + 8]
jmp 0x45d636
mov r12, r14
mov r14, rsi
mov ebp, dword [rdi + rax + 0x14]
mov edx, ebp
xor edx, 0x6fff
test dx, bp
mov rsi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x70]
je 0x45d6f0
call fcn.00449e10
jmp 0x45d6fc
mov eax, ebp
lea rcx, [0x005fd220]
movzx r13d, byte [rax + rcx]
test r13d, r13d
je 0x45d4db
mov qword [rsp + 0x80], r12
mov rax, qword [rsp + 0x70]
cmp r13d, dword [rax + 0x88]
jg 0x45f3d6
mov eax, edi
mov rbx, qword [rbx + 0x30]
mov r12d, dword [r15 + rax*4]
mov word [r10], 1
mov rax, qword [rbx + 0x20]
mov ecx, dword [rax + 0x34]
mov eax, dword [rax + 0x40]
imul rax, rcx
lea ecx, [r12 + r13]
cmp rax, rcx
jb 0x45f412
mov rax, qword [rsp + 0x78]
cmp dword [rax + rsi + 0x20], r13d
mov rdi, qword [rsp + 0x58]
jle 0x45d57d
mov r9, qword [rax + rsi + 0x28]
mov qword [rax + rsi + 8], r9
mov r15, r10
mov word [r10], 1
jmp 0x45d5a6
lea rcx, [0x005fb0a0]
mov edx, ebp
mov r8, r12
call fcn.00460110
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
jmp 0x452fa8
mov eax, dword [rsp + 0xd4]
not eax
or eax, 0x6fff
cmp ax, 0xffff
sete cl
cmp dword [rsp + 0xe0], 0
setne dl
cmp cl, dl
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
movabs rsi, 0xd4a2a94b0460db81
mov r15, qword [rsp + 0x70]
je 0x45d549
not eax
test ax, ax
je 0x45d556
lea rcx, [rsp + 0xc0]
call fcn.00449ce0
mov rcx, qword [rsp + 0x130]
mov eax, dword [rcx + 0xc]
test eax, eax
jle 0x45f24f
add eax, 0xffffffff
lea rax, [rax + rax*2]
lea rbx, [rcx + rax*8]
add rbx, 0x18
jmp 0x44c1d4
mov r15, r10
lea edx, [r13 + 1]
mov rcx, qword [rsp + 0x80]
xor r8d, r8d
call fcn.00449fe0
test eax, eax
jne 0x45f482
mov rax, qword [rsp + 0x78]
mov r9, qword [rax + rsi + 8]
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, r12d
mov r8d, r13d
call fcn.00441350
test eax, eax
jne 0x45f441
mov rbx, qword [rsp + 0x78]
lea rax, [rbx + rsi]
add rax, 8
mov rcx, qword [rax]
mov edx, r13d
mov byte [rcx + rdx], 0
mov word [r15], 0x10
mov dword [rbx + rsi + 0x10], r13d
mov rcx, qword [rax]
mov edx, ebp
mov r8, qword [rsp + 0x80]
call fcn.00460110
and byte [r15 + 1], 0xbf
xor eax, eax
mov qword [rsp + 0x80], rax
mov r15, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
mov r13, r14
mov rcx, qword [rdi + rsi + 0x28]
mov qword [rdi + rsi + 8], rcx
mov r14, qword [rsp + 0x58]
mov rdx, r12
mov r8, rbx
call fcn.005f4c20
mov rax, qword [rdi + rsi + 8]
mov byte [rax + rbx], 0
mov rax, qword [rdi + rsi + 8]
lea ecx, [rbx + 1]
mov byte [rax + rcx], 0
and ebp, 1
lea rax, [0x005fd1e8]
movzx eax, word [rax + rbp*2]
mov rcx, qword [rsp + 0x88]
mov word [rcx], ax
mov rbx, qword [rsp + 0x68]
movabs rsi, 0xd4a2a94b0460db81
mov rdi, r14
mov r14, r13
mov r13, qword [rsp + 0x50]
add rbx, 0x18
jmp 0x44c1d4
mov rbp, qword [rdx + 0x10]
mov qword [rcx + 0x10], rbp
movdqu xmm0, xmmword [rdx]
movdqu xmmword [rcx], xmm0
mov ecx, dword [rdx + 0x14]
not ecx
or ecx, 0xdfff
cmp cx, 0xffff
jne 0x44c1d0
mov rcx, qword [rsp + 0x78]
add rax, rcx
add rax, 0x14
mov ecx, dword [rax]
mov edx, ecx
xor edx, 0x7000
and edx, ecx
mov ecx, edx
and ecx, 0x2000
xor edx, 0x2000
or edx, ecx
mov word [rax], dx
add rbx, 0x18
jmp 0x44c1d4
add rax, rdi
add rax, 0x14
mov word [rax], 1
mov rdi, rsi
mov rsi, r14
mov r14, r12
add rbx, 0x18
jmp 0x44c1d4
neg cl
mov rdx, 0xffffffffffffffff
shl rdx, cl
mov rsi, rdx
not rsi
mov rcx, rax
not rcx
movabs rdi, 0xf127ba2e735b4a49
mov rbp, rdi
not rbp
mov rbx, rsi
and rbx, rdi
and rdx, rbp
or rdx, rbx
mov rbx, qword [rsp + 0x68]
or rsi, rcx
and rcx, rdi
and rbp, rax
or rbp, rcx
xor rbp, rdx
not rsi
or rsi, rbp
mov qword [r10], rsi
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx + r15 + 0x14]
or eax, 4
and eax, 0xf244
mov word [rcx + r15 + 0x14], ax
mov rdi, qword [rsp + 0x58]
movabs rsi, 0xd4a2a94b0460db81
mov r15, r8
add rbx, 0x18
jmp 0x44c1d4
xor esi, esi
jmp 0x45b319
cmp dword [rax + 0x80], 0
je 0x45ddcf
mov r13d, r9d
call fcn.00432ba0
mov ebp, eax
jmp 0x45ddc8
mov al, byte [rbx + 0x16]
mov rdx, rbp
cmp al, 5
jne 0x45a4ef
jmp 0x45a4f3
call fcn.00430480
mov ebp, edi
xor edi, edi
test ebp, ebp
je 0x45d7e4
movabs rsi, 0xd4a2a94b0460db81
jmp 0x45541b
mov rcx, qword [r13]
mov rdx, qword [rsp + 0xb0]
lea r8, [rsp + 0xc0]
xor r9d, r9d
call qword [rcx + 0x110]
test eax, eax
je 0x45dd8a
mov ebp, eax
xorpd xmm7, xmm7
pxor xmm13, xmm13
movabs rsi, 0xd4a2a94b0460db81
jmp 0x455413
add dword [rcx + 0x1b8], 1
mov edx, 0x3f8
call fcn.004299f0
test rax, rax
je 0x45da45
mov rcx, qword [r12]
mov qword [rax], rcx
mov qword [r12], rax
lea rcx, [rax + 8]
mov word [r12 + 0x30], 0x29
add rax, 0x20
mov qword [r12 + 0x20], rax
mov qword [rsi], rcx
mov qword [rsp + 0x98], r15
mov qword [rsp + 0x48], r14
mov r15, rcx
movdqu xmmword [rcx], xmm13
mov rax, qword [r13 + 8]
mov qword [rsp + 0xc0], rax
movdqu xmmword [r13 + 8], xmm13
test rax, rax
je 0x45d8cf
mov esi, 1
lea r14, [rsp + 0xc0]
mov rbx, rax
mov rax, qword [rax + 8]
mov qword [rsp + 0xc0], rax
mov qword [rbx + 0x10], r13
mov rcx, r14
mov edx, esi
call fcn.0047c4f0
mov qword [rbx + 8], rax
add esi, 1
mov rax, qword [rsp + 0xc0]
mov r13, rbx
test rax, rax
jne 0x45d899
jmp 0x45d8d2
mov rbx, r13
mov qword [r15 + 0x10], rbx
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x98]
movdqu xmmword [r15], xmm13
movzx eax, word [r12 + 0x32]
mov ecx, eax
and ecx, 1
xor eax, 1
or eax, ecx
mov word [r12 + 0x32], ax
movabs rsi, 0xd4a2a94b0460db81
mov eax, dword [rsp + 0x88]
mov dword [r12 + 0x34], eax
mov r13, qword [rsp + 0x50]
mov edx, eax
mov rax, qword [r12 + 0x28]
test rax, rax
mov r15, qword [rsp + 0x70]
jne 0x45d984
test edx, edx
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xa0]
js 0x45d9e6
mov rsi, qword [rdx + rdi + 8]
mov rdi, qword [rcx]
movzx eax, word [rsi + 0x30]
test ax, ax
je 0x45d9ba
mov rcx, qword [rsi + 0x20]
add eax, 0xffffffff
mov word [rsi + 0x30], ax
lea rax, [rcx + 0x18]
mov qword [rsi + 0x20], rax
test rcx, rcx
mov rbp, qword [rsp + 0x58]
jne 0x45da86
jmp 0x45c5ba
mov rax, qword [rax + 8]
test rax, rax
je 0x45d92f
mov rcx, qword [rax + 0x10]
test rcx, rcx
jne 0x45d99b
jmp 0x45d97b
add rcx, 8
mov rcx, qword [rcx]
test rcx, rcx
je 0x45d97b
cmp qword [rcx], rbp
jl 0x45d98f
jle 0x45d9b0
add rcx, 0x10
mov rcx, qword [rcx]
test rcx, rcx
jne 0x45d99b
jmp 0x45d97b
mov rdi, qword [rsp + 0x58]
jmp 0x45dd69
mov rcx, qword [rsi + 8]
movzx eax, word [rcx + 0x1a4]
cmp eax, 0x3f7
mov rbp, qword [rsp + 0x58]
ja 0x45d9fe
cmp dword [rcx + 0x1a0], 0
je 0x45da1d
cmp byte [rcx + 0x67], 0
jne 0x45c5ba
jmp 0x45da58
mov rdi, qword [rsp + 0x58]
movabs rsi, 0xd4a2a94b0460db81
add rbx, 0x18
jmp 0x44c1d4
mov rax, qword [rcx + 0x1c8]
test rax, rax
je 0x45da26
mov rdx, qword [rax]
mov qword [rcx + 0x1c8], rdx
add dword [rcx + 0x1b0], 1
jmp 0x45da62
add dword [rcx + 0x1b4], 1
jmp 0x45da58
mov rax, qword [rcx + 0x1c0]
test rax, rax
je 0x45da51
mov rdx, qword [rax]
mov qword [rcx + 0x1c0], rdx
add dword [rcx + 0x1b0], 1
jmp 0x45da62
mov qword [rsi], 0
jmp 0x45d8e8
add dword [rcx + 0x1b8], 1
mov edx, 0x3f8
call fcn.004299f0
test rax, rax
je 0x45c5ba
mov rcx, qword [rsi]
mov qword [rax], rcx
mov qword [rsi], rax
lea rcx, [rax + 8]
mov word [rsi + 0x30], 0x29
add rax, 0x20
mov qword [rsi + 0x20], rax
mov qword [rcx], rdi
mov qword [rcx + 8], 0
mov rax, qword [rsi + 0x18]
test rax, rax
je 0x45daaf
cmp qword [rax], rdi
jl 0x45daa3
and byte [rsi + 0x32], 0xfe
add rax, 8
mov rdi, rbp
jmp 0x45a269
lea rax, [rsi + 0x10]
mov rdi, rbp
jmp 0x45a269
cmp dword [r8 + 0x80], 0
je 0x45de63
call fcn.00432ba0
jmp 0x45de56
mov rax, qword [rsp + 0x78]
add rax, r14
add rax, 8
mov rcx, qword [rax]
mov r8d, dword [rax + 8]
mov r9b, byte [rax + 0xe]
mov rdx, r11
call fcn.0044b0a0
mov r11, rdi
mov r8, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xb0]
test eax, eax
je 0x45df25
movsd qword [r11], xmm6
mov ax, 8
mov ecx, dword [rbx]
mov edx, ecx
not edx
or edx, 2
movzx eax, ax
mov ebp, eax
not ebp
mov edi, edx
and edi, 0x480d
and ecx, 0xffffb7f0
or ecx, edi
or edx, ebp
and ebp, 0x480d
and eax, 2
or eax, ebp
xor eax, ecx
not edx
or edx, eax
mov word [rbx], dx
movapd xmm6, xmm7
xorpd xmm7, xmm7
movzx ecx, word [r8]
mov eax, ecx
xor eax, 0xffffffd1
mov dword [rsp + 0x88], ecx
and eax, ecx
cmp ax, 2
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x48]
jne 0x45dca5
mov rax, qword [rsp + 0x78]
mov r9b, byte [rax + r13 + 0x16]
mov rcx, qword [rax + r13 + 8]
mov r8d, dword [rax + r13 + 0x10]
lea rdx, [rsp + 0xc0]
mov rbx, r11
call fcn.0044aa80
mov r11, rbx
test eax, eax
jle 0x45dca5
xorpd xmm0, xmm0
movapd xmm7, xmm6
movsd xmm6, qword [rsp + 0xc0]
cmp eax, 1
jne 0x45dc49
cvttsd2si rax, xmm6
ucomisd xmm6, xmm0
jne 0x45dbd5
jnp 0x45dc09
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
movq rcx, xmm6
movq rdx, xmm0
cmp rcx, rdx
setne cl
movabs rdx, 0x8000000000000
add rdx, rax
shr rdx, 0x34
setne dl
test dl, cl
jne 0x45dc1a
xor dl, cl
jne 0x45dc1a
mov rcx, qword [rsp + 0xa0]
mov qword [rcx], rax
mov ax, 4
jmp 0x45dc59
mov rax, qword [rsp + 0x78]
add rax, r13
add rax, 8
mov rcx, qword [rax]
mov r8d, dword [rax + 8]
mov r9b, byte [rax + 0xe]
mov rdx, qword [rsp + 0xa0]
call fcn.0044b0a0
mov r11, rbx
test eax, eax
je 0x45df2e
mov rax, qword [rsp + 0xa0]
movsd qword [rax], xmm6
mov ax, 8
mov r8, qword [rsp + 0x98]
mov ecx, dword [r8]
mov edx, ecx
xor edx, 2
and edx, ecx
mov ecx, edx
not ecx
movzx eax, ax
mov ebp, eax
not ebp
mov ebx, ecx
and ebx, 0xffffcca3
and edx, 0x335c
or edx, ebx
or ecx, ebp
and ebp, 0xffffcca3
and eax, 0xfffffffc
or eax, ebp
xor eax, edx
not ecx
or ecx, eax
mov word [r8], cx
movapd xmm6, xmm7
xorpd xmm7, xmm7
mov rbx, rsi
mov r13, qword [rsp + 0x50]
mov r8, qword [rbx + 0x10]
mov rcx, qword [rsp + 0xa0]
mov rdx, r11
call fcn.0045fd80
mov dword [rsp + 0xac], eax
test eax, eax
movabs rsi, 0xd4a2a94b0460db81
js 0x45dd22
movzx ebp, byte [rbx]
mov r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0x98]
mov r10d, dword [rsp + 0x158]
je 0x45dd05
lea rax, [0x005fade0]
add rax, rbp
add rax, 0xd8
jmp 0x45dd51
lea rax, [0x005fade0]
add rax, rbp
add rax, 0xd2
mov dword [rsp + 0xac], 0
jmp 0x45dd51
mov bpl, byte [rbx]
mov r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0x98]
mov r10d, dword [rsp + 0x158]
movzx eax, bpl
lea rcx, [0x005fade0]
add rax, rcx
add rax, 0xcc
cmp byte [rax], 0
mov eax, dword [rsp + 0x88]
mov word [r9], ax
mov word [r8], r10w
je 0x44c1d0
mov eax, dword [rbx + 8]
add eax, 0xffffffff
cdqe
lea rax, [rax + rax*2]
mov rcx, qword [rsp + 0x130]
lea rbx, [rcx + rax*8]
add rbx, 0x18
jmp 0x44c1d4
mov rax, qword [rsp + 0xc0]
mov rsi, qword [rax + 0x10]
mov rcx, qword [rsp + 0xb0]
cmp dword [rsi + 4], ecx
jne 0x45de90
mov rcx, qword [rsi + 0x48]
jmp 0x45dec1
call fcn.00440110
mov ebp, eax
xorpd xmm7, xmm7
pxor xmm13, xmm13
mov r15, qword [rsp + 0x98]
test ebp, ebp
mov r9d, r13d
jne 0x45ddec
mov eax, ebx
shr eax, 0x18
mov byte [rdi + 0x34], al
mov eax, ebx
shr eax, 0x10
mov byte [rdi + 0x35], al
mov byte [rdi + 0x36], bh
add sil, 2
mov byte [rdi + 0x37], sil
xor ebp, ebp
cmp byte [r12 + 0x11], 0
je 0x45de13
add dword [r12 + 0x14], 0xffffffff
mov rbx, qword [rsp + 0x68]
movabs rsi, 0xd4a2a94b0460db81
je 0x45de2f
mov edi, r9d
jmp 0x45541b
mov edi, r9d
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
movabs r14, 0xd4a2a94b0460db81
jmp 0x45544f
mov rcx, r12
mov edi, r9d
call fcn.0043ea70
jmp 0x45541b
mov rcx, qword [rsp + 0x70]
mov rdx, r8
call fcn.00429840
jmp 0x45df89
call fcn.00440110
test eax, eax
xorpd xmm7, xmm7
pxor xmm13, xmm13
jne 0x45de7a
mov al, byte [rsp + 0x80]
mov rcx, qword [rsp + 0xb0]
mov byte [rcx + 0x12], al
mov byte [rcx + 0x13], al
xor eax, eax
mov edx, dword [rbp + 0x28]
mov ecx, edx
xor ecx, 0x20
and ecx, edx
mov word [rbp + 0x28], cx
mov r13, r12
jmp 0x453081
mov rcx, qword [rax + 8]
mov qword [rsi + 0x50], rcx
mov qword [rsi + 0x70], rax
mov qword [rsi + 0x48], r13
mov rax, qword [rsp + 0xb0]
mov dword [rsi + 4], eax
cmp eax, 1
mov eax, 0
mov ecx, 0x64
cmove eax, ecx
mov byte [rsi + 9], al
mov rcx, r13
mov r8d, dword [rsi + 4]
mov rdx, rsi
call fcn.004695a0
mov r14d, eax
mov rcx, qword [rsi + 0x70]
mov eax, dword [rcx + 0x34]
not eax
or eax, 0xffdf
cmp ax, 0xffff
je 0x45df37
mov rbp, qword [rcx + 0x28]
add dword [rbp + 0x98], 0xffffffff
mov rax, qword [rbp + 0xa8]
mov qword [rcx + 0x20], rax
mov qword [rbp + 0xa8], rcx
mov rax, qword [rbp + 0x48]
mov edx, dword [rcx + 0x30]
mov r8, qword [rcx + 8]
add edx, 0xffffffff
imul rdx, qword [rbp + 0xc8]
mov rbp, qword [rax]
mov rcx, rax
call qword [rbp + 0x90]
jmp 0x45df3c
mov ax, 4
jmp 0x45db16
mov ax, 4
jmp 0x45dc59
call fcn.00430480
mov rcx, qword [rsp + 0xb0]
mov r9d, ecx
mov ebp, r14d
test r14d, r14d
xorpd xmm7, xmm7
pxor xmm13, xmm13
movabs rsi, 0xd4a2a94b0460db81
mov r15, qword [rsp + 0x98]
jne 0x45541b
jmp 0x45c5f7
cmp r8, 0x81
jb 0x45df9e
mov rcx, qword [rsp + 0x70]
mov rdx, rax
call fcn.00429900
test rax, rax
je 0x45e019
mov rcx, qword [rsp + 0x70]
movsxd rcx, dword [rcx + 0x21c]
pxor xmm13, xmm13
movdqu xmmword [rax + rcx*8 + 0x10], xmm13
movdqu xmmword [rax + rcx*8], xmm13
mov qword [rax + rcx*8 + 0x20], 0
mov rcx, qword [rsp + 0x70]
mov qword [rcx + 0x240], rax
mov rax, qword [rsi + 0x50]
mov rdi, r15
mov r15, rcx
xorpd xmm7, xmm7
movabs rsi, 0xd4a2a94b0460db81
test rax, rax
je 0x45dff0
cmp qword [rax], r15
je 0x45dff2
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x45dfe2
xor eax, eax
mov rcx, qword [r15 + 0x240]
movsxd rdx, dword [r15 + 0x21c]
lea ebp, [rdx + 1]
mov dword [r15 + 0x21c], ebp
mov qword [rcx + rdx*8], rax
add dword [rax + 0x18], 1
xor ebp, ebp
jmp 0x458d89
mov ebp, 7
mov rax, qword [rsp + 0x70]
mov rdi, r15
mov r15, rax
xorpd xmm7, xmm7
pxor xmm13, xmm13
movabs rsi, 0xd4a2a94b0460db81
jmp 0x458d89
mov rdi, 0xffffffffffffffff
mov r12, qword [rsp + 0x40]
jmp 0x45f56c
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
jmp 0x45f56c
mov rbx, r12
mov r12, qword [rsp + 0x40]
mov rdi, rbp
jmp 0x44bec5
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jmp 0x45f56c
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r12, qword [rsp + 0x40]
jmp 0x45e3d3
mov rbx, rbp
mov r12, qword [rsp + 0x40]
mov rdi, r13
mov r13, qword [rsp + 0x50]
jmp 0x44bec5
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov ecx, 0xb
mov r9d, 0x11975
call fcn.00408970
mov ebp, 0xb
jmp 0x45e0f0
mov ebp, eax
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r12, qword [rsp + 0x40]
jmp 0x45f56c
mov ebp, eax
mov r12, qword [rsp + 0x40]
jmp 0x45f56c
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
jmp 0x45e37b
mov r12, qword [rsp + 0x40]
jmp 0x44bec5
mov eax, r15d
jmp 0x45e3c1
add dword [r15 + 0xe8], 0xffffffff
mov ebp, 6
jmp 0x45ef00
lea rdx, [0x005fd2d3]
mov r12, qword [rsp + 0x40]
mov rcx, r12
mov r8, rsi
call fcn.004496d0
mov ebp, 1
jmp 0x45e5e3
mov edx, 0xffffffff
xor rdx, rbp
not rdx
and rdx, rbp
and eax, 0x3f
lea rbp, [0x005faf80]
movzx eax, byte [rax + rbp]
lea rbp, [0x005fd500]
mov r8, qword [rbp + rax*8 - 8]
add ecx, 0xffffffff
movsxd rax, ecx
lea rcx, [0x005f6ea0]
mov r9, qword [rcx + rax*8]
mov rax, qword [r15]
lea rcx, [rdx + rdx*2]
mov rcx, qword [r14 + rcx*8]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea rdx, [0x005fd1ec]
mov r12, qword [rsp + 0x40]
mov rcx, r12
call fcn.004496d0
mov ebp, 0xc13
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0x70]
jmp 0x45f56c
mov eax, dword [rbx + 8]
mov rcx, qword [rsp + 0x70]
movzx ecx, byte [rcx + 0x65]
cmp r12d, ecx
jne 0x45e780
test eax, eax
lea rax, [0x005fd3b1]
lea rcx, [0x005fd386]
cmove rcx, rax
test r12d, r12d
lea rdx, [0x005fd356]
cmovne rdx, rcx
mov ebp, 1
mov r12, qword [rsp + 0x40]
mov rcx, r12
call fcn.004496d0
mov r15, qword [rsp + 0x70]
jmp 0x45f56c
mov r12, qword [rsp + 0x40]
mov eax, dword [r12 + 0x2c]
add eax, 2
mov ecx, eax
not ecx
and ecx, 0xdee001fd
mov edx, eax
and edx, 0x211ffe02
or edx, ecx
xor edx, 0xdee001fc
and eax, 1
or eax, edx
mov dword [r12 + 0x2c], eax
movsxd rax, dword [rbx + 4]
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov qword [r12 + 0xa0], rcx
cmp byte [r15 + 0x67], 0
jne 0x44bec5
mov al, byte [r15 + 0x6e]
mov ecx, eax
xor cl, 0xfb
test cl, al
je 0x45e2ca
mov rdx, qword [r15 + 0x100]
mov ecx, 4
mov r8, r12
xor r9d, r9d
call qword [r15 + 0xf8]
movabs rax, 0xb209abe7936baec9
lea rcx, [rbx + rax]
sub rcx, qword [rsp + 0x130]
sub rcx, rax
shr rcx, 3
imul eax, ecx, 0xaaaaaaab
add eax, 1
mov dword [r12 + 0x30], eax
mov ebp, 0x64
jmp 0x45f8f0
mov rax, qword [rsp + 0x80]
mov ebp, eax
mov r12, qword [rsp + 0x40]
jmp 0x45f56c
mov r12, qword [rsp + 0x40]
mov rdi, r13
mov r13, rbp
jmp 0x44bec5
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov ebp, 0xb
mov ecx, 0xb
mov r9d, 0x14eaf
call fcn.00408970
jmp 0x45ea53
mov r12, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jmp 0x45ef00
mov rbx, rdi
jmp 0x45e06e
mov rbx, qword [rsp + 0x68]
mov r12, qword [rsp + 0x40]
mov rdi, rbp
mov ebp, eax
jmp 0x45f56c
mov ebp, eax
mov rcx, qword [rsi]
call fcn.00449380
jmp 0x45e0fa
mov rdi, r12
jmp 0x45e0fa
mov ebp, 0xd
mov r13, qword [rsp + 0x50]
jmp 0x45ee02
mov ebp, eax
jmp 0x45ee02
mov ebp, edx
mov r12, qword [rsp + 0x40]
jmp 0x45f56c
mov ebp, eax
jmp 0x45e434
mov eax, ebx
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r12, qword [rsp + 0x40]
mov r15, rbp
mov ebp, eax
mov r14, qword [rsp + 0x48]
jmp 0x45f56c
mov ebp, 0x204
mov r12, qword [rsp + 0x40]
jmp 0x45f56c
cmp dword [rsp + 0xe0], 0
je 0x45e405
lea rcx, [rsp + 0xc0]
call fcn.00449ce0
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov ebp, 0xb
mov ecx, 0xb
mov r9d, 0x14e8e
call fcn.00408970
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x40]
jmp 0x45f56c
mov rax, qword [rsp + 0x58]
mov rbx, rdi
mov rdi, rax
mov r13, qword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
mov r15, r14
mov r14, rax
jmp 0x44bec5
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov ebp, 0xb
mov ecx, 0xb
mov r9d, 0x11975
call fcn.00408970
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
jmp 0x45ef00
mov qword [rsp + 0x50], r13
mov rax, qword [rsp + 0x148]
mov rdx, qword [rax]
mov rcx, r15
call fcn.00408130
mov edx, 0x1c
mov rcx, r15
call fcn.00429840
test rax, rax
je 0x45e4f6
movups xmm0, xmmword [0x005fd3e6]
movups xmmword [rax + 0xc], xmm0
movdqu xmm0, xmmword [0x005fd3da]
movdqu xmmword [rax], xmm0
mov rcx, qword [rsp + 0x148]
mov qword [rcx], rax
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
mov r12, rbx
movsxd rcx, dword [rbx + 4]
mov rdx, rcx
shl rdx, 5
mov rdx, qword [rax + rdx + 0x18]
mov edx, dword [rdx]
cmp edx, dword [rsp + 0xc0]
mov r14, qword [rsp + 0x40]
je 0x45e580
mov ecx, ecx
test ecx, ecx
js 0x45e575
shl rcx, 5
mov rcx, qword [rax + rcx + 0x18]
movzx edx, word [rcx + 0x72]
mov ebp, edx
and ebp, 8
xor edx, 8
or edx, ebp
mov word [rcx + 0x72], dx
mov rcx, qword [rax + 0x38]
movzx edx, word [rcx + 0x72]
mov ebp, edx
and ebp, 8
xor edx, 8
or edx, ebp
mov word [rcx + 0x72], dx
mov ecx, dword [r15 + 0x2c]
mov edx, ecx
xor edx, 0x10
and edx, ecx
mov dword [r15 + 0x2c], edx
cmp dword [r15 + 0x48], 0
je 0x45f082
mov eax, dword [r14 + 0xc8]
mov ecx, eax
not ecx
or ecx, 1
and ecx, 0x52282409
and eax, 0xadd7dbe4
or eax, ecx
xor eax, 0x52282408
mov dword [r14 + 0xc8], eax
mov eax, 0x11
mov rbx, r12
mov r13, qword [rsp + 0x50]
mov ebp, eax
mov r12, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x58]
jmp 0x45f56c
lea rdx, [0x005fd2e9]
mov r12, qword [rsp + 0x40]
mov rcx, r12
call fcn.004496d0
mov ebp, 5
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x48]
jmp 0x45f56c
mov r12, qword [rsp + 0x40]
mov dword [r12 + 0x34], eax
mov rbx, rsi
mov cl, byte [rsi + 8]
mov byte [r12 + 0xc2], cl
test eax, eax
je 0x45ef67
movzx eax, word [rbx + 2]
test rax, rax
je 0x45ef0a
movabs rcx, 0xdadb770345230c9f
add rax, rcx
mov edx, 0xffffffff
add rax, rdx
sub rax, rcx
xor rdx, rax
not rdx
and rdx, rax
lea rax, [0x005fd160]
mov r8, qword [rax + rdx*8]
lea rdx, [0x005fd1a2]
mov rcx, r12
call fcn.004496d0
mov r9, qword [rbx + 0x10]
test r9, r9
je 0x45ef1d
mov rsi, qword [rsp + 0x148]
mov r8, qword [rsi]
lea rdx, [0x005fd1b7]
mov rcx, r15
call fcn.00419c10
mov qword [rsi], rax
jmp 0x45ef1d
mov ebp, 0x65
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
jmp 0x45f8f0
mov r12, qword [rsp + 0x40]
mov dword [r12 + 0x34], 0x313
mov byte [r12 + 0xc2], 2
lea rdx, [0x005fc3d1]
mov rcx, r12
call fcn.004496d0
cmp byte [r12 + 0xc4], 0
mov eax, 1
mov ebp, 0x313
cmovns ebp, eax
jmp 0x45f56c
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov ecx, 0xb
mov r9d, 0x17221
jmp 0x45eade
mov byte [r12 + 0xc2], 2
mov ebp, 6
mov rdi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x48]
jmp 0x45f56c
mov edx, eax
test rsi, rsi
mov r14, rbp
je 0x45ec9d
mov eax, dword [rsi + 0x14]
mov ecx, eax
xor ecx, 0xfffffdfd
and ecx, eax
movzx ecx, cx
cmp ecx, 0x202
mov r12, qword [rsp + 0x40]
jne 0x45eb54
cmp byte [rsi + 0x16], 1
jne 0x45eb54
mov r8, qword [rsi + 8]
mov ebp, edx
jmp 0x45f2ae
mov ebp, r14d
jmp 0x45eb0e
test eax, eax
je 0x45ecac
mov qword [rsp + 0x50], r13
mov r13, r14
mov r14, rdi
mov r15, qword [rsp + 0x70]
mov rcx, r15
mov edx, 0x204
call fcn.00447af0
mov al, 1
mov byte [r15 + 0x65], al
mov rbp, qword [rsp + 0x40]
mov rcx, rbp
call fcn.00445770
cmp eax, 5
jne 0x45ecd8
mov rax, rbx
sub rax, qword [rsp + 0x130]
shr rax, 3
imul eax, eax, 0xaaaaaaab
mov dword [rbp + 0x30], eax
mov al, 1
sub al, r12b
mov byte [r15 + 0x65], al
mov dword [rbp + 0x34], 5
mov r12, rbp
mov ebp, 5
mov rdi, r14
mov r14, r13
mov r13, qword [rsp + 0x50]
jmp 0x45f8f0
mov ebp, eax
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
jmp 0x45f56c
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x40]
mov r15, rsi
mov r14, qword [rsp + 0x48]
jmp 0x45f56c
mov rcx, qword [rsp + 0xc0]
call qword [rdi + 0x38]
jmp 0x45e06e
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov ebp, 0xb
mov ecx, 0xb
mov r9d, 0x1382f
call fcn.00408970
jmp 0x45ea53
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
jmp 0x45ebba
mov ebp, eax
mov ecx, dword [rsp + 0xd4]
mov eax, ecx
xor eax, 0x6fff
and ax, cx
sete cl
cmp dword [rsp + 0xe0], 0
setne dl
cmp cl, dl
mov rbx, qword [rsp + 0x68]
je 0x45e8b0
test ax, ax
je 0x45e8bd
lea rcx, [rsp + 0xc0]
call fcn.00449ce0
mov r12, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
jmp 0x45ea62
mov rdi, r12
mov rbx, qword [rsp + 0x68]
mov r12, qword [rsp + 0x40]
jmp 0x44bec5
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov ebp, 0xb
mov ecx, 0xb
mov r9d, 0x16d2f
call fcn.00408970
jmp 0x45f332
mov ebp, eax
jmp 0x45eef8
lea rdx, [0x005fd440]
mov r12, qword [rsp + 0x40]
mov rcx, r12
call fcn.004496d0
mov ebp, 1
mov r14, qword [rsp + 0x48]
jmp 0x45f56c
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov ecx, 0xb
mov r9d, 0x11975
call fcn.00408970
mov dword [r12 + 0x20], 0
jmp 0x45e0e7
mov rbx, rbp
mov ebp, eax
jmp 0x45eef3
mov ebp, eax
mov rbx, r13
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
jmp 0x45ee02
lea rdx, [0x005fd2a0]
mov r12, qword [rsp + 0x40]
mov rcx, r12
call fcn.004496d0
mov ebp, 5
jmp 0x45f56c
mov ebp, 0xd
mov rbx, r13
mov r13, qword [rsp + 0x50]
jmp 0x45ee02
not eax
or rax, 0xffffffffffefffff
xor ecx, ecx
cmp rax, 0xffffffffffffffff
sete cl
lea ebp, [rcx + rcx*2]
or ebp, 8
mov r12, qword [rsp + 0x40]
jmp 0x45f56c
mov r12, qword [rsp + 0x40]
jmp 0x45f3f9
mov ebp, eax
not eax
or eax, 0xffffff00
cmp eax, 0xfffffffa
mov rdi, qword [rsp + 0x58]
jne 0x45f332
movabs rax, 0x36cc7dcc4c9bdb72
lea rcx, [rbx + rax]
sub rcx, qword [rsp + 0x130]
sub rcx, rax
shr rcx, 3
imul eax, ecx, 0xaaaaaaab
mov r12, qword [rsp + 0x40]
mov dword [r12 + 0x30], eax
mov dword [r12 + 0x34], ebp
mov r14, qword [rsp + 0x48]
jmp 0x45f8f0
mov r13, qword [rsp + 0x50]
jmp 0x45ebdb
mov ebp, eax
jmp 0x45f323
mov ebp, eax
mov r12, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
mov r15, rdi
mov rdi, rax
jmp 0x45f56c
mov ebp, 7
mov rbx, r13
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
jmp 0x45e080
mov r15, qword [rsp + 0x70]
mov r12, rsi
jmp 0x44bec5
mov ebp, 7
mov rbx, r12
jmp 0x45eaeb
mov ebp, r14d
mov rdi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x48]
jmp 0x45e05c
mov r12, qword [rsp + 0x40]
jmp 0x45eaf3
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov ecx, 0xb
mov r9d, 0x1382f
call fcn.00408970
mov ebp, 0xb
mov rbx, rdi
mov r12, qword [rsp + 0x40]
mov rdi, r13
mov r13, r14
mov r14, qword [rsp + 0x48]
jmp 0x45f56c
mov qword [r12 + 0x30], 0
mov ebp, 7
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
jmp 0x45f403
mov eax, ebp
xor eax, 0x1f8
and eax, ebp
cmp eax, 6
mov rbx, qword [rsp + 0x68]
jne 0x45eb4a
mov r8, qword [rbx + 0x10]
lea rdx, [0x005fd4a5]
mov r12, qword [rsp + 0x40]
jmp 0x45f2b5
mov r12, qword [rsp + 0x40]
jmp 0x45f56c
not eax
or eax, 0xfffe
cmp ax, 0xffff
mov ebp, edx
je 0x45f2a1
xor r8d, r8d
jmp 0x45f2ae
mov ebp, eax
mov eax, dword [rsp + 0xd4]
not eax
or eax, 0x6fff
cmp ax, 0xffff
sete cl
cmp dword [rsp + 0xe0], 0
setne dl
cmp cl, dl
mov rbx, rdi
je 0x45eba3
not eax
test ax, ax
je 0x45eaeb
lea rcx, [rsp + 0xc0]
call fcn.00449ce0
jmp 0x45eaeb
mov r12, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
jmp 0x44bec5
mov rbx, r14
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
mov ebp, eax
jmp 0x45f113
mov rbx, r13
mov r13, qword [rsp + 0x50]
mov r14, r12
jmp 0x45ebfc
mov rbx, r13
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jmp 0x44bec5
mov qword [rdi + 0x30], 0
mov ebp, 7
mov rbx, qword [rsp + 0x68]
mov rax, r12
mov r12, qword [rsp + 0x40]
mov rdi, r13
mov r13, r14
mov r14, rax
jmp 0x45f56c
mov ebp, eax
mov rbx, rsi
mov r13, qword [rsp + 0x50]
jmp 0x45e080
mov ebp, r12d
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
mov r15, r14
mov r14, rax
jmp 0x45f56c
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov ecx, 0xb
mov r9d, 0x1295e
call fcn.00408970
mov ebp, 0xb
mov r15, qword [rsp + 0x70]
jmp 0x45e0fa
xor r8d, r8d
mov r12, qword [rsp + 0x40]
mov ebp, edx
jmp 0x45f2ae
test r12d, r12d
je 0x45f025
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0xe0], 0
jle 0x45f025
mov ebp, 5
lea rdx, [0x005fd31f]
jmp 0x45e239
mov rsi, qword [r15 + 0x2d8]
test rsi, rsi
mov r12, rbp
mov rdi, r14
mov r14, r13
mov r13, qword [rsp + 0x50]
jne 0x45ed1e
mov qword [r15 + 0x2e8], 0
mov byte [r15 + 0x6d], 0
jmp 0x45ef87
mov rcx, r15
mov rdx, rsi
call fcn.004297f0
mov rsi, qword [r15 + 0x2d8]
test rsi, rsi
je 0x45ecf2
mov rax, qword [rsi + 0x18]
mov qword [r15 + 0x2d8], rax
cmp qword [r15 + 0x300], 0
jne 0x45ed07
cmp qword [r15 + 0x1f0], rsi
jbe 0x45ed4e
cmp qword [r15 + 0x1e0], rsi
jbe 0x45eda7
cmp qword [r15 + 0x1e8], rsi
jbe 0x45edcb
cmp dword [0x005f6010], 0
je 0x45edbd
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x45ed69
call qword [0x005f6090]
mov rcx, rsi
call qword [0x005f6048]
cdqe
sub qword [0x0213b040], rax
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rsi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x45ed12
call qword [0x005f60a0]
jmp 0x45ed12
mov rax, qword [r15 + 0x1d8]
mov qword [rsi], rax
mov qword [r15 + 0x1d8], rsi
jmp 0x45ed12
mov rcx, rsi
call qword [0x005f6038]
jmp 0x45ed12
mov rax, qword [r15 + 0x1c8]
mov qword [rsi], rax
mov qword [r15 + 0x1c8], rsi
jmp 0x45ed12
mov rdx, qword [rsp + 0x40]
mov rax, qword [rdx + 0x38]
movabs rcx, 0xa254b9040c8b9efe
sub rax, rcx
add rax, rcx
add rax, 1
mov qword [rdx + 0x38], rax
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x40]
jmp 0x45f56c
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov ebp, 0xb
mov ecx, 0xb
mov r9d, 0x11975
call fcn.00408970
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x40]
jmp 0x45f56c
mov ebp, 7
mov rcx, r15
call fcn.00411230
cmp ebp, 7
mov r12, qword [rsp + 0x40]
je 0x44bec5
jmp 0x45f56c
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
jmp 0x45f292
mov ebp, eax
jmp 0x45eae8
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
jmp 0x45efdd
cmp r15d, 5
lea rax, [0x005fd499]
lea r8, [0x005fd49e]
cmove r8, rax
lea rdx, [0x005fd465]
mov rsi, qword [rsp + 0x40]
mov rcx, rsi
call fcn.004496d0
mov ebp, 1
mov r15, r12
mov r12, rsi
jmp 0x45e5e8
mov ebp, eax
jmp 0x45f10e
mov ebp, 7
jmp 0x45eaeb
mov ebp, 7
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
mov rdi, r13
mov r13, qword [rsp + 0x50]
jmp 0x45f56c
mov r8, qword [rbx + 0x10]
lea rdx, [0x005faef2]
mov rcx, r12
call fcn.004496d0
movabs rax, 0x3d466557eda39d92
mov rcx, rbx
sub rcx, rax
sub rcx, qword [rsp + 0x130]
add rcx, rax
shr rcx, 3
imul r8d, ecx, 0xaaaaaaab
mov ecx, dword [rbx + 4]
mov rax, qword [r12 + 0xa8]
mov r9, qword [r12 + 0xf8]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fd1be]
call fcn.00408970
mov rcx, r12
call fcn.00445770
cmp eax, 5
jne 0x45ef87
mov dword [r12 + 0x34], 5
mov ebp, 5
jmp 0x45f8f0
cmp dword [r12 + 0x34], 0
mov eax, 0x65
mov ebp, 1
cmove ebp, eax
jmp 0x45f8f0
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov ecx, 0xb
mov r9d, 0x1382f
call fcn.00408970
mov ebp, 0xb
jmp 0x45f366
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
jmp 0x44bec5
mov ebp, r12d
jmp 0x45e0fa
mov ebp, eax
mov eax, dword [r12]
not eax
or eax, 0x6fff
cmp ax, 0xffff
jne 0x45f018
lea rax, [r15 + rdi]
add rax, 0x20
cmp dword [rax], 0
je 0x45f366
mov rcx, r14
call fcn.00449ce0
jmp 0x45f366
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsi]
mov rcx, qword [rax + 0x2f8]
add rcx, qword [rax + 0x2f0]
test rcx, rcx
jle 0x45f3ae
mov dword [rsi + 0x34], 0x313
mov byte [rsi + 0xc2], 2
lea rdx, [0x005fc3d1]
mov rcx, rsi
call fcn.004496d0
cmp byte [rsi + 0xc4], 0
mov eax, 1
mov ebp, 0x313
cmovns ebp, eax
mov r15, qword [rsp + 0x70]
mov r12, rsi
jmp 0x45f8f0
mov edx, dword [r15 + 0x28]
test edx, edx
jle 0x45e580
mov esi, 1
mov edi, 0x18
xor ebx, ebx
mov rcx, qword [rax + rdi]
movzx ebp, word [rcx + 0x72]
mov eax, ebp
xor eax, 0xfff7
test ax, bp
je 0x45f0b7
call fcn.00464bb0
mov edx, dword [r15 + 0x28]
movsxd rax, edx
cmp rsi, rax
jge 0x45e580
add rbx, 1
mov rax, qword [rsp + 0xb8]
mov rax, qword [rax]
add rsi, 1
add rdi, 0x20
jmp 0x45f09a
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov ebp, 0xb
mov ecx, 0xb
mov r9d, 0x11975
call fcn.00408970
mov rbx, r13
mov r13, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
jmp 0x45e05c
mov dword [rsi + 0x34], 0x313
mov byte [rsi + 0xc2], 2
lea rdx, [0x005fc3d1]
mov rcx, rsi
call fcn.004496d0
cmp byte [rsi + 0xc4], 0
mov eax, 1
mov ebp, 0x313
cmovns ebp, eax
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
jmp 0x45f1a7
movabs rax, 0xb17f10dc58ddfdbf
mov rbx, qword [rsp + 0x68]
mov rcx, rbx
sub rcx, rax
sub rcx, qword [rsp + 0x130]
add rcx, rax
shr rcx, 3
imul eax, ecx, 0xaaaaaaab
mov dword [rsi + 0x30], eax
mov r15, qword [rsp + 0x70]
mov byte [r15 + 0x65], 0
mov dword [rsi + 0x34], 5
mov ebp, 5
mov rdi, qword [rsp + 0x58]
mov r12, rsi
mov r14, qword [rsp + 0x48]
jmp 0x45f8f0
mov r15, qword [rsp + 0x70]
mov byte [r15 + 0x65], 0
jmp 0x45f328
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fd3f6]
mov ecx, 0x30b
mov r9d, 0x17154
call fcn.00408970
mov ebp, 0x30b
jmp 0x45eef8
mov rdi, qword [rsp + 0x58]
mov rbx, r14
mov r14, r12
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
jmp 0x44bec5
mov ebp, 7
jmp 0x45e0f0
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov ecx, 0xb
mov r9d, 0x1382f
call fcn.00408970
mov ebp, 0xb
jmp 0x45e434
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov ebp, 0xb
mov ecx, 0xb
mov r9d, 0x16499
call fcn.00408970
mov r12, qword [rsp + 0x40]
jmp 0x45f56c
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x50]
jmp 0x44bec5
mov rcx, rsi
mov dl, 1
call fcn.0044a3f0
mov r8, rax
lea rdx, [0x005faef2]
mov rcx, r12
call fcn.004496d0
jmp 0x45f56c
mov ebp, eax
mov ecx, dword [rsp + 0xd4]
mov eax, ecx
xor eax, 0x6fff
and ax, cx
sete cl
cmp dword [rsp + 0xe0], 0
setne dl
cmp cl, dl
je 0x45f2f0
test ax, ax
je 0x45e434
lea rcx, [rsp + 0xc0]
call fcn.00449ce0
jmp 0x45e434
cmp ax, 5
jne 0x45f3c6
mov al, 2
mov rcx, qword [rsp + 0x40]
mov byte [rcx + 0xc2], al
jmp 0x45ee02
mov ebp, 7
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r12, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x45f56c
mov r12, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
jmp 0x45ebbf
mov ebp, 0x14
jmp 0x45eaeb
mov r12, qword [rsp + 0x40]
jmp 0x45e877
mov ebp, eax
mov r12, qword [rsp + 0x40]
jmp 0x45f3f4
mov r12, qword [rsp + 0x40]
jmp 0x45ef00
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov ecx, 0xb
mov r9d, 0x12975
call fcn.00408970
mov ebp, 0xb
jmp 0x45e49c
mov qword [rsp + 0x50], r13
mov r13, r14
mov r14, rdi
mov eax, r12d
mov r15, qword [rsp + 0x70]
jmp 0x45e7a7
mov rcx, qword [rsp + 0x40]
mov byte [rcx + 0xc2], al
jmp 0x45ee02
mov qword [rsp + 0x48], r14
lea rdx, str.string_or_blob_too_big
mov r12, qword [rsp + 0x40]
mov rcx, r12
call fcn.004496d0
mov ebp, 0x12
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
jmp 0x45f56c
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov ebp, 0xb
mov ecx, 0xb
mov r9d, 0x1382f
jmp 0x45e497
mov ebp, eax
mov eax, dword [r15]
not eax
or eax, 0x6fff
cmp ax, 0xffff
jne 0x45f468
mov rax, qword [rsp + 0x78]
add rax, rsi
add rax, 0x20
cmp dword [rax], 0
je 0x45e49c
mov rcx, qword [rsp + 0x80]
call fcn.00449ce0
jmp 0x45e49c
mov r15, rbp
mov ebp, r12d
jmp 0x45f4bf
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x50]
jmp 0x45e37b
mov r12, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x50]
mov r14, r13
mov r13, rax
jmp 0x44bec5
mov r15, rbp
mov ebp, eax
mov r12, qword [rsp + 0x40]
mov rax, qword [rsp + 0x70]
mov rdi, r15
mov r15, rax
mov rbx, qword [rsp + 0x68]
jmp 0x45f56c
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov ebp, 0xb
mov ecx, 0xb
mov r9d, 0x1382f
call fcn.00408970
jmp 0x45f53d
mov ebp, eax
mov eax, dword [rsp + 0xd4]
not eax
or eax, 0x6fff
cmp ax, 0xffff
jne 0x45f530
cmp dword [rsp + 0xe0], 0
jne 0x45f530
mov al, 1
test al, al
jne 0x45f53d
lea rcx, [rsp + 0xc0]
call fcn.00449ce0
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
jmp 0x45f56c
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
jmp 0x45e37b
mov esi, 7
cmp byte [r15 + 0x67], 0
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], rdi
jne 0x45f5bb
mov esi, ebp
cmp ebp, 0x210a
jne 0x45f5bb
lea rax, [0x005fb813]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fc003]
lea r8, [0x005fc2fd]
mov esi, 0xb
mov ecx, 0xb
mov r9d, 0x17ab5
call fcn.00408970
cmp esi, 0xc0a
je 0x45f650
cmp qword [r12 + 0xa8], 0
jne 0x45f650
mov al, 1
test al, al
je 0x45f650
cmp esi, 0x65
jge 0x45f5eb
cmp esi, 0x64
jne 0x45f60c
lea r8, [0x00607337]
jmp 0x45f641
cmp esi, 0x204
jge 0x45f601
cmp esi, 0x65
jne 0x45f60c
lea r8, [0x0060734d]
jmp 0x45f641
jne 0x45f60c
lea r8, [0x00607321]
jmp 0x45f641
movzx eax, sil
cmp eax, 0x1c
ja 0x45f63a
mov edx, 0x1410004
mov ecx, esi
shr rdx, cl
mov ecx, edx
xor ecx, 0x1fffffe
test ecx, edx
jne 0x45f63a
mov eax, eax
lea rcx, [0x00607050]
mov r8, qword [rcx + rax*8]
jmp 0x45f641
lea r8, [0x00607313]
lea rdx, [0x005faef2]
mov rcx, r12
call fcn.004496d0
movabs rdi, 0xbb976fccb10d351b
cmp esi, 0xc0a
setne al
mov dword [r12 + 0x34], esi
mov ecx, esi
not ecx
or ecx, 0xffffff04
cmp ecx, 0xfffffff5
setne cl
cmp al, cl
je 0x45f6a2
cmp esi, 0xc0a
je 0x45f6a2
mov rcx, qword [r15]
mov rbp, qword [rcx + 0x80]
test rbp, rbp
je 0x45f69c
xor edx, edx
xor r8d, r8d
call rbp
jmp 0x45f69e
xor eax, eax
mov dword [r15 + 0x5c], eax
lea rax, [rbx + rdi]
sub rax, qword [rsp + 0x130]
sub rax, rdi
shr rax, 3
imul r8d, eax, 0xaaaaaaab
mov rax, qword [r12 + 0xa8]
mov r9, qword [r12 + 0xf8]
mov qword [rsp + 0x20], rax
lea rdx, [0x005fd4d2]
mov ecx, esi
call fcn.00408970
cmp byte [r12 + 0xc5], 2
jne 0x45f6f2
mov rcx, r12
call fcn.00445770
cmp esi, 0xb
je 0x45f76b
cmp esi, 0xc0a
jne 0x45f772
cmp byte [r15 + 0x67], 0
jne 0x45f772
cmp byte [r15 + 0x68], 0
jne 0x45f772
mov byte [r15 + 0x67], 1
cmp dword [r15 + 0xe4], 0
jle 0x45f727
mov dword [r15 + 0x198], 1
add dword [r15 + 0x1a0], 1
mov word [r15 + 0x1a4], 0
mov rcx, qword [r15 + 0x160]
test rcx, rcx
je 0x45f772
lea rdx, [0x005fc480]
call fcn.00419aa0
mov rax, qword [r15 + 0x160]
mov dword [rax + 0x18], 7
mov ebp, 1
test r14b, r14b
je 0x45f77c
jmp 0x45f7dc
cmp byte [r15 + 0x65], 0
je 0x45f789
mov ebp, 1
test r14b, r14b
jne 0x45f7dc
mov rdi, qword [rsp + 0x58]
xor r14d, r14d
jmp 0x45f8f0
mov rax, qword [r15 + 0x30]
movabs rcx, 0xe8c4d0c0ce465132
mov rdx, rcx
not rdx
and rdx, rax
not rax
movabs rbp, 0x200000000
mov rdi, rbx
mov rbx, rax
and rbx, rcx
or rdx, rbx
mov rbx, rdi
or rcx, rbp
not rbp
xor rcx, rdx
or rbp, rax
not rbp
or rbp, rcx
mov qword [r15 + 0x30], rbp
mov ebp, 1
test r14b, r14b
je 0x45f77c
mov rdi, r15
mov rbp, r14
mov r12, rbx
movabs rcx, 0xc2f2e52bfdf8fcca
movabs rax, 0xa73136dd21a5ed3b
mov edx, 0xffffffff
movzx ebp, bpl
sub ebp, eax
add ebp, edx
add ebp, eax
mov rax, qword [r15 + 0x20]
not ebp
not edx
or edx, ebp
mov ebp, ecx
not ebp
or ebp, ecx
not edx
and edx, ebp
shl rdx, 5
mov rcx, qword [rax + rdx + 0x18]
movzx ebp, word [rcx + 0x72]
mov ebx, ebp
not ebx
and ebx, 0x39a0
mov edx, ebp
and edx, 0xc65f
or edx, ebx
xor edx, 0x39a8
and ebp, 8
or ebp, edx
mov word [rcx + 0x72], bp
mov rcx, qword [rax + 0x38]
movzx edx, word [rcx + 0x72]
mov ebp, edx
and ebp, 8
xor edx, 8
or edx, ebp
mov word [rcx + 0x72], dx
and byte [r15 + 0x2c], 0xef
cmp dword [r15 + 0x48], 0
jne 0x45f8c7
mov r15, rdi
mov edx, dword [rdi + 0x28]
test edx, edx
jle 0x45f8d9
mov esi, 1
mov edi, 0x18
xor ebx, ebx
nop dword [rax]
mov rcx, qword [rax + rdi]
movzx ebp, word [rcx + 0x72]
mov eax, ebp
xor eax, 0xfff7
test ax, bp
je 0x45f8ad
call fcn.00464bb0
mov edx, dword [r15 + 0x28]
movsxd rax, edx
cmp rsi, rax
jge 0x45f8d9
add rbx, 1
mov rax, qword [r15 + 0x20]
add rsi, 1
add rdi, 0x20
jmp 0x45f890
mov rbx, r12
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x40]
mov r15, rdi
jmp 0x45f8e6
mov rbx, r12
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
mov ebp, 1
cmp r13, rdi
jb 0x45f929
mov rax, qword [r15 + 0x208]
test rax, rax
je 0x45f929
mov esi, dword [r15 + 0x218]
mov rcx, qword [r15 + 0x210]
call rax
add rdi, rsi
test eax, eax
je 0x45f8f0
mov rdi, 0xffffffffffffffff
mov ebp, 9
jmp 0x45f56c
add dword [r12 + 0xe4], r13d
cmp dword [r12 + 0xd0], 0
je 0x45f944
mov rcx, r12
call fcn.00449800
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x230]
movaps xmm7, xmmword [rsp + 0x240]
movaps xmm8, xmmword [rsp + 0x250]
movaps xmm9, xmmword [rsp + 0x260]
movaps xmm10, xmmword [rsp + 0x270]
movaps xmm11, xmmword [rsp + 0x280]
movaps xmm12, xmmword [rsp + 0x290]
movaps xmm13, xmmword [rsp + 0x2a0]
movaps xmm14, xmmword [rsp + 0x2b0]
movaps xmm15, xmmword [rsp + 0x2c0]
add rsp, 0x2d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret