Function at 0x481ca0
Capabilities:
Check for software breakpoints
Encode data using xor
Encrypt data using rc4 ksa
Encrypt data using speck
Parse credit card information
Parse pe header
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1e8
movaps xmmword [rsp + 0x1d0], xmm6
mov qword [rsp + 0x60], r9
mov ebx, edx
mov r12, rcx
mov r13, qword [rcx]
cmp edx, 0xa5
mov dword [rsp + 0xc4], edx
mov qword [rsp + 0x1c8], rcx
jge 0x481d2f
cmp ebx, 0x54
jge 0x481dc0
cmp ebx, 0x2b
jge 0x481f1e
cmp ebx, 0x17
jge 0x4821c3
cmp ebx, 0xd
jge 0x482516
cmp ebx, 5
jge 0x482a16
cmp ebx, 2
jge 0x48342d
cmp ebx, 1
jne 0x484973
mov rax, qword [rsp + 0x60]
mov byte [rax + 0x123], 2
jmp 0x491d07
cmp ebx, 0xff
jge 0x481ec5
cmp ebx, 0xd6
jge 0x481fee
cmp ebx, 0xbb
jge 0x4822df
cmp ebx, 0xaf
jge 0x482552
cmp ebx, 0xaa
jge 0x482ad9
cmp ebx, 0xa7
jge 0x483471
cmp ebx, 0xa6
jne 0x484984
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov rdx, qword [r13 - 0xb8]
mov r8, qword [r13 - 0x88]
mov r9, qword [r13 - 0x28]
mov rax, qword [r13 - 0x10]
mov rbp, qword [r13 + 8]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rax
call fcn.004b9fc0
mov qword [r13 - 0x100], rax
jmp 0x491d07
cmp ebx, 0x7c
jge 0x482078
cmp ebx, 0x68
jge 0x48232e
cmp ebx, 0x5e
jge 0x48258f
cmp ebx, 0x59
jge 0x482af6
cmp ebx, 0x56
jge 0x4834a6
cmp ebx, 0x55
jne 0x48499f
mov rsi, qword [r13 - 0x10]
mov r14, qword [r13 + 8]
test r14, r14
mov rdi, qword [rsp + 0x60]
je 0x486f81
mov qword [r14 + 0x68], rsi
mov rax, qword [r14 + 0x50]
test rax, rax
je 0x48bcb6
mov qword [r14 + 0x58], 0
mov edx, dword [r14 + 4]
mov ebp, edx
not ebp
and ebp, 0x95358f75
mov ecx, edx
and ecx, 0x6aca708a
or ecx, ebp
xor ecx, 0x95358e75
and edx, 0x100
or edx, ecx
mov dword [r14 + 4], edx
mov edx, 1
lea r8, [0x00604254]
lea r9, [0x00604852]
mov rbp, r14
mov esi, edx
cmp qword [rax + 0x48], 0
jne 0x48976f
cmp qword [rax + 0x60], 0
jne 0x48976c
lea edx, [rsi + 1]
mov rbx, qword [rax + 0x50]
mov qword [rax + 0x58], rbp
mov edi, dword [rax + 4]
mov ecx, edi
not ecx
and ecx, 0xfee46aa1
mov ebp, edi
and ebp, 0x11b955e
or ebp, ecx
xor ebp, 0xfee46ba1
and edi, 0x100
or edi, ebp
mov dword [rax + 4], edi
mov rbp, rax
mov rax, rbx
test rbx, rbx
mov rdi, qword [rsp + 0x60]
jne 0x481e65
jmp 0x4897bc
cmp ebx, 0x129
jge 0x4820cd
cmp ebx, 0x115
jge 0x482357
cmp ebx, 0x10b
jge 0x482606
cmp ebx, 0x105
jge 0x482b15
cmp ebx, 0x102
jge 0x483569
cmp ebx, 0x100
jge 0x4860e9
lea rdx, [r13 - 0x58]
lea r8, [r13 - 0x40]
lea r9, [r13 - 0x10]
jmp 0x486ebb
cmp ebx, 0x3f
jge 0x482406
cmp ebx, 0x35
jge 0x48264b
cmp ebx, 0x30
jge 0x482b3a
cmp ebx, 0x2d
jge 0x483603
cmp ebx, 0x2c
jne 0x4849ff
mov rax, qword [rsp + 0x60]
mov r12, qword [rax + 0x150]
test r12, r12
je 0x491d07
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x124], 1
ja 0x491d07
mov rsi, qword [r13 + 8]
test rsi, rsi
je 0x491d07
movsx r14d, word [r12 + 0x36]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov r15d, dword [r13 + 0x10]
lea rdx, [r15 + 1]
mov qword [rsp + 0x68], rcx
call fcn.00429840
test rax, rax
je 0x491d07
mov rdi, rax
mov rcx, rax
mov rdx, rsi
mov r8, r15
call fcn.005f4c20
mov byte [rdi + r15], 0
movzx eax, byte [rdi]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x48bab3
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
xor edx, edx
mov rbp, rdi
jmp 0x484954
cmp ebx, 0xea
jge 0x48242f
cmp ebx, 0xe0
jge 0x48267e
cmp ebx, 0xdb
jge 0x482b59
cmp ebx, 0xd8
jge 0x48361f
cmp ebx, 0xd7
je 0x48579b
mov rdx, qword [r13 - 0x28]
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsi]
call fcn.0050cd80
mov r8, qword [r13 + 8]
test rax, rax
je 0x486fe7
movsxd rcx, dword [rax]
cmp dword [rax + 4], ecx
jle 0x48772e
lea edx, [rcx + 1]
mov dword [rax], edx
shl rcx, 5
xorps xmm0, xmm0
movups xmmword [rax + rcx + 0x10], xmm0
mov qword [rax + rcx + 0x20], 0
mov qword [rax + rcx + 8], r8
jmp 0x487739
cmp ebx, 0x90
jge 0x482479
cmp ebx, 0x86
jge 0x482707
cmp ebx, 0x81
jge 0x482c51
cmp ebx, 0x7e
jge 0x483632
cmp ebx, 0x7d
jne 0x484a19
lea rdx, [r13 - 0x40]
lea r8, [r13 - 0x28]
lea r9, [r13 - 0x10]
mov rcx, qword [rsp + 0x60]
call fcn.004aab50
mov dword [r13 - 0x40], eax
jmp 0x491d07
cmp ebx, 0x140
jge 0x4824ae
cmp ebx, 0x136
jge 0x4827be
cmp ebx, 0x131
jge 0x482c78
cmp ebx, 0x12b
jge 0x48364d
cmp ebx, 0x12a
jne 0x484a37
lea rdx, [r13 - 0x40]
lea r8, [r13 - 0x28]
mov eax, dword [r13 - 0x58]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
xor r9d, r9d
call fcn.00495cc0
mov r12, qword [rsi + 0x150]
test r12, r12
je 0x491d07
mov byte [r12 + 0x3f], 1
mov rbx, qword [rsp + 0x60]
mov r14, qword [rbx]
mov rbp, qword [r13 + 8]
test rbp, rbp
je 0x486ee5
mov r15d, dword [r13 + 0x10]
lea rdx, [r15 + 1]
mov rcx, r14
call fcn.00429840
test rax, rax
je 0x486ee5
mov rdi, rax
mov rcx, rax
mov rdx, rbp
mov r8, r15
call fcn.005f4c20
mov byte [rdi + r15], 0
movzx eax, byte [rdi]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x486ee7
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
xor edx, edx
mov rsi, rdi
jmp 0x4833e1
cmp ebx, 0x21
jge 0x4827fd
cmp ebx, 0x1c
jge 0x482c9a
cmp ebx, 0x19
jge 0x48372f
cmp ebx, 0x18
jne 0x484a4a
mov r8d, dword [r13 + 0x10]
mov r9, qword [r13 + 8]
cmp r8d, 6
mov rcx, qword [rsp + 0x60]
jne 0x491cf5
xor edi, edi
test r9, r9
je 0x488140
movzx edx, byte [r9]
test rdx, rdx
je 0x489c98
lea rax, [0x005fade0]
mov ebx, edx
xor bl, 0x20
and bl, dl
cmp bl, 0x53
jne 0x48a083
movzx edx, byte [r9 + 1]
test rdx, rdx
je 0x48c7f3
mov ebx, edx
not bl
or bl, 0x20
cmp bl, 0xab
jne 0x48cb1e
movzx edx, byte [r9 + 2]
test rdx, rdx
je 0x48efab
mov ebx, edx
xor bl, 0x20
and bl, dl
cmp bl, 0x52
jne 0x48f77a
movzx edx, byte [r9 + 3]
test rdx, rdx
je 0x49081b
mov ebx, edx
not bl
or bl, 0x20
cmp bl, 0xb6
jne 0x49087c
movzx edx, byte [r9 + 4]
test rdx, rdx
je 0x4915ef
mov ebx, edx
xor bl, 0x20
and bl, dl
cmp bl, 0x43
jne 0x49174c
movzx edx, byte [r9 + 5]
test rdx, rdx
je 0x491cd2
mov ecx, edx
xor cl, 0x20
and cl, dl
mov ebp, 0x10000
cmp cl, 0x54
mov rcx, qword [rsp + 0x60]
je 0x491d03
add rax, rdx
lea rdx, [0x005ff047]
movzx edi, byte [rax]
jmp 0x491cde
cmp ebx, 0xcb
jge 0x48282d
cmp ebx, 0xc0
jge 0x482cc1
cmp ebx, 0xbd
jge 0x4838f7
cmp ebx, 0xbc
jne 0x484b1f
mov rdx, qword [r13 - 0x10]
lea r8, [r13 - 0x58]
mov r9d, dword [r13 - 0x28]
mov rcx, qword [rsp + 0x60]
call fcn.004ba5a0
mov qword [r13 - 0x58], rax
jmp 0x491d07
cmp ebx, 0x72
jge 0x4828b8
cmp ebx, 0x6d
jge 0x482d1f
cmp ebx, 0x6a
jge 0x48395d
cmp ebx, 0x69
je 0x48631b
jmp 0x485808
cmp ebx, 0x11f
jge 0x4828d8
cmp ebx, 0x11a
jge 0x482dbc
cmp ebx, 0x117
jge 0x483a6c
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
cmp ebx, 0x116
jne 0x484ba4
mov edi, dword [r13 - 8]
add edi, 1
movsxd rdx, edi
add rdx, 0x48
call fcn.00429840
mov rsi, rax
test rax, rax
je 0x489fe1
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x40], 0
mov byte [rsi], 0x47
mov word [rsi + 0x32], 0xffff
test edi, edi
je 0x487db0
mov rdi, rsi
add rdi, 0x48
mov qword [rsi + 8], rdi
mov r8d, dword [r13 - 8]
test r8, r8
je 0x488e70
mov rdx, qword [r13 - 0x10]
mov rcx, rdi
call fcn.005f4c20
mov eax, dword [r13 - 8]
jmp 0x488e72
cmp ebx, 0x49
jge 0x482955
cmp ebx, 0x44
jge 0x482e0a
cmp ebx, 0x41
jge 0x483a7f
cmp ebx, 0x40
jne 0x483625
jmp 0x4830fc
cmp ebx, 0xf4
jge 0x48297d
cmp ebx, 0xef
jge 0x482e4f
cmp ebx, 0xec
jge 0x483a9f
cmp ebx, 0xeb
je 0x48631b
mov rdx, qword [r13 + 8]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
call fcn.0050cd80
mov qword [r13 + 8], rax
jmp 0x491d07
cmp ebx, 0x9a
jge 0x4829a6
cmp ebx, 0x95
jge 0x482e74
cmp ebx, 0x92
jge 0x483b72
cmp ebx, 0x91
je 0x48598e
jmp 0x48631b
cmp ebx, 0x14a
jge 0x4829e5
cmp ebx, 0x145
jge 0x482eed
cmp ebx, 0x142
jge 0x483bf3
cmp ebx, 0x141
jne 0x484c11
mov edx, dword [r13 - 0x28]
mov r8d, dword [r13 - 0x10]
mov r9, qword [r13 - 8]
mov al, byte [r13 + 8]
mov byte [rsp + 0x30], al
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x55
mov rcx, qword [rsp + 0x60]
call fcn.004c5f60
mov qword [r13 - 0x28], rax
jmp 0x491d07
cmp ebx, 0x12
jge 0x482f0a
cmp ebx, 0xf
jge 0x483c31
cmp ebx, 0xe
jne 0x484c45
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
add byte [rcx + 0x24], 1
add dword [rax + 0x1a0], 1
mov word [rax + 0x1a4], 0
jmp 0x491d07
cmp ebx, 0xb5
jge 0x482f40
cmp ebx, 0xb1
jge 0x483c4d
cmp ebx, 0xb0
jne 0x484c78
lea r8, [r13 + 8]
mov rcx, qword [rsp + 0x60]
xor edx, edx
call fcn.004ba0b0
mov qword [r13 + 8], rax
jmp 0x491d07
cmp ebx, 0x63
jge 0x483014
cmp ebx, 0x60
jge 0x483c83
cmp ebx, 0x5f
jne 0x484c93
mov rsi, qword [r13 - 0x58]
mov rdx, qword [r13 - 0x10]
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0x600
mov qword [rsp + 0x30], 0
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
xor r9d, r9d
call fcn.004aa3b0
test rsi, rsi
je 0x4825ed
and byte [rsi + 5], 0xfb
test rax, rax
je 0x486ff7
mov byte [rax], 0x87
mov qword [rax + 0x50], rsi
mov qword [r13 - 0x58], rax
jmp 0x491d07
cmp ebx, 0x110
jge 0x48306f
cmp ebx, 0x10d
jge 0x483c9f
cmp ebx, 0x10c
jne 0x48731f
mov rax, qword [r13 - 0x28]
mov rcx, qword [r13 - 0x10]
mov rax, qword [rax + 0x58]
mov qword [rax + 0x50], rcx
mov rax, qword [r13 - 0x28]
mov rcx, qword [r13 - 0x10]
mov qword [rax + 0x58], rcx
jmp 0x491d07
cmp ebx, 0x3a
jge 0x4830ac
cmp ebx, 0x37
jge 0x483cb2
mov eax, dword [r13 + 8]
cmp ebx, 0x36
jne 0x484cd2
shl eax, 8
mov dword [r13 - 0x28], eax
mov dword [r13 - 0x24], 0xff00
jmp 0x491d07
cmp ebx, 0xe5
jge 0x4830c7
cmp ebx, 0xe2
jge 0x483cc5
cmp ebx, 0xe1
jne 0x484ce3
mov rbp, qword [r13 - 0x40]
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rdi]
mov edx, 0x48
call fcn.00429840
mov rsi, rax
test rax, rax
je 0x487000
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x40], 0
mov byte [rsi], 0x9d
mov word [rsi + 0x32], 0xffff
test rbp, rbp
je 0x487dbd
mov qword [rsi + 0x10], rbp
mov eax, 0x400208
and eax, dword [rbp + 4]
mov dword [rsi + 4], eax
mov eax, dword [rbp + 0x28]
jmp 0x487dbf
cmp ebx, 0x8b
jge 0x4830e4
cmp ebx, 0x88
jge 0x483d19
cmp ebx, 0x87
jne 0x484da5
mov rdx, qword [r13 - 0x28]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
call fcn.0050cd80
mov qword [r13 - 0x28], rax
test rax, rax
je 0x491d07
mov ebp, dword [r13 - 0x10]
mov edx, dword [r13 + 8]
mov ebx, dword [rax]
add ebx, 0xffffffff
xor ecx, ecx
cmp ebp, 0xffffffff
cmovne ecx, ebp
movsxd rbp, ebx
shl rbp, 5
mov byte [rax + rbp + 0x18], cl
cmp edx, 0xffffffff
je 0x491d07
mov edi, dword [rax + rbp + 0x1c]
mov esi, edi
not esi
and esi, 0xac85d4b0
mov ebx, edi
and ebx, 0x537a2b4f
or ebx, esi
xor ebx, 0xac85d490
and edi, 0x20
or edi, ebx
mov dword [rax + rbp + 0x1c], edi
cmp ecx, edx
je 0x491d07
add rax, rbp
add rax, 0x18
mov edx, ecx
not dl
and dl, 0x58
mov ebx, ecx
and bl, 0xa7
or bl, dl
xor bl, 0x5a
jmp 0x487a9d
cmp ebx, 0x13b
jge 0x483109
cmp ebx, 0x138
jge 0x483d2c
cmp ebx, 0x137
je 0x491d07
mov rdx, qword [r13 - 0x28]
mov r8, qword [r13 + 8]
mov rcx, qword [rsp + 0x60]
call fcn.004c5c20
mov qword [r13 - 0x28], rax
jmp 0x491d07
cmp ebx, 0x26
jge 0x48314c
cmp ebx, 0x23
jge 0x483d5d
cmp ebx, 0x22
jne 0x484def
mov r8, qword [r13 - 0x28]
mov rdx, qword [r13 - 0x10]
add r8, 1
mov r9, qword [r13 + 8]
jmp 0x484dfe
cmp ebx, 0xd0
jge 0x48317f
cmp ebx, 0xcd
jge 0x483d78
cmp ebx, 0xcc
jne 0x484e0d
lea rsi, [r13 - 0x40]
mov edi, dword [r13 - 0x38]
mov eax, edi
xor eax, 0x80000000
and eax, edi
mov dword [r13 - 0x38], eax
mov rdx, qword [r13 - 0x28]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbx]
call fcn.0050cd80
mov r8, qword [r13 - 0x58]
test rax, rax
je 0x487044
movsxd rcx, dword [rax]
cmp dword [rax + 4], ecx
jle 0x487754
lea edx, [rcx + 1]
mov dword [rax], edx
shl rcx, 5
xorps xmm0, xmm0
movups xmmword [rax + rcx + 0x10], xmm0
mov qword [rax + rcx + 0x20], 0
mov qword [rax + rcx + 8], r8
mov r8, qword [r13 + 8]
jmp 0x48776c
cmp ebx, 0x77
jge 0x4831f5
cmp ebx, 0x74
jge 0x483de8
cmp ebx, 0x73
je 0x4860e9
jmp 0x48412e
cmp ebx, 0x124
jge 0x4832ae
cmp ebx, 0x121
jge 0x483e52
cmp ebx, 0x120
jne 0x484e6e
mov rsi, qword [rsp + 0x60]
mov r15, qword [rsi]
cmp byte [r15 + 0xc5], 0
je 0x487054
lea r14, [r13 - 0x10]
lea rax, [r13 + 8]
cmp qword [rax], 0
mov r12, qword [rsi]
je 0x487687
cmp dword [r13 + 0x10], 0
je 0x487f0d
cmp byte [r12 + 0xc5], 0
je 0x4898c7
lea rdx, [0x0060307c]
mov rcx, rsi
call fcn.00419aa0
jmp 0x491d07
cmp ebx, 0x4e
jge 0x4832f3
cmp ebx, 0x4b
jge 0x483e6c
cmp ebx, 0x4a
jne 0x483e72
mov eax, dword [r13 + 8]
mov dword [r13 - 0x28], eax
jmp 0x491d07
cmp ebx, 0xf9
jge 0x483325
cmp ebx, 0xf6
jge 0x483e7f
cmp ebx, 0xf5
je 0x483625
jmp 0x486134
cmp ebx, 0x9f
jge 0x483365
cmp ebx, 0x9c
jge 0x483ead
cmp ebx, 0x9b
jne 0x48598e
mov rdx, qword [r13 + 8]
mov rcx, qword [rsp + 0x60]
call fcn.004ad2c0
mov qword [r13 - 0x10], 0
jmp 0x491d07
cmp ebx, 0x150
jge 0x4833a2
cmp ebx, 0x14c
jge 0x483ece
cmp ebx, 0x14b
jne 0x485001
mov al, byte [r13 + 8]
mov byte [r13 - 0x10], al
jmp 0x491d07
cmp ebx, 0xa
jge 0x483ee7
cmp ebx, 8
jl 0x4858ea
xor esi, esi
cmp word [r13 - 0x16], 0xc
lea rax, [0x00602ff4]
lea r8, [0x00602ffd]
cmove r8, rax
sete bl
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x1f8]
test rax, rax
je 0x482a74
cmp byte [rcx + 0xc5], 0
jne 0x482a74
mov rdx, qword [rsp + 0x60]
cmp byte [rdx + 0x124], 0
je 0x48a533
mov rcx, qword [rsp + 0x60]
call fcn.004c6120
test rax, rax
je 0x491d07
mov sil, bl
movsxd rcx, dword [rax + 0x90]
cmp dword [rax + 0x94], ecx
jle 0x487b37
lea edx, [rcx + 1]
mov dword [rax + 0x90], edx
mov rax, qword [rax + 0x88]
lea rcx, [rcx + rcx*2]
movabs rdx, 0x100000001
mov qword [rax + rcx*8], rdx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], 0
mov qword [rax + rcx*8 + 0x10], 0
jmp 0x491d07
cmp ebx, 0xac
jge 0x483f86
cmp ebx, 0xab
jne 0x48498c
jmp 0x486127
cmp ebx, 0x5b
jge 0x483f99
cmp ebx, 0x5a
jne 0x4858ea
mov dword [r13 - 0x10], 0x87
jmp 0x491d07
cmp ebx, 0x107
jge 0x483ffc
cmp ebx, 0x106
jne 0x48500b
mov dword [r13 + 0x20], 0x21
jmp 0x491d07
cmp ebx, 0x32
jge 0x48401e
cmp ebx, 0x31
jne 0x48624c
mov dword [r13 + 0x20], 0
jmp 0x491d07
cmp ebx, 0xdd
jge 0x48405d
cmp ebx, 0xdc
jne 0x483625
mov rax, qword [r13 - 0x10]
test rax, rax
je 0x4870ec
cmp dword [rax], 1
mov rdi, qword [rsp + 0x60]
jne 0x482bec
mov rsi, qword [rax + 8]
mov word [rsp + 0xf4], 1
lea rax, [0x004ce7b0]
mov qword [rsp + 0xd8], rax
lea rax, [0x004cea20]
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0xf8], 0
test rsi, rsi
je 0x482bdf
lea rcx, [rsp + 0xd0]
mov rdx, rsi
call fcn.004cea30
cmp word [rsp + 0xf4], 0
je 0x482bec
mov rax, qword [r13 - 0x58]
cmp byte [rax], 0xb1
jne 0x489ab8
mov rbp, qword [r13 - 0x58]
mov rcx, qword [rdi]
mov edx, 0x48
call fcn.00429840
mov rsi, rax
test rax, rax
je 0x488112
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x40], 0
mov byte [rsi], 0x31
mov word [rsi + 0x32], 0xffff
test rbp, rbp
je 0x489b85
mov qword [rsi + 0x10], rbp
mov eax, dword [rbp + 4]
mov ecx, eax
xor ecx, 0xffbffdf7
and ecx, eax
mov dword [rsi + 4], ecx
mov eax, dword [rbp + 0x28]
jmp 0x489b87
cmp ebx, 0x83
jge 0x484113
cmp ebx, 0x82
jne 0x48412e
movups xmm0, xmmword [r13 + 8]
movups xmmword [r13 - 0x28], xmm0
jmp 0x491d07
cmp ebx, 0x133
jge 0x484143
cmp ebx, 0x132
jne 0x485018
mov byte [r13 - 0x10], 0
jmp 0x491d07
cmp ebx, 0x1e
jge 0x484153
cmp ebx, 0x1d
jne 0x485022
mov eax, dword [r13 + 8]
sub eax, dword [r13 - 0x10]
add eax, dword [r13 + 0x10]
mov dword [r13 - 8], eax
jmp 0x491d07
cmp ebx, 0xc2
jge 0x484165
cmp ebx, 0xc1
jne 0x485037
mov rsi, qword [r13 - 0x40]
mov r8, qword [r13 - 0x10]
test rsi, rsi
mov rdi, qword [rsp + 0x60]
je 0x487240
movsxd rax, dword [rsi]
cmp dword [rsi + 4], eax
jle 0x4877a8
lea ecx, [rax + 1]
mov dword [rsi], ecx
shl rax, 5
xorps xmm0, xmm0
movups xmmword [rsi + rax + 0x10], xmm0
mov qword [rsi + rax + 0x20], 0
mov qword [rsi + rax + 8], r8
jmp 0x4877b6
cmp ebx, 0x6f
jge 0x4841d9
cmp ebx, 0x6e
jne 0x4850b9
lea rax, [r13 - 0x28]
lea r9, [r13 - 0x40]
lea r8, [r13 - 0x58]
mov rdx, qword [r13 - 0x70]
lea rcx, [r13 + 8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov rcx, qword [rsp + 0x60]
call fcn.004a9f80
mov qword [r13 - 0x70], rax
test rax, rax
je 0x491d07
mov ebp, dword [r13 - 8]
test rbp, rbp
je 0x491d07
mov rsi, rax
mov eax, dword [rax]
add eax, 0xffffffff
movsxd r15, eax
mov r14, qword [r13 - 0x10]
cmp ebp, 1
jne 0x487fcf
mov ebp, 1
test r14, r14
mov rax, qword [rsp + 0x60]
jne 0x487fdd
imul rax, r15, 0x68
mov ecx, dword [rsi + rax + 0x48]
mov edx, ecx
and edx, 1
xor ecx, 1
jmp 0x48b739
cmp ebx, 0x11c
jge 0x484252
cmp ebx, 0x11b
jne 0x4850f3
mov r9, qword [r13 - 0x40]
mov rax, qword [r13 - 0x10]
mov rcx, qword [r13 + 8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r9
lea r8, [0x00605338]
mov rcx, qword [rsp + 0x60]
mov edx, 0x18
call fcn.0051ceb0
jmp 0x491d07
cmp ebx, 0x46
jge 0x484284
cmp ebx, 0x45
jne 0x485185
mov rax, qword [r13 - 0x28]
mov ecx, dword [r13 + 8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x50], 1
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x40], 0
jmp 0x484607
cmp ebx, 0xf1
jge 0x48429b
cmp ebx, 0xf0
je 0x48631b
mov dword [r13 + 0x20], 0
jmp 0x491d07
cmp ebx, 0x97
jge 0x4842ae
cmp ebx, 0x96
jne 0x4851a8
mov r12, qword [r13 - 0x28]
test r12, r12
mov rsi, qword [rsp + 0x60]
je 0x48b77e
mov ebp, dword [r13 - 8]
test rbp, rbp
je 0x48b77e
mov eax, dword [r12]
add eax, 0xffffffff
movsxd r15, eax
mov r14, qword [r13 - 0x10]
cmp ebp, 1
jne 0x488062
mov ebp, 1
test r14, r14
jne 0x48806b
imul rax, r15, 0x68
mov ecx, dword [r12 + rax + 0x48]
mov edx, ecx
and edx, 1
xor ecx, 1
or ecx, edx
mov dword [r12 + rax + 0x48], ecx
jmp 0x48b77e
cmp ebx, 0x147
jge 0x4842d4
cmp ebx, 0x146
je 0x491d07
jmp 0x4848f5
cmp ebx, 0x14
jge 0x48430f
cmp ebx, 0x13
jne 0x486134
lea rdx, [r13 - 0x28]
lea r8, [r13 - 0x10]
mov r9d, dword [r13 + 8]
mov qword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
call fcn.00496e40
jmp 0x491d07
cmp ebx, 0xb8
jge 0x484355
cmp ebx, 0xb6
jge 0x4851b5
lea rdi, [r13 - 0x58]
movups xmm0, xmmword [r13 - 0x58]
movaps xmmword [rsp + 0xd0], xmm0
lea r8, [rsp + 0xd0]
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
mov edx, 0x3b
call fcn.004998c0
mov rsi, rax
movups xmm0, xmmword [r13 - 0x28]
movaps xmmword [rsp + 0xd0], xmm0
lea r8, [rsp + 0xd0]
mov rcx, rbx
mov edx, 0x3b
call fcn.004998c0
mov rbp, rax
movups xmm0, xmmword [r13 + 8]
movaps xmmword [rsp + 0xd0], xmm0
lea r8, [rsp + 0xd0]
mov rcx, rbx
mov edx, 0x3b
call fcn.004998c0
mov rcx, rbx
mov edx, 0x8d
mov r8, rbp
mov r9, rax
call fcn.004997c0
cmp byte [rbx + 0x124], 2
jb 0x488b89
mov rcx, qword [rbx + 0x190]
test rcx, rcx
je 0x488b89
cmp qword [rcx], rsi
je 0x488b82
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x482ffd
jmp 0x488b89
cmp ebx, 0x65
jge 0x484392
cmp ebx, 0x64
jne 0x48631b
mov r15, qword [r13 - 0x58]
mov r8, qword [r13 - 0x28]
test r15, r15
je 0x487250
movsxd rax, dword [r15]
cmp dword [r15 + 4], eax
mov rsi, qword [rsp + 0x60]
jle 0x48788c
lea ecx, [rax + 1]
mov dword [r15], ecx
shl rax, 5
xorps xmm0, xmm0
movups xmmword [r15 + rax + 0x10], xmm0
mov qword [r15 + rax + 0x20], 0
mov qword [r15 + rax + 8], r8
jmp 0x48789a
cmp ebx, 0x112
jge 0x484429
cmp ebx, 0x111
jne 0x4851e2
mov rbp, qword [r13 - 0x28]
mov rsi, qword [r13 - 0x40]
mov rbx, qword [r13 - 0x10]
mov rax, qword [rsp + 0x60]
mov r15, qword [rax]
cmp dword [rax + 0x30], 0
je 0x487265
xor edi, edi
jmp 0x48db27
cmp ebx, 0x3c
jge 0x4844c5
cmp ebx, 0x3b
je 0x4830fc
mov dword [r13 + 8], 7
jmp 0x491d07
cmp ebx, 0xe7
jge 0x4844d8
cmp ebx, 0xe6
jne 0x48631b
jmp 0x491d07
cmp ebx, 0x8d
jge 0x484539
cmp ebx, 0x8c
je 0x483625
mov dword [r13 - 0x10], 0
jmp 0x491d07
cmp ebx, 0x13d
jge 0x484550
cmp ebx, 0x13c
jne 0x4851ee
mov rdx, qword [r13 - 0x10]
mov rsi, qword [r13 + 8]
test rsi, rsi
mov rax, qword [rsp + 0x60]
je 0x4872a4
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], rdx
mov qword [r13 - 0x40], rsi
jmp 0x491d07
cmp ebx, 0x28
jge 0x4845d3
cmp ebx, 0x27
jne 0x485259
mov eax, dword [r13 - 0x28]
mov r8d, dword [r13 - 0x10]
mov r9d, dword [r13 + 8]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x60]
xor edx, edx
call fcn.00499a50
jmp 0x491d07
cmp ebx, 0xd2
jge 0x48461e
cmp ebx, 0xd1
jne 0x485358
mov r8, qword [r13 - 0x70]
mov r9, qword [r13 + 8]
mov rcx, qword [rsp + 0x60]
mov edx, 0x2d
call fcn.004997c0
mov qword [r13 - 0x70], rax
test rax, rax
je 0x491d07
mov rsi, rax
mov rax, qword [r13 + 8]
test rax, rax
je 0x491d07
mov cl, 1
test cl, cl
je 0x491d07
cmp byte [rax], 0x79
jne 0x491d07
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x124], 1
ja 0x491d07
jmp 0x48693c
cmp ebx, 0x79
jge 0x484682
cmp ebx, 0x78
jne 0x4853d8
lea r14, [r13 - 0x58]
lea r9, [r13 - 0x28]
mov rcx, qword [rsp + 0x60]
xor edx, edx
mov r8, r14
call fcn.004aa850
mov qword [r13 - 0x58], rax
test rax, rax
je 0x491d07
mov rbp, qword [r13 + 8]
test rbp, rbp
je 0x4864f2
mov esi, dword [r13 + 0x10]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
movabs rax, 0x63824d506756b5ba
mov rdx, rsi
sub rdx, rax
add rdx, rax
add rdx, 1
call fcn.00429840
test rax, rax
je 0x4864f2
mov rdi, rax
mov rcx, rax
mov rdx, rbp
mov r8, rsi
call fcn.005f4c20
mov byte [rdi + rsi], 0
movzx eax, byte [rdi]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x4864f4
cmp al, 0x5b
movzx eax, al
mov ebp, 0x5d
cmovne ebp, eax
mov ecx, 1
xor edx, edx
mov rbx, rdi
jmp 0x48340c
cmp ebx, 0x126
jge 0x48475a
cmp ebx, 0x125
jne 0x4853f5
mov r12, qword [r13 - 0x40]
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsi]
cmp byte [r14 + 0x67], 0
je 0x4872ba
xor r15d, r15d
mov rcx, r14
mov rdx, r15
call fcn.00408130
mov rcx, r14
jmp 0x48c65a
cmp ebx, 0x51
jge 0x4847e6
cmp ebx, 0x4f
jl 0x483f8c
jne 0x483625
mov rdx, qword [r13 + 8]
mov r9d, dword [r13 - 0x10]
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
call fcn.0049d3f0
jmp 0x491d07
cmp ebx, 0xfc
jge 0x484899
cmp ebx, 0xfa
jl 0x48598e
je 0x48631b
lea rdx, [r13 - 0x10]
lea r8, [r13 + 8]
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
xor r9d, r9d
call fcn.004bb0b0
jmp 0x491d07
cmp ebx, 0xa2
jge 0x4848b0
cmp ebx, 0xa0
jge 0x48545c
mov rdx, qword [r13 - 0x88]
mov r8, qword [r13 - 0x40]
mov r9, qword [r13 + 8]
mov rcx, qword [rsp + 0x60]
call fcn.004b3220
mov qword [r13 - 0x88], rax
jmp 0x491d07
cmp ebx, 0x153
jge 0x4848e2
cmp ebx, 0x151
jge 0x485494
mov rax, qword [r13 + 8]
test rax, rax
je 0x487309
mov rcx, qword [r13 - 0x10]
mov qword [rax + 0x48], rcx
jmp 0x48731f
mov byte [rsi], bl
add rdx, 1
add ecx, 1
add rsi, 1
movsxd rbp, ecx
movzx ebx, byte [rdi + rbp]
cmp bl, al
jne 0x4833d4
add ecx, 1
movsxd rbp, ecx
cmp byte [rdi + rbp], al
jne 0x48a4e2
mov byte [rsi], al
jmp 0x4833d6
mov byte [rbx], al
add rdx, 1
add ecx, 1
add rbx, 1
movsxd rax, ecx
movzx eax, byte [rdi + rax]
cmp al, bpl
jne 0x4833ff
add ecx, 1
movsxd rax, ecx
cmp byte [rdi + rax], bpl
jne 0x488b2c
mov byte [rbx], bpl
jmp 0x483401
jne 0x4854d9
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x1e], 0
jne 0x491d07
mov rbx, qword [rsp + 0x60]
mov r12, qword [rbx]
cmp dword [rbx + 0x30], 0
je 0x489240
cmp byte [r12 + 0x67], 0
je 0x491d07
mov rax, qword [rsp + 0x60]
mov dword [rax + 0x18], 7
jmp 0x491d07
jne 0x4855bd
mov rsi, qword [r13 - 0x70]
mov rbp, qword [r13 - 0x40]
mov rax, qword [rsp + 0x60]
mov rbx, qword [rax]
mov r14, qword [r13 + 8]
test rbx, rbx
je 0x48732c
mov edx, 0x58
mov rcx, rbx
call fcn.00429840
jmp 0x487336
jne 0x4855ec
mov rsi, qword [r13 - 0x10]
mov r14, qword [r13 + 8]
test r14, r14
mov rdi, qword [rsp + 0x60]
je 0x48736d
mov qword [r14 + 0x68], rsi
mov rax, qword [r14 + 0x50]
test rax, rax
je 0x48986b
mov qword [r14 + 0x58], 0
mov ecx, dword [r14 + 4]
mov edx, ecx
and edx, 0x100
xor ecx, 0x100
or ecx, edx
mov dword [r14 + 4], ecx
mov edx, 1
lea r8, [0x00604254]
lea r9, [0x00604852]
mov rbp, r14
mov esi, edx
cmp qword [rax + 0x48], 0
jne 0x48980e
cmp qword [rax + 0x60], 0
jne 0x48980b
lea edx, [rsi + 1]
mov rbx, qword [rax + 0x50]
mov qword [rax + 0x58], rbp
mov edi, dword [rax + 4]
mov ecx, edi
not ecx
and ecx, 0x642a4816
mov ebp, edi
and ebp, 0x9bd5b7e9
or ebp, ecx
xor ebp, 0x642a4916
and edi, 0x100
or edi, ebp
mov dword [rax + 4], edi
mov rbp, rax
mov rax, rbx
test rbx, rbx
mov rdi, qword [rsp + 0x60]
jne 0x483509
jmp 0x48985b
jne 0x4856a8
mov rcx, qword [r13 - 0x40]
mov rbx, qword [r13 - 0x10]
mov edx, dword [r13 + 8]
sub edx, ecx
add edx, dword [r13 + 0x10]
mov rax, qword [rsp + 0x60]
mov r14, qword [rax]
mov r15, qword [rax + 0x160]
mov qword [rax + 0x160], 0
test r15, r15
je 0x490d41
cmp dword [rax + 0x30], 0
jne 0x490d41
mov al, 1
test al, al
je 0x490d41
mov qword [rsp + 0x68], rbx
mov dword [rsp + 0xa0], edx
mov qword [rsp + 0x98], rcx
mov rsi, qword [r15]
mov rax, qword [r15 + 0x28]
test rax, rax
je 0x488148
mov rcx, qword [r14 + 0x20]
add rcx, 0x18
mov ebp, 0xffffffff
xor edx, edx
add rdx, 1
add ebp, 1
lea rbx, [rcx + 0x20]
cmp qword [rcx], rax
mov rcx, rbx
jne 0x4835eb
jmp 0x48814d
jne 0x48571f
mov rdx, qword [r13 - 0x10]
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
call fcn.0049d000
jmp 0x491d07
jne 0x48573f
mov dword [r13 - 0x10], 1
jmp 0x491d07
jne 0x4857a8
mov rax, qword [r13 + 8]
mov qword [r13 - 0x10], rax
mov qword [r13 - 8], 0
jmp 0x491d07
jne 0x4857c9
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rbx + 0x170]
test rsi, rsi
je 0x48b51e
mov rdi, qword [rbx + 0x150]
test rdi, rdi
je 0x48b51e
movsxd rbp, dword [rbx + 0x178]
mov rcx, qword [rbx]
movabs rax, 0x2407fbe7132fa2de
mov rdx, rbp
sub rdx, rax
add rdx, rax
add rdx, 1
call fcn.00429840
mov r14, rax
test rax, rax
je 0x4836b9
mov rcx, r14
mov rdx, rsi
mov r8, rbp
call fcn.005f4c20
mov byte [r14 + rbp], 0
mov rbp, qword [rbx]
mov eax, dword [rdi + 0x40]
lea ecx, [rax + 2]
movsxd rsi, ecx
add eax, 3
cmp eax, dword [rbp + 0x90]
jl 0x4836e2
mov r8, qword [rdi]
lea rdx, [0x005ff0ef]
mov rcx, rbx
call fcn.00419aa0
shl rsi, 3
mov rax, qword [rdi + 0x48]
test rax, rax
je 0x488ee4
cmp qword [rbp + 0x1f0], rax
jbe 0x48b4e1
cmp qword [rbp + 0x1e0], rax
jbe 0x48b4d8
cmp qword [rbp + 0x1e8], rax
ja 0x48b4e1
movzx ecx, word [rbp + 0x1a6]
cmp rsi, rcx
ja 0x48b4e1
jmp 0x48b4f4
jne 0x4857ff
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x150]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x491d07
mov rcx, qword [rsp + 0x60]
mov rsi, qword [rcx]
mov rdx, qword [rsp + 0x68]
movsx eax, word [rdx + 0x36]
cmp dword [rsi + 0x90], eax
jle 0x4879b4
mov rdi, qword [r13 - 0x10]
mov ebp, dword [r13 - 8]
mov eax, dword [r13 - 4]
mov dword [rsp + 0xb8], eax
mov r14, qword [r13 + 8]
mov r12d, dword [r13 + 0x10]
mov al, byte [rcx + 0x124]
cmp al, 1
seta dl
cmp al, 2
setb al
cmp ebp, 2
setb bl
mov qword [rsp + 0x70], rbp
cmp ebp, 1
seta cl
cmp bl, dl
jne 0x4837fc
or cl, al
xor cl, 1
jne 0x4837fc
movzx ecx, byte [rdi]
lea rax, [0x005fb0a0]
cmp byte [rcx + rax], 0
jns 0x4837fc
mov rcx, qword [rsp + 0x70]
add ecx, 0xffffffff
cmp ecx, 2
jb 0x4837eb
mov ecx, ecx
mov edx, 1
movzx ebp, byte [rdi + rdx]
cmp byte [rbp + rax], 0
js 0x4837fc
add rdx, 1
cmp rcx, rdx
jne 0x4837d7
mov rax, qword [rsp + 0x70]
add eax, 0xfffffffe
mov qword [rsp + 0x70], rax
add rdi, 1
cmp r12d, 0x10
mov qword [rsp + 0x88], rdi
jb 0x494594
test r14, r14
je 0x49459e
lea ecx, [r12 - 6]
movzx ebp, byte [r14 + rcx]
xor edx, edx
test rbp, rbp
je 0x48c7ff
lea rax, [0x005fade0]
mov ebx, ebp
not bl
or bl, 0x20
cmp bl, 0xbe
jne 0x48cb2d
movzx ebp, byte [r14 + rcx + 1]
test rbp, rbp
je 0x48efb7
mov ebx, ebp
not bl
or bl, 0x20
cmp bl, 0xb3
jne 0x48f789
mov r8, r14
movzx ebp, byte [r14 + rcx + 2]
test rbp, rbp
je 0x490827
mov ebx, ebp
not bl
or bl, 0x20
cmp bl, 0xa8
jne 0x49088b
movzx ebp, byte [r8 + rcx + 3]
test rbp, rbp
je 0x4915fb
mov ebx, ebp
xor bl, 0x20
and bl, bpl
cmp bl, 0x41
jne 0x491763
movzx ebp, byte [r8 + rcx + 4]
test rbp, rbp
je 0x491da8
mov ebx, ebp
not bl
or bl, 0x20
cmp bl, 0xa6
jne 0x491ef4
movzx ebp, byte [r8 + rcx + 5]
test rbp, rbp
je 0x492613
mov edx, ebp
not dl
or dl, 0x20
cmp dl, 0xac
mov r14, r8
je 0x492634
add rax, rbp
lea rbp, [0x00603b93]
movzx edx, byte [rax]
jmp 0x49261d
jne 0x48581d
lea rsi, [r13 - 0x40]
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rdi]
mov edx, 0xac
mov r8, rsi
mov r9d, 1
call fcn.004ba410
mov rbp, rax
test rax, rax
je 0x48be89
mov eax, dword [rsi]
sub eax, dword [rdi + 0x148]
mov dword [rbp + 0x34], eax
mov qword [rbp + 0x20], 0
mov eax, dword [rbp + 4]
mov ecx, eax
not ecx
and ecx, 0xb4db08ea
mov edx, eax
and edx, 0x4b24f715
or edx, ecx
xor edx, 0xb4db08e2
jmp 0x485092
jne 0x485891
mov r9, qword [r13 + 8]
mov qword [r13 - 0x10], r9
test r9, r9
je 0x491d07
mov r10d, dword [r9]
cmp r10d, 2
jl 0x491d07
imul r8, r10, 0x68
lea rsi, [r8 + r9]
add rsi, 0xffffffffffffffdc
lea rbx, [r10 + 1]
xor ebp, ebp
mov r11, r10
add r11, 0xffffffffffffffff
movzx edx, byte [rsi - 0x68]
mov byte [rsi], dl
add rsi, 0xffffffffffffff98
mov eax, ebp
not eax
mov edi, edx
not edi
mov ecx, eax
and ecx, 0xe15ad5ee
and ebp, 0x1ea52a11
or ebp, ecx
or eax, edi
and edi, 0xe15ad5ee
and edx, 0x11
or edx, edi
xor edx, ebp
not eax
mov ebp, eax
or ebp, edx
add rbx, 0xffffffffffffffff
cmp rbx, 2
jg 0x483996
mov byte [r9 + 0x44], 0
mov eax, ebp
xor eax, 0xffffffef
test eax, ebp
je 0x491d07
cmp r10d, 2
mov ebp, 1
cmovl ebp, r10d
lea rcx, [r8 + r9]
add rcx, 0xffffffffffffffdc
cmp r10, 2
jl 0x483a23
add r10, 0xffffffffffffffff
movzx eax, byte [rcx]
mov edx, eax
xor dl, 0xef
add rcx, 0xffffffffffffff98
test dl, al
je 0x483a02
add r10d, 1
mov ebp, r10d
movabs rsi, 0x5a46533484c155a6
add ebp, 0xfffffffe
movsxd rdx, ebp
lea rbp, [rdx + 1]
imul rax, rdx, 0x68
add rax, r9
add rax, 0x44
mov rdi, rsi
not rdi
movzx ebx, byte [rax]
mov ecx, ebx
and cl, 0x40
xor bl, 0x40
or bl, cl
mov byte [rax], bl
add rdx, rsi
add rdx, rdi
add rax, 0xffffffffffffff98
add rbp, 0xffffffffffffffff
jg 0x483a48
jmp 0x491d07
jne 0x4858c5
mov dword [r13 + 8], 1
jmp 0x491d07
je 0x485808
cmp ebx, 0x43
jge 0x486373
mov rax, qword [rsp + 0x60]
mov dword [rax + 0x68], 0
jmp 0x491d07
je 0x4842a1
cmp ebx, 0xee
jge 0x4858d1
lea r14, [r13 - 0xa0]
lea r15, [r13 - 0x88]
mov rax, qword [rsp + 0x60]
mov rbp, qword [rax]
mov edx, 0x70
mov rcx, rbp
call fcn.00429840
test rax, rax
je 0x488195
mov rsi, rax
movabs rax, 0x100000001
mov qword [rsi], rax
xorps xmm0, xmm0
movups xmmword [rsi + 0x48], xmm0
movups xmmword [rsi + 0x38], xmm0
movups xmmword [rsi + 0x58], xmm0
movups xmmword [rsi + 0x28], xmm0
movups xmmword [rsi + 0x18], xmm0
movups xmmword [rsi + 8], xmm0
mov qword [rsi + 0x68], 0
mov dword [rsi + 0x4c], 0xffffffff
mov r12, qword [r13 - 0x58]
test r12, r12
je 0x489ca4
mov rbx, r14
mov r14d, dword [r13 - 0x50]
lea rdx, [r14 + 1]
mov rcx, rbp
call fcn.00429840
test rax, rax
je 0x48af80
mov rdi, rax
mov rcx, rax
mov rdx, r12
mov r8, r14
call fcn.005f4c20
mov byte [rdi + r14], 0
movzx eax, byte [rdi]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
js 0x48ba66
mov r14, rbx
jmp 0x48bbcd
je 0x48631b
cmp dword [rsp + 0xc4], 0x94
jge 0x486500
mov rbp, qword [r13 + 8]
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rdi]
mov edx, 0x48
call fcn.00429840
mov rsi, rax
test rax, rax
je 0x48819c
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x40], 0
mov byte [rsi], 0x94
mov word [rsi + 0x32], 0xffff
test rbp, rbp
je 0x489cab
mov qword [rsi + 0x10], rbp
mov eax, dword [rbp + 4]
mov ecx, eax
xor ecx, 0xffbffdf7
and ecx, eax
mov dword [rsi + 4], ecx
mov eax, dword [rbp + 0x28]
jmp 0x489cad
jne 0x4858de
mov edx, dword [r13 - 0x70]
mov r8d, dword [r13 - 0x40]
mov r9, qword [r13 - 0x38]
mov eax, dword [r13 - 0x10]
mov rcx, qword [r13 - 8]
mov bl, byte [r13 + 8]
mov byte [rsp + 0x30], bl
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x60]
call fcn.004c5f60
mov qword [r13 - 0x70], rax
jmp 0x491d07
je 0x486134
cmp ebx, 0x11
jge 0x486520
mov dword [r13 - 0x28], 1
jmp 0x491d07
je 0x485ce4
cmp ebx, 0xb4
jge 0x48653d
movups xmm0, xmmword [r13 + 8]
movaps xmmword [rsp + 0xd0], xmm0
lea r8, [rsp + 0xd0]
mov rcx, qword [rsp + 0x60]
mov edx, 0x3b
jmp 0x4851d4
je 0x48624c
cmp ebx, 0x62
jge 0x486134
mov dword [r13 + 8], 2
jmp 0x491d07
jne 0x4858f8
mov rax, qword [r13 - 0x10]
mov qword [rax + 0x58], rax
jmp 0x491d07
jne 0x48591a
mov dword [r13 - 0x10], 8
jmp 0x491d07
jne 0x485930
mov rax, qword [r13 - 0x58]
mov r8, qword [r13 - 0x28]
test rax, rax
je 0x4873d3
movsxd rcx, dword [rax]
cmp dword [rax + 4], ecx
mov rsi, qword [rsp + 0x60]
jle 0x4879c8
lea edx, [rcx + 1]
mov dword [rax], edx
shl rcx, 5
xorps xmm0, xmm0
movups xmmword [rax + rcx + 0x10], xmm0
mov qword [rax + rcx + 0x20], 0
mov qword [rax + rcx + 8], r8
mov qword [r13 - 0x58], rax
mov r8, qword [r13 + 8]
jmp 0x4879e4
jne 0x48599b
mov dword [r13 + 8], 0
jmp 0x491d07
jne 0x4859b4
mov r8, qword [r13 - 0x28]
mov rdx, qword [r13 + 8]
mov rcx, qword [rsp + 0x60]
call fcn.004c5e30
mov rax, qword [r13 - 0x28]
mov rcx, qword [r13 + 8]
mov qword [rcx + 0x40], rax
mov rax, qword [r13 + 8]
mov qword [r13 - 0x28], rax
jmp 0x491d07
jne 0x485a13
mov rdx, qword [r13 + 8]
mov r8, qword [r13 - 0x28]
mov r9d, dword [r13 - 8]
add r9, qword [r13 - 0x10]
jmp 0x484dfe
jne 0x485a81
movzx edi, word [r13 + 2]
mov rbp, qword [r13 - 0x10]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbx]
mov edx, 0x48
call fcn.00429840
mov rsi, rax
test rax, rax
je 0x4873e8
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x40], 0
mov byte [rsi], dil
mov word [rsi + 0x32], 0xffff
test rbp, rbp
je 0x487e31
mov qword [rsi + 0x10], rbp
mov eax, 0x400208
and eax, dword [rbp + 4]
mov dword [rsi + 4], eax
mov eax, dword [rbp + 0x28]
jmp 0x487e33
jne 0x485af2
lea rsi, [r13 + 8]
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
xor edx, edx
mov r8, rsi
xor r9d, r9d
call fcn.004aa850
mov rbp, rax
mov al, byte [rbx + 0x124]
cmp al, 2
setb cl
test rbp, rbp
sete dl
test dl, cl
jne 0x48be89
xor dl, cl
jne 0x48be89
cmp al, 3
je 0x48be89
mov rdi, qword [rbp + 0x18]
mov rcx, qword [rbx]
test rcx, rcx
je 0x48a41a
mov edx, 0x20
call fcn.00429840
jmp 0x48a424
jne 0x485b63
mov rcx, qword [rsp + 0x60]
xor edx, edx
xor r8d, r8d
call fcn.004c4700
jmp 0x491d07
jne 0x485b86
mov dword [r13 + 0x20], 0xb
jmp 0x491d07
jne 0x485b9c
mov r14, qword [r13 + 8]
mov rdi, qword [rsp + 0x60]
mov r12, qword [rdi]
cmp byte [r12 + 0x67], 0
je 0x487401
mov rcx, r12
mov rdx, r14
call fcn.004688d0
jmp 0x491d07
jne 0x485bbd
mov rdx, qword [r13 + 8]
mov rcx, qword [rsp + 0x60]
call fcn.004ad2c0
mov rax, qword [r13 - 0x28]
mov qword [r13 - 0x40], rax
jmp 0x491d07
cmp ebx, 0x14e
jge 0x485c23
mov al, byte [r13 - 0x16]
mov byte [r13 - 0x10], al
jmp 0x491d07
jne 0x485c36
mov rbp, qword [r13 + 8]
test rbp, rbp
je 0x491d07
mov r14d, dword [r13 + 0x10]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
lea rdx, [r14 + 1]
call fcn.00429840
test rax, rax
je 0x491d07
mov rdi, rax
mov rcx, rax
mov rdx, rbp
mov r8, r14
call fcn.005f4c20
mov byte [rdi + r14], 0
movzx eax, byte [rdi]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x488ef7
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
xor edx, edx
mov rsi, rdi
jmp 0x483f68
mov byte [rsi], bl
add rdx, 1
add ecx, 1
add rsi, 1
movsxd rbp, ecx
movzx ebx, byte [rdi + rbp]
cmp bl, al
jne 0x483f5b
add ecx, 1
movsxd rbp, ecx
cmp byte [rdi + rbp], al
jne 0x488ef4
mov byte [rsi], al
jmp 0x483f5d
jne 0x485cd8
mov dword [r13 + 8], 5
jmp 0x491d07
je 0x4858ea
cmp ebx, 0x5d
jge 0x4865a5
mov rdx, qword [r13 - 0x88]
mov r8, qword [r13 - 0x70]
mov r9, qword [r13 - 0x58]
mov rax, qword [r13 - 0x40]
mov rcx, qword [r13 - 0x28]
mov rbp, qword [r13 - 0x10]
mov ebx, dword [r13 - 0xa0]
mov rdi, qword [r13 + 8]
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x60]
call fcn.004aa3b0
mov qword [r13 - 0xb8], rax
jmp 0x491d07
cmp ebx, 0x109
jge 0x485cf1
movzx eax, word [r13 + 2]
mov dword [r13 + 8], eax
mov qword [r13 + 0x10], 0
jmp 0x491d07
jne 0x485d0c
mov eax, dword [r13 + 0xc]
mov ecx, eax
not ecx
and ecx, 0x82bfed59
and eax, 0x7d4012a6
or eax, ecx
mov ecx, dword [r13 - 0x10]
mov edx, dword [r13 + 8]
not ecx
xor eax, 0x82bfed59
or eax, ecx
not eax
mov ecx, eax
and ecx, edx
xor eax, edx
or eax, ecx
mov dword [r13 - 0x10], eax
jmp 0x491d07
jne 0x485d22
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsi]
mov edx, 0x48
call fcn.00429840
mov r14, rax
test rax, rax
je 0x48745b
xorps xmm0, xmm0
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x30], xmm0
movups xmmword [r14 + 0x20], xmm0
movups xmmword [r14 + 0x10], xmm0
mov qword [r14 + 0x40], 0
mov byte [r14], 0x8a
mov word [r14 + 0x32], 0xffff
mov dword [r14 + 0x28], 1
mov rax, qword [rsi]
mov r8d, dword [rax + 0x94]
test r8d, r8d
jg 0x4840d0
lea rdx, [0x00603afc]
mov rcx, rsi
call fcn.00419aa0
mov qword [r13 - 0x28], r14
mov rax, qword [r13 - 0x10]
mov qword [r14 + 0x20], rax
mov ecx, dword [r14 + 4]
mov edx, ecx
and edx, section..text
xor ecx, section..text
or ecx, edx
mov dword [r14 + 4], ecx
cmp dword [rsi + 0x30], 0
jne 0x491d07
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x48a582
mov ecx, dword [rcx + 0x28]
jmp 0x48a584
jne 0x485d9a
mov qword [r13 - 0x10], 0
mov dword [r13 - 8], 1
jmp 0x491d07
mov qword [r13 + 0x20], 0
mov dword [r13 + 0x28], 0
jmp 0x491d07
jne 0x485db3
mov byte [r13 - 0x28], 2
jmp 0x491d07
jne 0x485dee
mov rax, qword [r8]
mov qword [r13 + 0x20], rax
jmp 0x491d07
jne 0x485e05
mov r8, qword [r13 - 0x28]
mov rsi, qword [r13 + 8]
test r8, r8
je 0x48b4cf
test rsi, rsi
je 0x487e64
mov rdi, qword [rsp + 0x60]
mov rbp, qword [rdi]
mov eax, dword [r8 + 4]
mov ecx, eax
xor ecx, 0xdffffffe
and ecx, eax
cmp ecx, 0x20000000
je 0x4841b4
mov eax, dword [rsi + 4]
not eax
or eax, 0xdffffffe
cmp eax, 0xdfffffff
jne 0x4841c1
cmp byte [rdi + 0x124], 1
jbe 0x488f57
mov rcx, rdi
mov edx, 0x2c
mov r9, rsi
call fcn.004997c0
mov rsi, rax
jmp 0x48b4cf
jne 0x485e28
mov rdx, qword [r13 - 0xa0]
lea r8, [r13 - 0x88]
lea r9, [r13 - 0x70]
lea rax, [r13 - 0x10]
lea rcx, [r13 + 8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov rcx, qword [rsp + 0x60]
call fcn.004a9f80
mov qword [r13 - 0xa0], rax
mov rdx, qword [r13 - 0x40]
test rax, rax
je 0x487471
mov ecx, dword [rax]
add ecx, 0xffffffff
movsxd rcx, ecx
imul rcx, rcx, 0x68
mov qword [rax + rcx + 0x60], rdx
mov edx, dword [rax + rcx + 0x48]
mov ebp, edx
and ebp, 4
xor edx, 4
or edx, ebp
mov dword [rax + rcx + 0x48], edx
jmp 0x491d07
jne 0x485e5a
mov r9, qword [r13 + 8]
mov qword [rsp + 0x30], r9
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
lea r8, [0x00605540]
mov rcx, qword [rsp + 0x60]
mov edx, 0x19
call fcn.0051ceb0
jmp 0x491d07
jne 0x485e73
mov r8, qword [r13 - 0x40]
mov rdx, qword [r13 - 0x28]
mov r9, qword [r13 - 0x10]
jmp 0x4861ce
jne 0x485ed3
mov rax, qword [r13 - 0x10]
mov qword [r13 - 0x28], rax
jmp 0x491d07
je 0x48631b
cmp dword [rsp + 0xc4], 0x98
jg 0x48631b
mov al, 1
test al, al
jne 0x48598e
jmp 0x48631b
setne al
cmp ebx, 0x148
setg cl
cmp al, cl
je 0x4848f5
cmp dword [rsp + 0xc4], 0x147
je 0x4848f5
movzx eax, word [r13 + 2]
mov rcx, qword [r13 - 0x10]
mov qword [r13 - 0x10], rax
mov qword [r13 - 8], rcx
jmp 0x491d07
jne 0x485f1b
mov rax, qword [r13 + 8]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x60]
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.00496e40
mov rdx, qword [r13 + 8]
test rdx, rdx
je 0x491d07
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov r8d, 1
call fcn.00468620
jmp 0x491d07
jne 0x485f3d
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rdi]
lea rsi, [r13 + 8]
mov edx, 0x9b
mov r8, rsi
mov r9d, 1
call fcn.004ba410
test rax, rax
je 0x48438a
mov ecx, dword [rsi]
sub ecx, dword [rdi + 0x148]
mov dword [rax + 0x34], ecx
mov qword [rsi], rax
jmp 0x491d07
jne 0x486008
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsi]
mov edx, 0x49
call fcn.00429840
test rax, rax
je 0x4843e8
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax + 0x40], 0
mov byte [rax], 0xb4
mov word [rax + 0x32], 0xffff
mov rcx, rax
add rcx, 0x48
mov qword [rax + 8], rcx
mov byte [rax + 0x48], 0
mov dword [rax + 0x28], 1
mov rdx, qword [r13 - 0x28]
test rdx, rdx
je 0x48748c
movsxd rcx, dword [rdx]
cmp dword [rdx + 4], ecx
jle 0x487a1f
lea ebp, [rcx + 1]
mov dword [rdx], ebp
shl rcx, 5
xorps xmm0, xmm0
movups xmmword [rdx + rcx + 0x10], xmm0
mov qword [rdx + rcx + 0x20], 0
mov qword [rdx + rcx + 8], rax
mov qword [r13 - 0x28], rdx
jmp 0x491d07
jne 0x4860f8
mov rsi, qword [r13 - 0x28]
mov rax, qword [r13 - 0x40]
mov qword [rsp + 0x70], rax
mov rbx, qword [r13 - 0x10]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov qword [rsp + 0x68], rcx
cmp dword [rax + 0x30], 0
je 0x487497
mov rbp, qword [rsp + 0x70]
test rbp, rbp
mov r15, qword [rsp + 0x68]
je 0x48e6d9
mov r14, rsi
mov rsi, rbx
cmp dword [rbp], 0
jle 0x484498
lea rdi, [rbp + 8]
xor ebx, ebx
mov rdx, qword [rdi]
mov rcx, r15
call fcn.00408130
add rbx, 1
movsxd rax, dword [rbp]
add rdi, 0x10
cmp rbx, rax
jl 0x48447c
test r15, r15
mov rbx, rsi
mov rsi, r14
je 0x48a00d
cmp qword [r15 + 0x300], 0
je 0x489fea
mov rcx, r15
mov rdx, rbp
call fcn.004297f0
jmp 0x48e6d9
jne 0x486122
mov dword [r13 - 0x28], 0
jmp 0x491d07
je 0x48631b
cmp dword [rsp + 0xc4], 0xe9
jl 0x48631b
mov rdx, qword [r13 - 0x28]
mov r8, qword [r13 + 8]
test rdx, rdx
je 0x4881b5
movsxd rax, dword [rdx]
cmp dword [rdx + 4], eax
mov rcx, qword [rsp + 0x60]
jle 0x488c16
lea ecx, [rax + 1]
mov dword [rdx], ecx
shl rax, 5
xorps xmm0, xmm0
movups xmmword [rdx + rax + 0x10], xmm0
mov qword [rdx + rax + 0x20], 0
mov qword [rdx + rax + 8], r8
mov qword [r13 - 0x28], rdx
jmp 0x491d07
je 0x4859a7
cmp ebx, 0x8f
jl 0x48631b
jmp 0x485da6
jne 0x486141
mov rdx, qword [r13 - 0x10]
mov rdi, qword [r13 + 8]
test rdi, rdi
je 0x4874e2
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], rdx
mov rbp, qword [r13 - 0x58]
test rbp, rbp
mov rax, qword [rsp + 0x60]
je 0x486f63
mov esi, dword [r13 - 0x50]
mov rcx, qword [rax]
movabs rax, 0x49e2103ce78715ce
mov rdx, rsi
sub rdx, rax
add rdx, rax
add rdx, 1
call fcn.00429840
test rax, rax
je 0x486f63
mov rbx, rax
mov rcx, rax
mov rdx, rbp
mov r8, rsi
call fcn.005f4c20
mov byte [rbx + rsi], 0
mov qword [rdi + 8], rbx
mov qword [r13 - 0x58], rdi
jmp 0x491d07
jne 0x4861b9
mov eax, dword [r13 + 8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], eax
mov byte [rsp + 0x50], 1
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.00499f20
jmp 0x491d07
jne 0x4861dd
mov r8, qword [r13 - 0x58]
mov r9, qword [r13 + 8]
mov rcx, qword [rsp + 0x60]
mov edx, 0xab
call fcn.004997c0
mov qword [r13 - 0x58], rax
test rax, rax
je 0x491d07
mov rsi, rax
mov rax, qword [r13 + 8]
test rax, rax
je 0x491d07
mov cl, 1
test cl, cl
je 0x491d07
cmp byte [rax], 0x79
jne 0x491d07
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x124], 1
ja 0x491d07
jmp 0x4853b2
jne 0x486243
lea r14, [r13 - 0x28]
mov rcx, qword [rsp + 0x60]
xor edx, edx
mov r8, r14
xor r9d, r9d
call fcn.004aa850
mov qword [r13 - 0x28], rax
test rax, rax
je 0x491d07
mov rbp, qword [r13 + 8]
test rbp, rbp
je 0x4864f2
mov esi, dword [r13 + 0x10]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
movabs rax, 0xc6ec518a25cc6741
mov rdx, rsi
sub rdx, rax
add rdx, rax
add rdx, 1
call fcn.00429840
test rax, rax
je 0x4864f2
mov rdi, rax
mov rcx, rax
mov rdx, rbp
mov r8, rsi
call fcn.005f4c20
mov byte [rdi + rsi], 0
movzx eax, byte [rdi]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x4864f4
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
mov esi, 0xffffffff
xor ebp, ebp
mov rbx, rdi
jmp 0x48473d
mov byte [rbx], dl
add rbp, 1
add ecx, 1
add rbx, 1
movsxd rdx, ecx
movzx edx, byte [rdi + rdx]
cmp dl, al
jne 0x484730
sub ecx, esi
movsxd rdx, ecx
cmp byte [rdi + rdx], al
jne 0x488b2c
mov byte [rbx], al
jmp 0x484732
jne 0x486259
mov rax, r13
mov rsi, qword [rsp + 0x60]
mov r13, qword [rsi]
add byte [rsi + 0x24], 1
add dword [r13 + 0x1a0], 1
mov word [r13 + 0x1a4], 0
mov qword [rsp + 0x90], rax
mov r14, qword [rax + 8]
cmp byte [r13 + 0x67], 0
jne 0x48ae12
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x4892b6
movabs rdx, 0xffffffff00000000
mov ebx, 0xffffffff
mov rax, qword [r13 + 0x20]
lea rdi, [rax + 0x18]
xor esi, esi
add rsi, 1
lea rbp, [rdi + 0x20]
add rdx, rbx
add rdx, 1
cmp qword [rdi], rcx
mov rdi, rbp
jne 0x4847be
sar rdx, 0x1b
add rax, rdx
mov rsi, qword [rsp + 0x60]
jmp 0x4892ba
je 0x486134
cmp ebx, 0x53
jge 0x48660d
mov r12, qword [r13 - 0x28]
mov r15, qword [r13 + 8]
mov rdi, qword [rsp + 0x60]
mov r14, qword [rdi]
cmp word [rdi + 0x120], 0
jle 0x4881ce
lea rdx, [0x0060418a]
mov rcx, rdi
call fcn.00419aa0
test r15, r15
je 0x484838
mov rcx, r14
mov rdx, r15
mov r8d, 1
call fcn.00468620
cmp byte [rdi + 0x124], 2
jb 0x487ef4
test r12, r12
je 0x491d07
xorps xmm0, xmm0
movups xmmword [rsp + 0x188], xmm0
movups xmmword [rsp + 0x178], xmm0
mov qword [rsp + 0x168], rdi
lea rax, [0x004df820]
mov qword [rsp + 0x170], rax
mov edi, dword [r12]
test edi, edi
jle 0x487ef4
lea rbx, [r12 + 8]
lea ebp, [rdi + 1]
lea rsi, [rsp + 0x168]
jmp 0x48491a
jne 0x4862c0
lea rdx, [r13 - 0x40]
lea r8, [r13 - 0x28]
lea r9, [r13 + 8]
jmp 0x4862d8
jne 0x4862e5
mov rdx, qword [r13 - 0x40]
mov r9, qword [r13 - 0x28]
mov r8, qword [r13 - 0x10]
mov eax, dword [r13 - 0x70]
mov rcx, qword [r13 + 8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x60]
call fcn.004b3730
jmp 0x491d07
jne 0x486328
mov rax, qword [r13 - 0x10]
mov qword [r13 - 0x40], rax
jmp 0x491d07
movzx eax, word [r13 - 0x16]
mov qword [r13 - 0x10], rax
mov qword [r13 - 8], 0
jmp 0x491d07
add edi, 0xffffffff
add rbx, 0x20
add ebp, 0xffffffff
cmp ebp, 1
jle 0x48492e
mov rdx, qword [rbx]
test rdx, rdx
je 0x48490b
mov rcx, rsi
call fcn.004cea30
test eax, eax
je 0x48490b
mov eax, dword [r12]
test eax, eax
mov rbx, qword [rsp + 0x60]
jle 0x487ef4
xor ecx, ecx
jmp 0x487ebd
mov byte [rbp], bl
add rdx, 1
add ecx, 1
add rbp, 1
movsxd rbx, ecx
movzx ebx, byte [rdi + rbx]
cmp bl, al
jne 0x484946
add ecx, 1
movsxd rbx, ecx
cmp byte [rdi + rbx], al
jne 0x48baaf
mov byte [rbp], al
jmp 0x484949
mov rax, qword [rsp + 0x60]
mov byte [rax + 0x123], 1
jmp 0x491d07
mov qword [r13 - 0x10], 0
mov rdx, qword [r13 + 8]
mov rcx, qword [rsp + 0x60]
call fcn.004ad2c0
jmp 0x491d07
xorps xmm0, xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
mov qword [rsp + 0xf0], 0
mov byte [rsp + 0xd0], 9
mov rdx, qword [r13 + 8]
lea r8, [rsp + 0xd0]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.0049e470
mov rdx, qword [r13 + 8]
test rdx, rdx
je 0x491d07
mov rcx, qword [rsi]
mov r8d, 1
call fcn.00468620
jmp 0x491d07
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x150]
test rax, rax
jne 0x485eb0
jmp 0x491d07
lea rdx, [r13 - 0x28]
lea r8, [r13 - 0x10]
mov rcx, qword [rsp + 0x60]
xor r9d, r9d
call fcn.004aab50
mov dword [r13 - 0x28], eax
jmp 0x491d07
lea rdx, [r13 + 8]
mov rcx, qword [rsp + 0x60]
call fcn.004c52b0
jmp 0x491d07
mov r8d, dword [r13 + 0x10]
mov r9, qword [r13 + 8]
cmp r8d, 5
mov rcx, qword [rsp + 0x60]
jne 0x491632
xor ebp, ebp
test r9, r9
je 0x488275
movzx edx, byte [r9]
test rdx, rdx
je 0x489ce3
lea rax, [0x005fade0]
mov ebx, edx
not bl
or bl, 0x20
cmp bl, 0xad
jne 0x48a092
movzx edx, byte [r9 + 1]
test rdx, rdx
je 0x48c80b
mov ebx, edx
not bl
or bl, 0x20
cmp bl, 0xb0
jne 0x48cb3f
movzx edx, byte [r9 + 2]
test rdx, rdx
je 0x48efc3
mov ebx, edx
xor bl, 0x20
and bl, dl
cmp bl, 0x57
jne 0x48f79b
movzx edx, byte [r9 + 3]
test rdx, rdx
je 0x490833
mov ebx, edx
not bl
or bl, 0x20
cmp bl, 0xb6
jne 0x4908a0
movzx edx, byte [r9 + 4]
test rdx, rdx
je 0x491607
mov ecx, edx
xor cl, 0x20
and cl, dl
cmp cl, 0x44
mov rcx, qword [rsp + 0x60]
je 0x491625
add rax, rdx
lea rdx, [0x005ff0a5]
movzx ebp, byte [rax]
jmp 0x491613
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov esi, dword [r13 - 8]
add esi, 1
movsxd rdx, esi
add rdx, 0x48
call fcn.00429840
mov r14, rax
test rax, rax
je 0x4874f8
xorps xmm0, xmm0
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x30], xmm0
movups xmmword [r14 + 0x20], xmm0
movups xmmword [r14 + 0x10], xmm0
mov qword [r14 + 0x40], 0
mov byte [r14], 0x24
mov word [r14 + 0x32], 0xffff
test esi, esi
je 0x487e70
mov rdi, r14
add rdi, 0x48
mov qword [r14 + 8], rdi
mov r8d, dword [r13 - 8]
test r8, r8
je 0x488f98
mov rdx, qword [r13 - 0x10]
mov rcx, rdi
call fcn.005f4c20
mov eax, dword [r13 - 8]
jmp 0x488f9a
mov edx, 0x48
call fcn.00429840
mov rsi, rax
test rax, rax
je 0x4872b1
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x40], 0
mov byte [rsi], 0x47
mov word [rsi + 0x32], 0xffff
mov dword [rsi + 0x28], 1
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
mov r8d, dword [rax + 0x94]
test r8d, r8d
jg 0x484c04
lea rdx, [0x00603afc]
call fcn.00419aa0
mov qword [r13 - 0x40], rsi
mov byte [rsi + 1], 4
jmp 0x491d07
mov byte [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x55
mov rcx, qword [rsp + 0x60]
xor edx, edx
mov r8d, 0x5a
xor r9d, r9d
call fcn.004c5f60
mov qword [r13 + 0x20], rax
jmp 0x491d07
lea rdx, [r13 - 0x10]
lea r8, [r13 + 8]
mov r9d, dword [r13 - 0x58]
mov eax, dword [r13 - 0x28]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
call fcn.00495cc0
jmp 0x491d07
mov rdx, qword [r13 - 0x28]
lea r8, [r13 + 8]
mov rcx, qword [rsp + 0x60]
call fcn.004ba0b0
mov qword [r13 - 0x28], rax
jmp 0x491d07
mov rdx, qword [r13 - 0x10]
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0x200
mov qword [rsp + 0x30], 0
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
xor r9d, r9d
call fcn.004aa3b0
mov qword [r13 - 0x40], rax
jmp 0x491d07
mov dword [r13 - 0x28], eax
mov dword [r13 - 0x24], 0xff
jmp 0x491d07
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsi]
mov edx, 0x48
call fcn.00429840
mov r14, rax
test rax, rax
je 0x48751b
xorps xmm0, xmm0
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x30], xmm0
movups xmmword [r14 + 0x20], xmm0
movups xmmword [r14 + 0x10], xmm0
mov qword [r14 + 0x40], 0
mov byte [r14], 0x14
mov word [r14 + 0x32], 0xffff
mov dword [r14 + 0x28], 1
mov rax, qword [rsi]
mov r8d, dword [rax + 0x94]
test r8d, r8d
jg 0x484d50
lea rdx, [0x00603afc]
mov rcx, rsi
call fcn.00419aa0
mov qword [r13 - 0x40], r14
mov rax, qword [r13 - 0x10]
mov qword [r14 + 0x20], rax
mov edx, dword [r14 + 4]
mov ebp, edx
not ebp
and ebp, 0x3a35cf78
mov ecx, edx
and ecx, 0xc5ca3087
or ecx, ebp
xor ecx, 0x3a75df78
and edx, section..text
or edx, ecx
mov dword [r14 + 4], edx
cmp dword [rsi + 0x30], 0
jne 0x491d07
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x48a6c9
mov ecx, dword [rcx + 0x28]
jmp 0x48a6cb
mov rax, qword [r13 - 0x58]
mov r8, qword [r13 - 0x28]
test rax, rax
mov rdx, qword [rsp + 0x60]
je 0x487544
movsxd rcx, dword [rax]
cmp dword [rax + 4], ecx
jle 0x487a2a
lea edx, [rcx + 1]
mov dword [rax], edx
shl rcx, 5
xorps xmm0, xmm0
movups xmmword [rax + rcx + 0x10], xmm0
mov qword [rax + rcx + 0x20], 0
mov qword [rax + rcx + 8], r8
mov qword [r13 - 0x58], rax
jmp 0x487a42
mov rdx, qword [r13 + 8]
mov r8, qword [r13 - 0x10]
mov r9d, dword [r13 - 8]
add r9, r8
mov rcx, qword [rsp + 0x60]
call fcn.004993c0
jmp 0x491d07
lea rsi, [r13 - 0x10]
mov edi, dword [r13 - 8]
mov eax, edi
and eax, 0x7fffffff
mov dword [r13 - 8], eax
mov rdx, qword [r13 + 8]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbx]
call fcn.0050cd80
mov r8, qword [r13 - 0x28]
test rax, rax
je 0x487554
movsxd rcx, dword [rax]
cmp dword [rax + 4], ecx
jle 0x487aa9
lea edx, [rcx + 1]
mov dword [rax], edx
shl rcx, 5
xorps xmm0, xmm0
movups xmmword [rax + rcx + 0x10], xmm0
mov qword [rax + rcx + 0x20], 0
mov qword [rax + rcx + 8], r8
jmp 0x487ab4
mov rsi, qword [rsp + 0x60]
mov r12, qword [rsi]
cmp byte [r12 + 0xc5], 0
je 0x487564
mov rax, qword [rsi]
mov qword [rsp + 0x70], rax
mov eax, dword [rax + 0x28]
test eax, eax
jle 0x491d07
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rcx + 0x20]
xor r12d, r12d
mov qword [rsp + 0x90], r13
jmp 0x484ed4
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x28]
mov rdx, qword [rsp + 0x68]
add r12d, 1
add rdx, 0x20
cmp r12d, eax
mov r13, qword [rsp + 0x90]
jge 0x491d07
mov rcx, qword [rdx + 0x18]
mov r13, qword [rcx + 0x10]
test r13, r13
je 0x484ebb
mov qword [rsp + 0x68], rdx
mov rbx, qword [rsp + 0x60]
jmp 0x484ef9
mov r13, qword [r13]
test r13, r13
je 0x484eae
mov r15, qword [r13 + 0x10]
cmp byte [r15 + 0x3f], 1
je 0x484ef0
mov rsi, qword [r15 + 0x10]
jmp 0x484f35
mov eax, dword [rbp + 0x70]
mov ecx, eax
and ecx, r14d
xor eax, r14d
or eax, ecx
mov dword [rbp + 0x70], eax
mov rcx, rbx
mov rdx, rsi
mov r8d, 0xffffffff
call fcn.004dfe90
mov rsi, qword [rsi + 0x28]
test rsi, rsi
je 0x484ef0
mov rax, qword [r15 + 0x60]
test rax, rax
je 0x484f80
mov rcx, qword [rbx]
mov rdx, qword [rcx + 0x20]
add rdx, 0x18
mov ecx, 0xffffffff
xor ebp, ebp
nop dword [rax]
add rbp, 1
add ecx, 1
lea rdi, [rdx + 0x20]
cmp qword [rdx], rax
mov rdx, rdi
jne 0x484f60
jmp 0x484f85
mov ecx, 0xffff8000
mov rbp, qword [rbx + 0xa0]
test rbp, rbp
cmove rbp, rbx
mov r14d, 1
shl r14d, cl
mov edi, 0xfffffffe
rol edi, cl
mov edx, dword [rbp + 0x74]
mov eax, edx
not eax
or edi, eax
cmp edi, 0xffffffff
jne 0x484f10
mov edi, r14d
not edi
mov ebx, eax
and ebx, 0xd35a698
and edx, 0xf2ca5967
or edx, ebx
or eax, edi
and edi, 0xd35a698
mov ebx, r14d
and ebx, 0xf2ca5967
or ebx, edi
xor ebx, edx
not eax
or eax, ebx
mov rbx, qword [rsp + 0x60]
mov dword [rbp + 0x74], eax
cmp ecx, 1
jne 0x484f10
mov rcx, rbp
call fcn.004306d0
jmp 0x484f10
mov byte [r13 + 0x20], 0
jmp 0x491d07
mov dword [r13 - 0x10], 0x41
jmp 0x491d07
mov byte [r13 + 8], 1
jmp 0x491d07
mov eax, dword [r13 + 8]
add eax, dword [r13 + 0x10]
sub eax, dword [r13 - 0x70]
mov dword [r13 - 0x68], eax
jmp 0x491d07
lea rsi, [r13 + 8]
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rdi]
mov edx, 0xac
mov r8, rsi
mov r9d, 1
call fcn.004ba410
mov rbp, rax
test rax, rax
je 0x48be89
mov eax, dword [rsi]
sub eax, dword [rdi + 0x148]
mov dword [rbp + 0x34], eax
mov qword [rbp + 0x20], 0
mov eax, dword [rbp + 4]
mov ecx, eax
not ecx
and ecx, 0x89a7ce0b
mov edx, eax
and edx, 0x765831f4
or edx, ecx
xor edx, 0x89a7ce03
and eax, 8
or eax, edx
mov dword [rbp + 4], eax
cmp dword [rdi + 0x30], 0
jne 0x48be89
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x488b34
mov eax, dword [rax + 0x28]
jmp 0x488b36
mov rdx, qword [r13 - 0x58]
lea r8, [r13 - 0x40]
lea r9, [r13 - 0x28]
lea rax, [r13 - 0x10]
lea rcx, [r13 + 8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov rcx, qword [rsp + 0x60]
call fcn.004a9f80
mov qword [r13 - 0x58], rax
jmp 0x491d07
mov r12, qword [r13 + 8]
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x48c65a
mov eax, dword [r13 - 0x10]
mov dword [rsp + 0x80], eax
cmp byte [rcx + 0xc5], 0
mov qword [rsp + 0x88], rcx
je 0x4892f6
mov rsi, qword [r12 + 0x10]
mov eax, dword [rcx + 0x28]
mov dword [rsp + 0x70], eax
test eax, eax
jle 0x48c623
mov r11, qword [r12 + 0x18]
mov rax, qword [rsp + 0x88]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x68], rax
test rsi, rsi
je 0x48ae4e
mov qword [rsp + 0x98], r12
lea rax, [r11 + 1]
mov qword [rsp + 0x78], rax
xor edx, edx
lea rbp, [0x005fade0]
lea r15, [0x005fd6fa]
xor r9d, r9d
jmp 0x4863aa
mov r8d, dword [r13 + 8]
mov rdx, qword [r13 - 0x40]
mov r9d, dword [r13 - 0x28]
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
call fcn.00499a50
jmp 0x491d07
mov r9, qword [r13 - 0x28]
mov r8, qword [r13 + 8]
jmp 0x486508
movzx edx, word [r13 + 2]
movups xmm0, xmmword [r13 + 8]
movaps xmmword [rsp + 0xd0], xmm0
lea r8, [rsp + 0xd0]
mov rcx, qword [rsp + 0x60]
call fcn.004998c0
mov qword [r13 + 8], rax
jmp 0x491d07
lea rdx, [0x00602a40]
jmp 0x48944b
mov rdi, qword [r13 + 8]
mov rdx, qword [r13 - 0x28]
mov rsi, qword [r13 - 0x10]
test rdi, rdi
mov rbx, qword [rsp + 0x60]
je 0x487606
mov qword [rdi + 0x10], rdx
mov qword [rdi + 0x18], rsi
mov rbp, qword [r13 - 0x70]
test rbp, rbp
je 0x486f72
mov r14d, dword [r13 - 0x68]
mov rcx, qword [rbx]
lea rdx, [r14 + 1]
call fcn.00429840
test rax, rax
je 0x486f72
mov rsi, rax
mov rcx, rax
mov rdx, rbp
mov r8, r14
call fcn.005f4c20
mov byte [rsi + r14], 0
mov qword [rdi + 8], rsi
mov qword [r13 - 0x70], rdi
jmp 0x491d07
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x150]
test rax, rax
je 0x491d07
movzx ecx, word [rax + 0x36]
test cx, cx
jle 0x491d07
mov esi, dword [r13 + 8]
mov edx, 0xffffffff
add rcx, rdx
xor rdx, rcx
not rdx
and rdx, rcx
mov r8, qword [rax + 8]
lea rdx, [rdx + rdx*2]
mov ebp, dword [r8 + rdx*8 + 8]
mov edi, ebp
xor edi, 0xf
and edi, ebp
mov ebp, esi
xor ebp, 0xfffffff0
and ebp, esi
mov ebx, edi
not ebx
mov esi, ebp
not esi
mov ecx, ebx
and ecx, 0x94e63c22
and edi, 0x6b19c3dd
or edi, ecx
or ebx, esi
and esi, 0x94e63c22
and ebp, 0x6b19c3dd
or ebp, esi
xor ebp, edi
not ebx
or ebx, ebp
mov dword [r8 + rdx*8 + 8], ebx
mov ecx, dword [rax + 0x30]
mov ebp, ecx
and ebp, 0x800
xor ecx, 0x800
or ecx, ebp
mov dword [rax + 0x30], ecx
movzx ecx, word [r8 + rdx*8 + 0x12]
mov edx, ecx
xor edx, 0xfff7
test dx, cx
je 0x491d07
mov rcx, qword [rax + 0x10]
jmp 0x485315
mov rcx, qword [rcx + 0x28]
test rcx, rcx
je 0x491d07
movsx edx, word [rax + 0x36]
mov rbp, qword [rcx + 8]
movsx ebp, word [rbp]
add edx, 0xffffffff
cmp edx, ebp
jne 0x485311
mov ebp, dword [rcx + 0x64]
mov ebx, ebp
not ebx
and ebx, 0xa3083b84
mov edx, ebp
and edx, 0x5cf7c47b
or edx, ebx
xor edx, 0xa3083b8c
and ebp, 8
or ebp, edx
mov dword [rcx + 0x64], ebp
jmp 0x485311
mov r8, qword [r13 - 0x40]
mov r9, qword [r13 + 8]
mov rcx, qword [rsp + 0x60]
mov edx, 0xab
call fcn.004997c0
mov rsi, rax
mov qword [r13 - 0x40], rax
mov rax, qword [r13 + 8]
test rsi, rsi
setne cl
test rax, rax
sete dl
cmp cl, dl
je 0x491d07
test rsi, rsi
je 0x491d07
cmp byte [rax], 0x79
jne 0x491d07
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x124], 1
ja 0x491d07
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov byte [rsi], 0x33
mov rdx, qword [rsi + 0x18]
test rdx, rdx
je 0x4853cb
call fcn.00468370
mov qword [rsi + 0x18], 0
jmp 0x491d07
lea r8, [r13 - 0x28]
lea r9, [r13 + 8]
mov rcx, qword [rsp + 0x60]
xor edx, edx
call fcn.004aa850
mov qword [r13 - 0x28], rax
jmp 0x491d07
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + 0x110]
sub eax, dword [r13 - 0x10]
add eax, dword [rcx + 0x118]
mov dword [r13 - 8], eax
cmp dword [rcx + 0x30], 0
jne 0x491d07
mov rax, qword [rsp + 0x60]
mov r12, qword [rax]
mov r15, qword [rax + 0x150]
mov rcx, qword [r15 + 0x60]
mov rax, qword [r12 + 0x20]
test rcx, rcx
je 0x489396
lea rdx, [rax + 0x18]
mov ebp, 0xffffffff
xor ebx, ebx
add rbx, 1
add ebp, 1
lea rdi, [rdx + 0x20]
cmp qword [rdx], rcx
mov rdx, rdi
jne 0x485444
jmp 0x48939b
mov rdi, qword [rsp + 0x60]
jne 0x48662a
mov rdx, qword [r13 + 8]
mov rcx, qword [rdi]
call fcn.0050cd80
mov rsi, rax
lea r8, [r13 - 0x28]
mov rcx, rdi
mov rdx, rax
mov r9d, 1
call fcn.004aa6d0
mov qword [r13 - 0x28], rsi
jmp 0x491d07
je 0x491d07
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsi]
test rcx, rcx
je 0x48827d
movzx eax, word [rcx + 0x1a4]
cmp eax, 0x8f
ja 0x488c27
cmp dword [rcx + 0x1a0], 0
je 0x48b538
cmp byte [rcx + 0x67], 0
jne 0x48dcfa
jmp 0x48dcad
cmp ebx, 4
jge 0x486645
mov edi, dword [r13 - 0x10]
mov rax, qword [rsp + 0x60]
mov rbp, qword [rax]
mov rax, qword [rbp + 0x1f8]
test rax, rax
je 0x485515
cmp byte [rbp + 0xc5], 0
jne 0x485515
mov rcx, qword [rsp + 0x60]
cmp byte [rcx + 0x124], 0
je 0x48bdc3
mov rcx, qword [rsp + 0x60]
call fcn.004c6120
test rax, rax
je 0x491d07
mov rsi, rax
cmp edi, 7
je 0x48d87b
cmp dword [rbp + 0x28], 0
jle 0x48d87b
xor r14d, r14d
cmp edi, 9
sete r14b
add r14d, 1
mov rax, qword [rbp + 0x20]
mov rax, qword [rax + 8]
test rax, rax
je 0x485570
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x28]
not eax
or eax, 0xfffe
xor r9d, r9d
cmp ax, 0xffff
jne 0x485573
mov r9d, r14d
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x48bcd8
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 2
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x48bcf0
mov rax, qword [rsp + 0x60]
mov rsi, qword [rax]
cmp ebx, 0xa9
jge 0x486652
test rsi, rsi
je 0x48828c
mov edx, 0x58
mov rcx, rsi
call fcn.00429840
jmp 0x488296
mov rsi, qword [r13 + 8]
cmp ebx, 0x58
jge 0x486675
test rsi, rsi
mov rbx, qword [rsp + 0x60]
je 0x48b38f
mov rax, qword [rsi + 0x50]
test rax, rax
je 0x48b38f
mov qword [rsi + 0x58], 0
mov edx, dword [rsi + 4]
mov ebp, edx
not ebp
and ebp, 0xed6aa19d
mov ecx, edx
and ecx, 0x12955e62
or ecx, ebp
xor ecx, 0xed6aa09d
and edx, 0x100
or edx, ecx
mov dword [rsi + 4], edx
mov ebp, 1
lea r8, [0x00604254]
lea r9, [0x00604852]
mov rdx, rsi
mov edi, ebp
cmp qword [rax + 0x48], 0
jne 0x48b30e
cmp qword [rax + 0x60], 0
jne 0x48b30b
lea ebp, [rdi + 1]
mov rbx, qword [rax + 0x50]
mov qword [rax + 0x58], rdx
mov edx, dword [rax + 4]
mov ecx, edx
and ecx, 0x100
xor edx, 0x100
or edx, ecx
mov dword [rax + 4], edx
mov rdx, rax
mov rax, rbx
test rbx, rbx
mov rbx, qword [rsp + 0x60]
jne 0x48565a
jmp 0x48b35a
cmp ebx, 0x104
jge 0x48672e
lea r8, [r13 - 0xa0]
lea rdi, [r13 - 0x88]
mov edx, dword [r13 - 0x70]
mov ecx, dword [r13 - 0x58]
mov r14, qword [r13 - 0x50]
mov rbp, qword [r13 - 0x28]
mov rax, qword [r13 + 8]
mov qword [rsp + 0x70], rax
mov esi, dword [r13 - 0xe8]
mov ebx, dword [r13 - 0xb8]
mov r12, qword [rsp + 0x60]
mov r15, qword [r12]
mov eax, dword [r13 - 0x80]
test esi, esi
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x68], rbp
je 0x4882c6
test eax, eax
je 0x489cef
lea rdx, [0x0060522a]
jmp 0x4882e3
cmp ebx, 0x2f
jge 0x486134
lea r8, [r13 + 8]
mov rdx, qword [r13 - 0x28]
mov rcx, qword [rsp + 0x60]
call fcn.0049d000
jmp 0x491d07
cmp ebx, 0xda
jge 0x48579b
mov rdx, qword [r13 - 0x28]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbx]
call fcn.0050cd80
mov r8, qword [r13 + 8]
test rax, rax
je 0x4882f0
mov r14, rax
movsxd rax, dword [rax]
cmp dword [r14 + 4], eax
jle 0x488c4d
lea ecx, [rax + 1]
mov dword [r14], ecx
shl rax, 5
xorps xmm0, xmm0
movups xmmword [r14 + rax + 0x10], xmm0
mov qword [r14 + rax + 0x20], 0
mov qword [r14 + rax + 8], r8
jmp 0x488c5b
mov dword [r13 + 8], 0
jmp 0x491d07
cmp ebx, 0x80
jge 0x48673c
mov qword [r13 - 0x40], 0
mov rax, qword [r13 - 0x10]
mov qword [r13 - 0x38], rax
jmp 0x491d07
cmp ebx, 0x12f
jge 0x486749
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rdx + 0x170]
mov rax, qword [r13 + 8]
test rcx, rcx
je 0x488300
add eax, dword [r13 + 0x10]
sub eax, ecx
mov dword [rdx + 0x178], eax
jmp 0x491d07
cmp ebx, 0x1b
jge 0x486776
mov dword [r13 + 0x28], 0
mov qword [r13 + 0x20], 0
jmp 0x491d07
cmp ebx, 0xbf
jge 0x48678b
lea rsi, [r13 - 0x70]
mov rdx, qword [r13 - 0x28]
mov r9d, dword [r13 - 0x40]
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
mov r8, rsi
call fcn.004ba5a0
mov rbp, rax
mov rdx, qword [r13 + 8]
test rax, rax
je 0x488575
mov qword [rbp + 0x40], rdx
mov ecx, dword [rbp + 4]
mov ebx, ecx
and ebx, 0x1000000
mov eax, ecx
xor eax, 0x1000000
or eax, ebx
mov dword [rbp + 4], eax
mov qword [rdx + 0x70], rbp
not ecx
or ecx, 0xfffffffb
cmp ecx, 0xffffffff
je 0x48be89
cmp byte [rdx + 0x20], 0xa6
je 0x48be89
jmp 0x48be91
cmp ebx, 0x6c
jge 0x48631b
mov rax, qword [r13 - 0x10]
test rax, rax
je 0x491d07
mov ecx, dword [rax]
test ecx, ecx
jle 0x491d07
add ecx, 0xffffffff
imul rcx, rcx, 0x68
mov dl, byte [r13 + 8]
mov byte [rax + rcx + 0x44], dl
jmp 0x491d07
cmp ebx, 0x119
jge 0x48680d
mov dword [r13 + 8], 2
jmp 0x491d07
cmp ebx, 0x144
jge 0x491d07
movzx eax, word [r13 + 2]
mov dword [r13 + 8], eax
jmp 0x491d07
cmp ebx, 0x10f
jge 0x48681a
movups xmm0, xmmword [r13 + 8]
movups xmmword [r13 - 0x28], xmm0
lea rdx, [0x0060298d]
jmp 0x48944b
cmp ebx, 0x39
jge 0x486826
mov dword [r13 - 0x10], 9
jmp 0x491d07
cmp ebx, 0xe4
jge 0x48598e
mov rdx, qword [r13 - 0x28]
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsi]
call fcn.0050cd80
mov qword [r13 - 0x40], rax
mov r8, qword [r13 + 8]
test rax, rax
je 0x488316
movsxd rcx, dword [rax]
cmp dword [rax + 4], ecx
jle 0x488ce9
lea edx, [rcx + 1]
mov dword [rax], edx
shl rcx, 5
xorps xmm0, xmm0
movups xmmword [rax + rcx + 0x10], xmm0
mov qword [rax + rcx + 0x20], 0
mov qword [rax + rcx + 8], r8
mov qword [r13 - 0x40], rax
jmp 0x491d07
mov rax, qword [r13 + 8]
mov qword [r13 - 0x10], rax
jmp 0x491d07
cmp ebx, 0x8a
jl 0x48624c
mov dword [r13 + 0x20], 0xffffffff
jmp 0x491d07
cmp ebx, 0x13a
jge 0x486833
mov rax, qword [r13 - 0x10]
test rax, rax
je 0x48832a
mov rbp, qword [r13 - 0x58]
test rbp, rbp
je 0x4880ed
mov r14d, dword [r13 - 0x50]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
lea rdx, [r14 + 1]
call fcn.00429840
test rax, rax
je 0x4880ed
mov rsi, rax
mov rcx, rax
mov rdx, rbp
mov r8, r14
call fcn.005f4c20
mov byte [rsi + r14], 0
jmp 0x4880ef
cmp ebx, 0x25
jge 0x486859
mov rbp, qword [r13 + 8]
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rdi]
mov edx, 0x48
call fcn.00429840
mov rsi, rax
test rax, rax
je 0x488333
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x40], 0
mov byte [rsi], 0xad
mov word [rsi + 0x32], 0xffff
test rbp, rbp
je 0x489cf9
mov qword [rsi + 0x10], rbp
mov eax, 0x400208
and eax, dword [rbp + 4]
mov dword [rsi + 4], eax
mov eax, dword [rbp + 0x28]
jmp 0x489cfb
mov rbp, qword [r13 - 0x28]
cmp ebx, 0xcf
jge 0x4868e4
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rdi]
mov edx, 0x48
call fcn.00429840
mov rsi, rax
test rax, rax
je 0x48834c
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x40], 0
mov byte [rsi], 0x33
mov word [rsi + 0x32], 0xffff
test rbp, rbp
je 0x489d3b
mov qword [rsi + 0x10], rbp
mov eax, 0x400208
and eax, dword [rbp + 4]
mov dword [rsi + 4], eax
mov eax, dword [rbp + 0x28]
jmp 0x489d3d
cmp ebx, 0x76
jge 0x486962
lea rsi, [r13 - 0x28]
lea r14, [r13 + 8]
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
xor edx, edx
mov r8, rsi
mov r9, r14
call fcn.004aa850
mov rbp, rax
mov al, byte [rbx + 0x124]
cmp al, 2
setb cl
test rbp, rbp
sete dl
test dl, cl
jne 0x48be89
xor dl, cl
jne 0x48be89
cmp al, 3
je 0x48be89
mov rdi, qword [rbp + 0x18]
mov rcx, qword [rbx]
test rcx, rcx
je 0x48b9e3
mov edx, 0x20
call fcn.00429840
jmp 0x48b9ed
cmp ebx, 0x123
jge 0x48697e
lea rdx, [r13 - 0x10]
lea r8, [r13 + 8]
mov rcx, qword [rsp + 0x60]
call fcn.004c4700
jmp 0x491d07
cmp ebx, 0x4d
jl 0x486127
mov dword [r13 + 8], 4
jmp 0x491d07
mov r8, qword [r13 + 8]
cmp ebx, 0xf8
jge 0x4869b3
mov rcx, qword [rsp + 0x60]
xor edx, edx
call fcn.004bab70
jmp 0x491d07
cmp ebx, 0x9e
jge 0x4869c6
mov r12, qword [r13 - 0x70]
test r12, r12
mov rbx, qword [rsp + 0x60]
je 0x48d11f
mov ebp, dword [r13 - 0x50]
test rbp, rbp
je 0x48d11f
mov eax, dword [r12]
add eax, 0xffffffff
movsxd r15, eax
mov r14, qword [r13 - 0x58]
cmp ebp, 1
jne 0x48a0a1
mov ebp, 1
test r14, r14
jne 0x48a0aa
imul rax, r15, 0x68
mov ecx, dword [r12 + rax + 0x48]
mov edx, ecx
and edx, 1
xor ecx, 1
jmp 0x48d118
jne 0x48731f
mov al, byte [r13 + 2]
mov byte [r13 + 8], al
jmp 0x491d07
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov rbp, qword [r13 + 8]
mov r14d, dword [r13 + 0x10]
cmp ebx, 0xc
jge 0x486a0c
test rbp, rbp
je 0x491d07
lea rdx, [r14 + 1]
call fcn.00429840
test rax, rax
je 0x491d07
mov rdi, rax
mov rcx, rax
mov rdx, rbp
mov r8, r14
call fcn.005f4c20
mov byte [rdi + r14], 0
movzx eax, byte [rdi]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x48af8d
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
xor edx, edx
mov rsi, rdi
jmp 0x485cba
mov byte [rsi], bl
add rdx, 1
add ecx, 1
add rsi, 1
movsxd rbp, ecx
movzx ebx, byte [rdi + rbp]
cmp bl, al
jne 0x485cad
add ecx, 1
movsxd rbp, ecx
cmp byte [rdi + rbp], al
jne 0x48af8a
mov byte [rsi], al
jmp 0x485caf
cmp ebx, 0xae
jl 0x48631b
mov rax, qword [r13 - 0x10]
mov qword [r13 - 0x28], rax
jmp 0x491d07
jne 0x485e66
mov dword [r13 - 0x28], 0x81
mov rax, qword [r13 + 8]
mov qword [r13 - 0x20], rax
jmp 0x491d07
cmp ebx, 0x34
jge 0x486a95
mov qword [r13 - 0x10], 0
jmp 0x491d07
cmp ebx, 0xdf
jge 0x486aa2
mov rbp, qword [r13 - 0x58]
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsi]
mov edx, 0x48
call fcn.00429840
mov r14, rax
test rax, rax
je 0x488365
xorps xmm0, xmm0
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x30], xmm0
movups xmmword [r14 + 0x20], xmm0
movups xmmword [r14 + 0x10], xmm0
mov qword [r14 + 0x40], 0
mov byte [r14], 0x31
mov word [r14 + 0x32], 0xffff
test rbp, rbp
je 0x489d6e
mov qword [r14 + 0x10], rbp
mov eax, 0x400208
and eax, dword [rbp + 4]
mov dword [r14 + 4], eax
mov eax, dword [rbp + 0x28]
jmp 0x489d70
cmp ebx, 0x85
jl 0x48631b
mov rax, qword [r13 + 8]
mov qword [r13 - 0x28], rax
jmp 0x491d07
cmp ebx, 0x135
jge 0x486b45
mov r12b, byte [r13 - 0x40]
mov r14, qword [r13 - 0x10]
mov r15, qword [r13 - 0x58]
mov rdi, qword [rsp + 0x60]
mov rbp, qword [rdi]
test rbp, rbp
je 0x488399
mov edx, 0x30
mov rcx, rbp
call fcn.00429840
jmp 0x4883a3
cmp ebx, 0x20
jge 0x486373
movups xmm0, xmmword [r8]
movups xmmword [r13 + 0x20], xmm0
jmp 0x491d07
cmp ebx, 0xca
jge 0x486b5e
movzx edx, word [r13 - 0x16]
mov r8, qword [r13 - 0x28]
mov r9, qword [r13 + 8]
mov rcx, qword [rsp + 0x60]
jmp 0x486597
mov rdx, qword [r13 - 0x70]
cmp ebx, 0x71
jge 0x486b84
lea rax, [r13 - 0x10]
mov rcx, qword [r13 - 0x40]
lea rbp, [r13 + 8]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x60]
jmp 0x487d9c
cmp ebx, 0x11e
jge 0x48731f
mov qword [r13 + 0x20], 0
jmp 0x491d07
cmp ebx, 0x48
jge 0x486134
mov rdx, qword [r13 - 0x88]
mov r9, qword [r13 - 0x28]
lea r8, [r13 - 0x40]
mov eax, dword [r13 - 0x10]
mov dword [rsp + 0x20], eax
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.0049c9d0
mov rax, qword [rsi + 0x150]
test rax, rax
je 0x491d07
cmp byte [rax + 0x3f], 0
jne 0x491d07
mov rax, qword [rax + 0x48]
test rax, rax
je 0x491d07
mov ecx, dword [r13 + 8]
mov byte [rax + 0x2c], cl
jmp 0x491d07
cmp ebx, 0xf3
jge 0x486ca1
mov rsi, qword [r13 - 0x58]
mov ebx, dword [r13 - 0x10]
mov edi, dword [r13 + 8]
test rsi, rsi
je 0x4883f6
movsxd rax, dword [rsi]
cmp dword [rsi + 4], eax
jle 0x488cfd
lea ecx, [rax + 1]
mov dword [rsi], ecx
shl rax, 5
xorps xmm0, xmm0
movups xmmword [rsi + rax + 0x18], xmm0
movups xmmword [rsi + rax + 8], xmm0
jmp 0x488d13
cmp ebx, 0x16
jl 0x486134
mov eax, dword [r13 - 0x28]
mov ecx, dword [r13 + 8]
mov edx, ecx
and edx, eax
xor ecx, eax
or ecx, edx
mov dword [r13 - 0x28], ecx
jmp 0x491d07
cmp ebx, 0xba
jge 0x486d1b
lea rdi, [r13 + 8]
mov rax, qword [r13 + 8]
cmp byte [rax], 0x23
mov rbx, qword [rsp + 0x60]
jne 0x485f7d
movzx eax, byte [rax + 1]
movabs rcx, 0xe5c28cb684c0bec
sub rax, rcx
add rax, rcx
add rax, 0xffffffffffffffd0
cmp rax, 0xa
jb 0x489973
movsxd r12, dword [r13 + 0x10]
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0xd0], xmm0
lea r8, [rsp + 0xd0]
mov rcx, rbx
mov edx, 0x9c
call fcn.004998c0
mov qword [r13 + 8], rax
test rax, rax
je 0x491d07
mov rsi, rax
mov rdi, qword [rsp + 0x60]
mov rbp, qword [rdi]
mov r15, qword [rax + 8]
movsx rax, byte [r15 + 1]
test rax, rax
mov qword [rsp + 0x68], rbp
je 0x48a819
cmp byte [r15], 0x3f
jne 0x48aff0
cmp r12d, 2
jne 0x48c817
movabs rcx, 0x738d59c4f95d5fb9
sub rax, rcx
lea rbx, [rax + rcx]
add rbx, 0xffffffffffffffd0
mov qword [rsp + 0xd0], rbx
xor eax, eax
jmp 0x48c83d
cmp ebx, 0x67
jge 0x4860e9
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rdi]
mov edx, 0x48
call fcn.00429840
mov rsi, rax
test rax, rax
je 0x486073
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x40], 0
mov byte [rsi], 0xb4
mov word [rsi + 0x32], 0xffff
mov dword [rsi + 0x28], 1
mov rax, qword [rdi]
mov r8d, dword [rax + 0x94]
test r8d, r8d
jg 0x486073
lea rdx, [0x00603afc]
mov rcx, rdi
call fcn.00419aa0
movups xmm0, xmmword [r13 - 0x28]
movaps xmmword [rsp + 0xd0], xmm0
lea r8, [rsp + 0xd0]
mov rcx, rdi
mov edx, 0x3b
call fcn.004998c0
mov rcx, rdi
mov edx, 0x8d
mov r8, rax
mov r9, rsi
call fcn.004997c0
mov rdx, qword [r13 - 0x58]
test rdx, rdx
je 0x48840a
movsxd rcx, dword [rdx]
cmp dword [rdx + 4], ecx
jle 0x488d6f
lea ebp, [rcx + 1]
mov dword [rdx], ebp
shl rcx, 5
xorps xmm0, xmm0
movups xmmword [rdx + rcx + 0x10], xmm0
mov qword [rdx + rcx + 0x20], 0
mov qword [rdx + rcx + 8], rax
mov qword [r13 - 0x58], rdx
jmp 0x491d07
movups xmm0, xmmword [r13 + 8]
movups xmmword [r13 - 0x10], xmm0
jmp 0x491d07
cmp ebx, 0x114
jge 0x486da6
mov rdi, qword [r13 - 0x10]
mov rax, qword [rsp + 0x60]
mov rbx, qword [rax]
cmp dword [rax + 0x30], 0
je 0x48841e
xor r12d, r12d
jmp 0x48f297
cmp ebx, 0x3e
jge 0x486134
mov eax, dword [r13 + 8]
mov dword [r13 - 0x10], eax
jmp 0x491d07
mov dword [r13 + 0x20], 0
jmp 0x491d07
cmp ebx, 0x13f
jl 0x491d07
mov rdi, qword [r13 + 8]
test rdi, rdi
je 0x488109
xorps xmm0, xmm0
movups xmmword [rdi + 0x10], xmm0
mov rbp, qword [r13 - 0x10]
test rbp, rbp
je 0x488103
mov esi, dword [r13 - 8]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
movabs rax, 0x4451696599765dc7
mov rdx, rsi
sub rdx, rax
add rdx, rax
add rdx, 1
call fcn.00429840
test rax, rax
je 0x488103
mov rbx, rax
mov rcx, rax
mov rdx, rbp
mov r8, rsi
call fcn.005f4c20
mov byte [rbx + rsi], 0
jmp 0x488105
cmp ebx, 0x2a
jge 0x486dd5
mov r9, qword [r13 + 8]
mov r8, qword [r13 - 0x28]
mov rdx, qword [r13 - 0x10]
mov rcx, qword [rsp + 0x60]
call fcn.0049c870
jmp 0x491d07
cmp ebx, 0xd5
jge 0x486df6
mov rbp, qword [r13 + 8]
movzx edi, word [r13 - 0x16]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbx]
mov edx, 0x48
call fcn.00429840
mov rsi, rax
test rax, rax
je 0x48766e
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x40], 0
mov byte [rsi], dil
mov word [rsi + 0x32], 0xffff
test rbp, rbp
jne 0x486e51
xor eax, eax
jmp 0x486e63
cmp ebx, 0x7b
jge 0x486e81
mov dword [r13 + 8], 1
jmp 0x491d07
cmp ebx, 0x128
jge 0x486e9e
mov rdi, qword [r13 - 0x70]
mov rax, qword [rsp + 0x60]
mov r15, qword [rax]
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x488447
mov r8, rdi
movabs rdx, 0xffffffff00000000
mov ebp, 0xffffffff
mov rax, qword [r15 + 0x20]
lea rbx, [rax + 0x18]
xor edi, edi
add rdi, 1
lea rsi, [rbx + 0x20]
add rdx, rbp
add rdx, 1
cmp qword [rbx], rcx
mov rbx, rsi
jne 0x48629a
sar rdx, 0x1b
add rax, rdx
mov rdi, r8
jmp 0x48844b
cmp ebx, 0xfe
jge 0x486eaf
lea r9, [r13 - 0x10]
lea r8, [r13 - 0x40]
lea rdx, [r13 - 0x58]
mov dword [rsp + 0x20], 0
jmp 0x486ec3
cmp ebx, 0xa4
jge 0x48631b
mov rdx, qword [r13 - 0x58]
mov r9, qword [r13 - 0x40]
mov eax, dword [r13 - 0x88]
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x28], 0
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
call fcn.004b3730
jmp 0x491d07
mov qword [r13 + 0x20], 0
jmp 0x491d07
cmp ebx, 0x155
jge 0x486ed2
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsi]
test rcx, rcx
je 0x4884ec
movzx eax, word [rcx + 0x1a4]
cmp eax, 0x8f
ja 0x488d83
cmp dword [rcx + 0x1a0], 0
je 0x48b544
cmp byte [rcx + 0x67], 0
jne 0x48dd8f
jmp 0x48dd1d
movups xmm0, xmmword [r13 + 8]
mov rax, qword [rsp + 0x60]
movups xmmword [rax + 0x60], xmm0
jmp 0x491d07
mov rax, r14
mov rdx, qword [rax + 0x10]
test rdx, rdx
jne 0x48b97b
mov rdi, qword [rsp + 0x60]
add r9d, 1
cmp r9d, dword [rsp + 0x70]
jge 0x48c60c
xor edi, edi
cmp r9d, 2
setb dil
mov eax, r9d
not eax
and eax, 0x49d39b
mov ecx, r9d
and ecx, 0xffb62c64
or ecx, eax
not edi
and edi, 0x49d39b
xor edi, ecx
mov r12, rdi
shl r12, 5
mov rax, qword [rsp + 0x68]
mov rbx, qword [rax + r12]
xor r10d, r10d
jmp 0x4863f7
movzx eax, byte [r14 + rbp]
cmp al, byte [r8 + rbp]
jne 0x48645d
add r10, 1
movzx r14d, byte [rbx + r10]
movzx r8d, byte [rsi + r10]
cmp r14b, r8b
jne 0x4863e8
test r14b, r14b
jne 0x4863f3
mov rax, qword [rsp + 0x68]
mov r14, qword [rax + r12 + 0x18]
mov r10, qword [r14 + 0x48]
test r10, r10
je 0x486492
mov bl, byte [r11]
xor eax, eax
test bl, bl
je 0x486446
mov rdx, qword [rsp + 0x78]
movzx ecx, bl
movzx ecx, byte [rcx + rbp]
add ecx, eax
imul eax, ecx, 0x9e3779b1
movzx ebx, byte [rdx]
add rdx, 1
test bl, bl
jne 0x48642c
xor edx, edx
div dword [r14 + 0x38]
shl rdx, 4
lea r14, [r10 + rdx]
add r14, 8
add rdx, r10
jmp 0x48649a
test edi, edi
jne 0x486396
xor ebx, ebx
jmp 0x48647a
movzx ecx, byte [rdi + rbp]
cmp cl, byte [rax + rbp]
jne 0x486396
add rbx, 1
movzx edi, byte [rbx + r15]
movzx eax, byte [rsi + rbx]
cmp dil, al
jne 0x486469
test dil, dil
jne 0x486476
jmp 0x48640b
lea rdx, [r14 + 0x3c]
add r14, 0x40
mov r8d, dword [rdx]
lea rax, [0x0213b3c8]
test r8d, r8d
je 0x486389
mov r14, qword [r14]
add r8d, 0xffffffff
mov rdx, qword [r14 + 0x18]
xor ebx, ebx
jmp 0x4864c9
movzx ecx, byte [rdi + rbp]
cmp cl, byte [rax + rbp]
jne 0x4864e1
add rbx, 1
movzx edi, byte [rdx + rbx]
movzx eax, byte [r11 + rbx]
cmp dil, al
jne 0x4864bc
test dil, dil
jne 0x4864c5
jmp 0x486386
test r8d, r8d
jne 0x4864ad
lea rax, [0x0213b3c8]
jmp 0x486389
xor edi, edi
mov rax, qword [r14]
mov qword [rax + 0x20], rdi
jmp 0x491d07
mov r8, qword [r13 - 0x28]
mov r9, qword [r13 + 8]
mov rcx, qword [rsp + 0x60]
mov edx, 0x94
call fcn.004997c0
mov qword [r13 - 0x40], rax
jmp 0x491d07
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
xor ecx, ecx
cmp byte [rax + 0xc5], 0
sete cl
mov dword [r13 + 8], ecx
jmp 0x491d07
movups xmm0, xmmword [r13 - 0x28]
movaps xmmword [rsp + 0xd0], xmm0
lea r8, [rsp + 0xd0]
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
mov edx, 0x3b
call fcn.004998c0
mov rsi, rax
movups xmm0, xmmword [r13 + 8]
movaps xmmword [rsp + 0xd0], xmm0
lea r8, [rsp + 0xd0]
mov rcx, rdi
mov edx, 0x3b
call fcn.004998c0
mov rcx, rdi
mov edx, 0x8d
mov r8, rsi
mov r9, rax
call fcn.004997c0
mov qword [r13 - 0x28], rax
jmp 0x491d07
mov r9, qword [r13 - 0x70]
mov r8, qword [r13 - 0x88]
mov rdx, qword [r13 - 0xa0]
mov rax, qword [r13 - 0x58]
mov rcx, qword [r13 - 0x40]
mov rbp, qword [r13 - 0x10]
mov ebx, dword [r13 - 0xb8]
mov rdi, qword [r13 + 8]
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x60]
call fcn.004aa3b0
mov qword [r13 - 0xd0], rax
test rax, rax
je 0x4884fb
mov rcx, qword [r13 - 0x28]
mov qword [rax + 0x78], rcx
jmp 0x491d07
mov rdx, qword [r13 + 8]
mov r9d, dword [r13 - 0x10]
mov rcx, qword [rsp + 0x60]
mov r8d, 1
call fcn.0049d3f0
jmp 0x491d07
mov r8, qword [r13 - 0x40]
mov r9, qword [r13 + 8]
mov rcx, rdi
xor edx, edx
call fcn.004b3220
mov qword [r13 - 0x58], rax
jmp 0x491d07
mov dword [r13 + 0x20], 7
jmp 0x491d07
mov rbp, qword [r13 - 0x28]
mov rbx, qword [r13 - 0x10]
test rsi, rsi
je 0x488529
mov edx, 0x58
mov rcx, rsi
call fcn.00429840
jmp 0x488533
mov r14, qword [r13 - 0x28]
test rsi, rsi
mov rbx, qword [rsp + 0x60]
je 0x48b4b7
mov rax, qword [rsi + 0x50]
test rax, rax
je 0x48b488
mov dword [rsp + 0xd8], 0
mov qword [rsi + 0x58], 0
mov edx, dword [rsi + 4]
mov ebx, edx
not ebx
and ebx, 0x911a93f9
mov ecx, edx
and ecx, 0x6ee56c06
or ecx, ebx
xor ecx, 0x911a92f9
and edx, 0x100
or edx, ecx
mov dword [rsi + 4], edx
mov ebx, 1
lea r8, [0x00604254]
lea r9, [0x00604852]
mov rdx, rsi
mov edi, ebx
cmp qword [rax + 0x48], 0
jne 0x48b39b
cmp qword [rax + 0x60], 0
jne 0x48b398
lea ebx, [rdi + 1]
mov rcx, qword [rax + 0x50]
mov qword [rax + 0x58], rdx
mov edx, dword [rax + 4]
mov ebp, edx
and ebp, 0x100
xor edx, 0x100
or edx, ebp
mov dword [rax + 4], edx
mov rdx, rax
mov rax, rcx
test rcx, rcx
jne 0x4866e5
jmp 0x48b3e9
movzx eax, word [r13 + 2]
mov dword [r13 + 8], eax
jmp 0x491d07
xorps xmm0, xmm0
movups xmmword [r13 + 0x20], xmm0
jmp 0x491d07
mov rsi, qword [r13 + 8]
test rsi, rsi
je 0x491d07
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rdi]
test rcx, rcx
je 0x489dea
mov edx, 0x18
call fcn.00429840
jmp 0x489df4
mov eax, dword [r13 + 8]
add eax, dword [r13 + 0x10]
sub eax, dword [r13 - 0x40]
mov dword [r13 - 0x38], eax
jmp 0x491d07
lea rsi, [r13 - 0x58]
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rdi]
mov edx, 0xac
mov r8, rsi
mov r9d, 1
call fcn.004ba410
mov rbp, rax
test rax, rax
je 0x488571
mov eax, dword [rsi]
sub eax, dword [rdi + 0x148]
mov dword [rbp + 0x34], eax
mov qword [rbp + 0x20], 0
mov ebx, dword [rbp + 4]
mov ecx, ebx
not ecx
and ecx, 0xd16ae3a9
mov edx, ebx
and edx, 0x2e951c56
or edx, ecx
xor edx, 0xd16ae3a1
and ebx, 8
or ebx, edx
mov dword [rbp + 4], ebx
cmp dword [rdi + 0x30], 0
jne 0x48be5a
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x48be19
mov ecx, dword [rcx + 0x28]
jmp 0x48be1b
mov dword [r13 + 8], 3
jmp 0x491d07
lea rdx, [0x006029ec]
jmp 0x48944b
mov dword [r13 + 8], 0xa
jmp 0x491d07
mov rdx, qword [r13 - 0x28]
mov rsi, qword [r13 - 0x10]
mov rdi, qword [r13 + 8]
test rdi, rdi
je 0x488582
mov qword [rdi + 0x10], rdx
mov qword [rdi + 0x18], rsi
mov qword [r13 - 0x58], rdi
jmp 0x491d07
movups xmm0, xmmword [r13 + 8]
movaps xmmword [rsp + 0xd0], xmm0
lea r8, [rsp + 0xd0]
mov rcx, qword [rsp + 0x60]
mov edx, 0x75
call fcn.004998c0
test rax, rax
je 0x48b5b4
mov r8d, dword [rax + 4]
mov r9d, r8d
not r9d
mov ecx, r9d
or ecx, 0xfbfff7ff
cmp ecx, 0xffffffff
jne 0x48b5b4
mov rbp, qword [rax + 8]
xor edi, edi
lea rsi, [0x00602982]
lea rbx, [0x005fade0]
jmp 0x4868c9
movzx ecx, byte [rcx + rbx]
cmp cl, byte [rdx + rbx]
jne 0x48b550
add rdi, 1
movzx ecx, byte [rbp + rdi]
movzx edx, byte [rdi + rsi]
cmp cl, dl
jne 0x4868b8
test cl, cl
jne 0x4868c5
mov ebp, 0x10000000
jmp 0x48b57e
mov r9, qword [r13 + 8]
mov rcx, qword [rsp + 0x60]
mov edx, 0x2d
mov r8, rbp
call fcn.004997c0
mov qword [r13 - 0x28], rax
test rax, rax
je 0x491d07
mov rsi, rax
mov rax, qword [r13 + 8]
test rax, rax
je 0x491d07
mov cl, 1
test cl, cl
je 0x491d07
cmp byte [rax], 0x79
jne 0x491d07
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x124], 1
ja 0x491d07
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov byte [rsi], 0x32
mov rdx, qword [rsi + 0x18]
test rdx, rdx
je 0x486955
call fcn.00468370
mov qword [rsi + 0x18], 0
jmp 0x491d07
lea r8, [r13 + 8]
mov rcx, qword [rsp + 0x60]
xor edx, edx
xor r9d, r9d
call fcn.004aa850
mov qword [r13 + 8], rax
jmp 0x491d07
mov r14, qword [r13 - 0x40]
mov rsi, qword [rsp + 0x60]
mov r15, qword [rsi]
cmp byte [r15 + 0x67], 0
je 0x4885ad
xor r12d, r12d
mov rcx, r15
mov rdx, r14
call fcn.004688d0
mov rcx, r15
mov rdx, r12
call fcn.00408130
jmp 0x491d07
lea rdx, [r13 - 0x10]
mov rcx, qword [rsp + 0x60]
call fcn.004bab70
jmp 0x491d07
mov rdx, qword [r13 - 0x58]
mov r8, qword [r13 + 8]
test rdx, rdx
je 0x4885fb
movsxd rax, dword [rdx]
cmp dword [rdx + 4], eax
mov rsi, qword [rsp + 0x60]
jle 0x488da9
lea ecx, [rax + 1]
mov dword [rdx], ecx
shl rax, 5
xorps xmm0, xmm0
movups xmmword [rdx + rax + 0x10], xmm0
mov qword [rdx + rax + 0x20], 0
mov qword [rdx + rax + 8], r8
jmp 0x488db4
test rbp, rbp
je 0x491d07
lea rdx, [r14 + 1]
call fcn.00429840
test rax, rax
je 0x491d07
mov rdi, rax
mov rcx, rax
mov rdx, rbp
mov r8, r14
call fcn.005f4c20
mov byte [rdi + r14], 0
movzx eax, byte [rdi]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x48b076
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
xor edx, edx
mov rsi, rdi
jmp 0x486a77
mov byte [rsi], bl
add rdx, 1
add ecx, 1
add rsi, 1
movsxd rbp, ecx
movzx ebx, byte [rdi + rbp]
cmp bl, al
jne 0x486a6a
add ecx, 1
movsxd rbp, ecx
cmp byte [rdi + rbp], al
jne 0x48b073
mov byte [rsi], al
jmp 0x486a6c
mov qword [r13 - 0x28], 0
jmp 0x491d07
lea r8, [r13 - 0x28]
lea r9, [r13 - 0x10]
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
xor edx, edx
call fcn.004aa850
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov rcx, rbx
xor edx, edx
mov r8, rax
xor r9d, r9d
call fcn.004aa3b0
mov rsi, rax
mov rdx, qword [r13 + 8]
test rdx, rdx
je 0x488dd7
test rsi, rsi
sete al
test rdi, rdi
sete cl
mov rbp, rdi
or rbp, rsi
je 0x488dcf
xor cl, al
jne 0x488dcf
mov eax, dword [rdi]
add eax, 0xffffffff
cdqe
imul rax, rax, 0x68
mov qword [rdi + rax + 0x60], rdx
mov ecx, dword [rdi + rax + 0x48]
mov edx, ecx
and edx, 4
xor ecx, 4
or ecx, edx
mov dword [rdi + rax + 0x48], ecx
jmp 0x488dd7
mov r8, qword [r13 + 8]
mov rcx, qword [rsp + 0x60]
xor edx, edx
call fcn.004c5c20
mov qword [r13 + 8], rax
jmp 0x491d07
movups xmm0, xmmword [r13 + 8]
movups xmmword [r13 - 0x10], xmm0
mov eax, dword [r13 - 8]
mov ecx, eax
and ecx, 0x80000000
xor eax, 0x80000000
or eax, ecx
mov dword [r13 - 8], eax
jmp 0x491d07
test rdx, rdx
mov rsi, qword [rsp + 0x60]
jne 0x486ba7
cmp dword [r13 - 8], 0
jne 0x486ba7
cmp qword [r13 + 8], 0
jne 0x486ba7
cmp qword [r13 + 0x10], 0
je 0x48f76d
mov r9, qword [r13 - 0x40]
mov edi, dword [r9]
cmp rdi, 1
jne 0x487c76
lea rax, [r13 - 0x10]
lea rcx, [r13 + 8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0
mov rcx, rsi
xor r8d, r8d
xor r9d, r9d
call fcn.004a9f80
mov qword [r13 - 0x70], rax
test rax, rax
je 0x486c90
mov ecx, dword [rax]
add ecx, 0xffffffff
movsxd rdx, ecx
mov rcx, qword [r13 - 0x40]
movups xmm0, xmmword [rcx + 0x10]
imul rdx, rdx, 0x68
movups xmmword [rax + rdx + 0x10], xmm0
mov rbp, qword [rcx + 0x30]
mov qword [rax + rdx + 0x30], rbp
test rbp, rbp
je 0x486c3c
mov ebx, dword [rbp + 4]
mov ebp, ebx
xor ebp, 0xfffff7ff
test ebp, ebx
je 0x486c3c
mov ebp, dword [rax + rdx + 0x48]
mov ebx, ebp
and ebx, 0x2000
xor ebp, 0x2000
or ebp, ebx
mov dword [rax + rdx + 0x48], ebp
lea rbp, [rcx + 0x10]
mov edi, dword [rcx + 0x48]
mov ebx, edi
xor ebx, 0xfffffffb
test ebx, edi
je 0x486c7c
mov rbx, qword [rcx + 0x60]
mov qword [rax + rdx + 0x60], rbx
mov qword [rcx + 0x60], 0
mov edi, dword [rcx + 0x48]
mov ebx, edi
xor ebx, 4
and ebx, edi
mov dword [rcx + 0x48], ebx
mov ebx, dword [rax + rdx + 0x48]
mov edi, ebx
and edi, 4
xor ebx, 4
or ebx, edi
mov dword [rax + rdx + 0x48], ebx
mov qword [rcx + 0x30], 0
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov rsi, qword [rsp + 0x60]
mov rdx, qword [r13 - 0x40]
mov rcx, qword [rsi]
call fcn.004688d0
jmp 0x491d07
lea r15, [r13 - 0x28]
mov edi, dword [r13 + 8]
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsi]
cmp dword [r13 - 0x10], 0
setne r14b
sete bl
xor edx, edx
call fcn.0050cd80
mov rbp, rax
cmp edi, 0xffffffff
setne cl
sete al
cmp r14b, cl
jne 0x486cdc
or bl, al
xor bl, 1
je 0x486cff
mov rax, qword [rsi]
cmp byte [rax + 0xc5], 0
jne 0x486cff
mov r8d, dword [r13 - 0x20]
mov r9, qword [r13 - 0x28]
lea rdx, [0x00604cb0]
mov rcx, rsi
call fcn.00419aa0
mov rcx, rsi
mov rdx, rbp
mov r8, r15
mov r9d, 1
call fcn.004aa6d0
mov qword [r15], rbp
jmp 0x491d07
mov r14, qword [r13 - 0x28]
mov esi, dword [r13 + 0x10]
test esi, esi
mov rax, qword [rsp + 0x60]
je 0x48bcb6
mov rcx, qword [rax]
add esi, 1
movsxd rdx, esi
add rdx, 0x48
call fcn.00429840
test rax, rax
je 0x48bcb6
mov rdi, rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax + 0x40], 0
mov byte [rax], 0x71
mov word [rax + 0x32], 0xffff
test esi, esi
je 0x48b0e1
mov rsi, rdi
add rsi, 0x48
mov qword [rdi + 8], rsi
mov r8d, dword [r13 + 0x10]
test r8, r8
je 0x48bafe
mov rdx, qword [r13 + 8]
mov rcx, rsi
call fcn.005f4c20
mov eax, dword [r13 + 0x10]
jmp 0x48bb00
mov rax, qword [rsp + 0x60]
mov r14, qword [rax]
mov rbx, qword [r13 - 0x28]
mov rbp, qword [r13 - 0x10]
mov rsi, qword [r13 + 8]
test r14, r14
je 0x488610
mov edx, 0x60
mov rcx, r14
call fcn.00429840
jmp 0x48861a
lea r8, [r13 - 0x28]
mov r9, qword [r13 - 0x10]
mov eax, dword [r13 + 8]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x60]
xor edx, edx
call fcn.0049c9d0
jmp 0x491d07
movzx edi, word [r13 - 0x16]
mov rbp, qword [r13 + 8]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbx]
mov edx, 0x48
call fcn.00429840
mov rsi, rax
test rax, rax
je 0x48766e
cmp di, 0x6a
sete al
add al, 0xad
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x40], 0
mov byte [rsi], al
mov word [rsi + 0x32], 0xffff
test rbp, rbp
je 0x48623c
mov qword [rsi + 0x10], rbp
mov eax, 0x400208
and eax, dword [rbp + 4]
mov dword [rsi + 4], eax
mov eax, dword [rbp + 0x28]
lea ecx, [rax + 1]
mov dword [rsi + 0x28], ecx
mov rcx, qword [rbx]
mov r8d, dword [rcx + 0x94]
cmp r8d, eax
jle 0x487e4c
jmp 0x48767e
lea rdx, [r13 - 0x10]
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
xor r9d, r9d
call fcn.004aab50
mov dword [r13 - 0x10], eax
jmp 0x491d07
mov rcx, qword [rsp + 0x60]
xor edx, edx
call fcn.004c52b0
jmp 0x491d07
lea rdx, [r13 - 0x40]
lea r8, [r13 - 0x28]
lea r9, [r13 + 8]
mov dword [rsp + 0x20], 1
mov rcx, qword [rsp + 0x60]
call fcn.004bb0b0
jmp 0x491d07
jne 0x491d07
mov rax, qword [r13 - 0x10]
mov qword [r13 - 0x58], rax
jmp 0x491d07
xor edi, edi
mov r15, qword [rbx]
mov eax, dword [r12 + 0x40]
lea ecx, [rax + 2]
movsxd rbp, ecx
add eax, 3
cmp eax, dword [r15 + 0x90]
jl 0x486f14
mov r8, qword [r12]
lea rdx, [0x005ff0ef]
mov rcx, rbx
call fcn.00419aa0
shl rbp, 3
mov rax, qword [r12 + 0x48]
test rax, rax
je 0x487e7d
cmp qword [r15 + 0x1f0], rax
jbe 0x48a135
cmp qword [r15 + 0x1e0], rax
jbe 0x48a12c
cmp qword [r15 + 0x1e8], rax
ja 0x48a135
movzx ecx, word [r15 + 0x1a6]
cmp rbp, rcx
ja 0x48a135
jmp 0x48a148
xor ebx, ebx
mov qword [rdi + 8], rbx
mov qword [r13 - 0x58], rdi
jmp 0x491d07
xor esi, esi
mov qword [rdi + 8], rsi
mov qword [r13 - 0x70], rdi
jmp 0x491d07
test rsi, rsi
je 0x48bcb6
mov rbx, qword [rdi]
cmp dword [rsi], 0
jle 0x487e8d
lea rdi, [rsi + 0x20]
xor ebp, ebp
jmp 0x486fbe
mov rdx, qword [rdi - 0x10]
mov rcx, rbx
call fcn.00408130
add rbp, 1
movsxd rax, dword [rsi]
add rdi, 0x30
cmp rbp, rax
jge 0x487e8d
mov rdx, qword [rdi - 8]
test rdx, rdx
je 0x486fcf
mov rcx, rbx
call fcn.0047fbe0
mov rdx, qword [rdi]
test rdx, rdx
je 0x486f9e
mov rcx, rbx
mov r8d, 1
call fcn.00468620
jmp 0x486f9e
mov rcx, qword [rsi]
mov rdx, r8
call fcn.0050cd80
jmp 0x487739
mov qword [r13 - 0x58], rsi
jmp 0x491d07
test rbp, rbp
je 0x487010
mov rcx, qword [rdi]
mov rdx, rbp
call fcn.00468370
mov qword [r13 - 0x58], rsi
mov rdx, qword [r13 - 0x28]
test rdx, rdx
je 0x487025
mov rcx, qword [rdi]
call fcn.0047fbe0
mov rdx, qword [r13 - 0x10]
test rdx, rdx
je 0x491d07
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
call fcn.00468370
jmp 0x491d07
mov rcx, qword [rbx]
mov rdx, r8
call fcn.0050cd80
jmp 0x48775f
lea r12, [rsi + 8]
mov r14d, dword [r15 + 0x2c]
mov rax, qword [r15 + 0x20]
mov rax, qword [rax + 0x18]
mov cl, byte [rax + 0x71]
mov byte [r15 + 0x64], cl
movzx eax, word [rax + 0x72]
mov ecx, eax
xor ecx, 0xfffe
test cx, ax
je 0x48945a
mov edi, dword [r15 + 0x28]
cmp edi, 2
jl 0x487bee
mov rbx, rdi
shl rbx, 5
add rbx, 0xfffffffffffffff8
lea ebp, [rdi - 1]
lea rsi, [rdi + 1]
jmp 0x4870ba
add rdi, 0xffffffffffffffff
add rbx, 0xffffffffffffffe0
add ebp, 0xffffffff
add rsi, 0xffffffffffffffff
cmp rsi, 2
jle 0x487bee
mov rax, qword [r15 + 0x20]
mov rax, qword [rax + rbx]
movzx eax, word [rax + 0x72]
not eax
or eax, 0xfffe
cmp ax, 0xffff
jne 0x4870a1
mov rcx, r15
mov edx, ebp
mov r8, r12
xor r9d, r9d
call fcn.004651a0
test eax, eax
je 0x4870a1
jmp 0x4875fc
mov rsi, qword [r13 - 0x58]
test rsi, rsi
mov rdi, qword [rsp + 0x60]
je 0x48716a
mov bl, byte [rdi + 0x124]
cmp bl, 2
jb 0x48715f
xorps xmm0, xmm0
movups xmmword [rsp + 0xe8], xmm0
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0xd0], rdi
lea rax, [0x004df820]
mov qword [rsp + 0xd8], rax
lea rax, [0x004df890]
mov qword [rsp + 0xe0], rax
mov byte [rdi + 0x124], 3
lea rcx, [rsp + 0xd0]
mov rdx, rsi
call fcn.004cea30
mov byte [rdi + 0x124], bl
mov rcx, qword [rdi]
mov rdx, rsi
call fcn.00468370
mov rcx, qword [rdi]
mov edi, dword [r13 - 0x40]
xor ebx, ebx
test edi, edi
sete bl
lea edx, [rbx + 0x4d]
call fcn.00429840
mov rsi, rax
test rax, rax
je 0x490b92
or ebx, 4
test edi, edi
lea r14, [0x00602987]
lea rbp, [0x00602982]
mov rdx, rbp
cmove rdx, r14
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x40], 0
mov byte [rsi], 0x75
mov word [rsi + 0x32], 0xffff
mov rcx, rsi
add rcx, 0x48
mov qword [rsi + 8], rcx
mov ebx, ebx
mov r8, rbx
call fcn.005f4c20
mov byte [rsi + rbx + 0x48], 0
mov dword [rsi + 0x28], 1
mov qword [r13 - 0x58], rsi
mov r8d, dword [rsi + 4]
mov eax, r8d
not eax
or eax, 0xfbfff7ff
cmp eax, 0xffffffff
jne 0x491d07
mov rcx, qword [rsi + 8]
xor ebx, ebx
lea rdx, [0x005fade0]
jmp 0x487225
movzx eax, byte [rax + rdx]
cmp al, byte [rdi + rdx]
jne 0x48beaa
add rbx, 1
movzx eax, byte [rcx + rbx]
movzx edi, byte [rbx + rbp]
cmp al, dil
jne 0x487214
test al, al
jne 0x487221
mov ecx, 0x10000000
jmp 0x48bed6
mov rcx, qword [rdi]
mov rdx, r8
call fcn.0050cd80
jmp 0x4877b3
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsi]
mov rdx, r8
call fcn.0050cd80
jmp 0x487897
mov r12, rbp
mov al, byte [r13 - 0xa0]
mov byte [rsp + 0x68], al
mov r14, qword [r13 - 0xb8]
mov rax, qword [r13 + 8]
mov qword [rsp + 0x70], rax
mov ebp, dword [r13 - 0x80]
add rbp, 0x61
test r15, r15
je 0x489477
mov rcx, r15
mov rdx, rbp
call fcn.00429840
jmp 0x48947f
test rdx, rdx
je 0x4872b1
mov rcx, qword [rax]
call fcn.0047fbe0
mov qword [r13 - 0x40], rsi
jmp 0x491d07
mov rcx, qword [r12 + 8]
test rcx, rcx
je 0x48952f
movabs rdx, 0xffffffff00000000
mov ebx, 0xffffffff
mov rax, qword [r14 + 0x20]
lea rdi, [rax + 0x18]
xor esi, esi
add rsi, 1
lea rbp, [rdi + 0x20]
add rdx, rbx
add rdx, 1
cmp qword [rdi], rcx
mov rdi, rbp
jne 0x4872e1
sar rdx, 0x1b
add rax, rdx
mov rsi, qword [rsp + 0x60]
jmp 0x489534
mov rdx, qword [r13 - 0x10]
test rdx, rdx
je 0x48731f
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
call fcn.00468370
mov rax, qword [r13 + 8]
mov qword [r13 - 0x10], rax
jmp 0x491d07
mov ecx, 0x58
call fcn.00404550
test rax, rax
je 0x48762c
xorps xmm0, xmm0
movups xmmword [rax + 0x48], xmm0
movups xmmword [rax + 0x39], xmm0
movups xmmword [rax + 0x29], xmm0
mov qword [rax], rsi
mov qword [rax + 8], rbp
mov byte [rax + 0x28], 0
movups xmmword [rax + 0x10], xmm0
mov qword [rax + 0x20], r14
mov qword [r13 - 0xb8], rax
jmp 0x491d07
test rsi, rsi
je 0x48986b
mov rbx, qword [rdi]
cmp dword [rsi], 0
jle 0x487e9d
lea rdi, [rsi + 0x20]
xor ebp, ebp
jmp 0x4873aa
mov rdx, qword [rdi - 0x10]
mov rcx, rbx
call fcn.00408130
add rbp, 1
movsxd rax, dword [rsi]
add rdi, 0x30
cmp rbp, rax
jge 0x487e9d
mov rdx, qword [rdi - 8]
test rdx, rdx
je 0x4873bb
mov rcx, rbx
call fcn.0047fbe0
mov rdx, qword [rdi]
test rdx, rdx
je 0x48738a
mov rcx, rbx
mov r8d, 1
call fcn.00468620
jmp 0x48738a
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsi]
mov rdx, r8
call fcn.0050cd80
jmp 0x4879d3
test rbp, rbp
je 0x489cc2
mov rcx, qword [rbx]
mov rdx, rbp
call fcn.00468370
jmp 0x489cc2
mov ebx, dword [r13 - 0x10]
cmp byte [r12 + 0xc5], 0
je 0x4895b3
mov rsi, qword [r14 + 0x10]
mov rdx, qword [r14 + 0x18]
mov rcx, r12
mov r8, rsi
call fcn.0047a1e0
test rax, rax
je 0x489a09
mov r15, rax
mov eax, dword [rax + 0x64]
not eax
or eax, 0xfffffffc
cmp eax, 0xffffffff
je 0x48af4b
lea rdx, [0x00604ce8]
mov rcx, rdi
xor r8d, r8d
call fcn.00419aa0
jmp 0x483e9d
mov qword [r13 - 0x28], r14
mov rdx, qword [r13 - 0x10]
test rdx, rdx
jne 0x48752c
jmp 0x491d07
test rdx, rdx
je 0x491d07
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
call fcn.0047fbe0
jmp 0x491d07
mov rcx, qword [rsi]
mov rdx, rax
jmp 0x4881c0
mov bpl, byte [r13 - 0x88]
mov r14, qword [r13 - 0xa0]
mov rax, qword [r13 + 8]
mov qword [rsp + 0x78], rax
mov eax, dword [r13 - 0x50]
movabs rcx, 0x938e861db0d12140
sub rax, rcx
lea r15, [rax + rcx]
add r15, 0x61
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x489660
mov rdx, r15
call fcn.00429840
jmp 0x489668
test rdx, rdx
mov rax, qword [rsp + 0x60]
je 0x4885a4
mov rcx, qword [rax]
jmp 0x48859f
mov qword [r13 - 0x70], r14
mov rdx, qword [r13 - 0x40]
test rdx, rdx
je 0x491d07
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
call fcn.00468370
jmp 0x491d07
mov qword [r13 - 0x40], r14
mov rdx, qword [r13 - 0x10]
test rdx, rdx
je 0x491d07
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov r8d, 1
call fcn.00468620
jmp 0x491d07
mov rcx, qword [rdx]
mov rdx, r8
call fcn.0050cd80
jmp 0x487a35
mov rcx, qword [rbx]
mov rdx, r8
call fcn.0050cd80
jmp 0x487ab4
lea r14, [rsi + 8]
mov r15d, dword [r12 + 0x2c]
mov rax, qword [r12 + 0x20]
mov rax, qword [rax + 0x18]
mov cl, byte [rax + 0x71]
mov byte [r12 + 0x64], cl
movzx eax, word [rax + 0x72]
mov ecx, eax
xor ecx, 0xfffe
test cx, ax
je 0x4896fe
mov edi, dword [r12 + 0x28]
cmp edi, 2
jl 0x487c20
mov rbx, rdi
shl rbx, 5
add rbx, 0xfffffffffffffff8
lea ebp, [rdi - 1]
lea rsi, [rdi + 1]
jmp 0x4875ce
add rdi, 0xffffffffffffffff
add rbx, 0xffffffffffffffe0
add ebp, 0xffffffff
add rsi, 0xffffffffffffffff
cmp rsi, 2
jle 0x487c20
mov rax, qword [r12 + 0x20]
mov rax, qword [rax + rbx]
movzx eax, word [rax + 0x72]
mov ecx, eax
xor ecx, 0xfffe
test cx, ax
jne 0x4875b5
mov rcx, r12
mov edx, ebp
mov r8, r14
xor r9d, r9d
call fcn.004651a0
test eax, eax
je 0x4875b5
mov rsi, qword [rsp + 0x60]
jmp 0x489716
test rdx, rdx
je 0x487613
mov rcx, qword [rbx]
call fcn.0047fbe0
test rsi, rsi
je 0x487623
mov rcx, qword [rbx]
mov rdx, rsi
call fcn.0047fbe0
mov qword [r13 - 0x70], rdi
jmp 0x491d07
test rsi, rsi
je 0x48763c
mov rcx, rbx
mov rdx, rsi
call fcn.0047fbe0
test rbp, rbp
je 0x48764c
mov rcx, rbx
mov rdx, rbp
call fcn.00468370
test r14, r14
je 0x489722
mov rcx, rbx
mov rdx, r14
call fcn.0047fb60
xor eax, eax
mov qword [r13 - 0xb8], rax
jmp 0x491d07
test rbp, rbp
je 0x48767e
mov rcx, qword [rbx]
mov rdx, rbp
call fcn.00468370
mov qword [r13 - 0x10], rsi
jmp 0x491d07
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x88], r14
mov rbp, qword [r13 - 0x10]
test rbp, rbp
je 0x491d07
mov r14d, dword [r13 - 8]
lea rdx, [r14 + 1]
mov rcx, r12
call fcn.00429840
test rax, rax
je 0x491d07
mov r12, rax
mov rcx, rax
mov rdx, rbp
mov r8, r14
call fcn.005f4c20
mov byte [r12 + r14], 0
movzx eax, byte [r12]
lea rsi, [0x005fb0a0]
cmp byte [rax + rsi], 0
jns 0x48b989
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
xor edx, edx
mov rbp, r12
jmp 0x48770d
mov byte [rbp], bl
add rdx, 1
add ecx, 1
add rbp, 1
movsxd rbx, ecx
movzx ebx, byte [r12 + rbx]
cmp bl, al
jne 0x4876ff
add ecx, 1
movsxd rbx, ecx
cmp byte [r12 + rbx], al
jne 0x48b985
mov byte [rbp], al
jmp 0x487702
mov rcx, qword [rsi]
mov rdx, rax
call fcn.0050ce50
lea r8, [r13 - 0x10]
mov rcx, rsi
mov rdx, rax
xor r9d, r9d
call fcn.004ba5a0
mov qword [r13 - 0x28], rax
jmp 0x491d07
mov rcx, qword [rbx]
mov rdx, rax
call fcn.0050ce50
mov r8, qword [r13 + 8]
test rax, rax
je 0x487b5a
movsxd rcx, dword [rax]
cmp dword [rax + 4], ecx
jle 0x487798
lea edx, [rcx + 1]
mov dword [rax], edx
shl rcx, 5
xorps xmm0, xmm0
movups xmmword [rax + rcx + 0x10], xmm0
mov qword [rax + rcx + 0x20], 0
mov qword [rax + rcx + 8], r8
jmp 0x487b65
mov rcx, qword [rbx]
mov rdx, rax
call fcn.0050ce50
jmp 0x487b65
mov rcx, qword [rdi]
mov rdx, rsi
call fcn.0050ce50
mov rsi, rax
mov rcx, qword [rdi]
mov edx, 0x48
call fcn.00429840
mov rbp, rax
test rax, rax
je 0x48786a
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x40], 0
mov byte [rbp], 0xb1
mov word [rbp + 0x32], 0xffff
mov dword [rbp + 0x28], 1
mov rax, qword [rdi]
mov r8d, dword [rax + 0x94]
test r8d, r8d
jg 0x487819
lea rdx, [0x00603afc]
mov rcx, rdi
call fcn.00419aa0
mov qword [r13 - 0x58], rbp
mov qword [rbp + 0x20], rsi
cmp dword [rsi], 0
je 0x491d07
mov rax, qword [r13 - 0x58]
mov ebp, dword [rax + 4]
mov rdx, qword [rsi + 8]
mov edx, dword [rdx + 4]
not edx
or edx, 0xffbffdf7
mov ecx, ebp
not ecx
mov ebx, edx
and ebx, 0xd1e7d28d
or edx, ecx
and ecx, 0xd1e7d28d
and ebp, 0x2e182d72
or ebp, ecx
xor ebp, ebx
not edx
or edx, ebp
mov dword [rax + 4], edx
jmp 0x491d07
mov qword [r13 - 0x58], rbp
test rsi, rsi
je 0x491d07
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov rdx, rsi
call fcn.0047fbe0
jmp 0x491d07
mov rcx, qword [rsi]
mov rdx, r15
call fcn.0050ce50
mov r15, rax
mov qword [r13 - 0x58], r15
cmp dword [r13 + 0x10], 0
je 0x4878be
lea r8, [r13 + 8]
mov rcx, rsi
mov rdx, r15
mov r9d, 1
call fcn.004aa6d0
mov r15, qword [r13 - 0x58]
test r15, r15
je 0x491d07
mov eax, dword [r15]
add eax, 0xffffffff
movsxd r12, eax
shl r12, 5
cmp qword [r15 + r12 + 0x10], 0
jne 0x491d07
mov rdi, qword [r13 - 0x10]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov rax, r13
lea r13, [r15 + r12]
add r13, 0x10
mov qword [rsp + 0x90], rax
mov rbx, qword [rax - 0x40]
add rbx, 0xffffffffffffffff
lea r10, [0x005fb0a0]
movzx ebp, byte [rbx + 1]
add rbx, 1
movzx eax, byte [rbp + r10]
mov edx, eax
xor dl, 0xfe
test dl, al
jne 0x48790e
movabs r9, 0x9f4b71b6e6e51704
mov eax, 0xffffffff
movabs rdx, 0x5af23f8181ab2462
sub rdi, rdx
sub rdi, rbx
add rdi, rdx
mov rbp, rdi
xor rbp, rax
not rbp
and rbp, rdi
xor r8d, r8d
test edi, edi
cmovs r8, rdi
movabs rdx, 0xffffffff00000000
sub rdx, rbp
lea rsi, [rax + rbp]
lea r11, [rbp + 1]
test ebp, ebp
jle 0x489b38
mov eax, 0xffffffff
not eax
mov edi, r9d
not edi
or eax, edx
or edi, r9d
not eax
and eax, edi
movzx eax, byte [rbx + rax]
movzx eax, byte [rax + r10]
not al
or al, 0xfe
add rbp, 0xffffffffffffffff
add rdx, 1
add rsi, 0xffffffffffffffff
add r11, 0xffffffffffffffff
cmp al, 0xff
jne 0x487971
jmp 0x489b3b
mov r8, qword [rdx]
lea rdx, [0x005ff0ef]
call fcn.00419aa0
jmp 0x491d07
mov rcx, qword [rsi]
mov rdx, rax
call fcn.0050ce50
mov qword [r13 - 0x58], rax
mov r8, qword [r13 + 8]
test rax, rax
je 0x487be3
movsxd rcx, dword [rax]
cmp dword [rax + 4], ecx
jle 0x487a14
lea edx, [rcx + 1]
mov dword [rax], edx
shl rcx, 5
xorps xmm0, xmm0
movups xmmword [rax + rcx + 0x10], xmm0
mov qword [rax + rcx + 0x20], 0
mov qword [rax + rcx + 8], r8
mov qword [r13 - 0x58], rax
jmp 0x491d07
mov rcx, qword [rsi]
mov rdx, rax
jmp 0x488d75
mov rcx, qword [rsi]
mov r8, rax
jmp 0x488c19
mov rcx, qword [rdx]
mov rdx, rax
call fcn.0050ce50
mov qword [r13 - 0x58], rax
test rax, rax
je 0x491d07
mov ebp, dword [r13 - 0x10]
mov edx, dword [r13 + 8]
mov ebx, dword [rax]
add ebx, 0xffffffff
xor ecx, ecx
cmp ebp, 0xffffffff
cmovne ecx, ebp
movsxd rbp, ebx
shl rbp, 5
mov byte [rax + rbp + 0x18], cl
cmp edx, 0xffffffff
je 0x491d07
mov ebx, dword [rax + rbp + 0x1c]
mov edi, ebx
and edi, 0x20
xor ebx, 0x20
or ebx, edi
mov dword [rax + rbp + 0x1c], ebx
cmp ecx, edx
je 0x491d07
add rax, rbp
add rax, 0x18
mov edx, ecx
not dl
and dl, 0x8e
mov ebx, ecx
and bl, 0x71
or bl, dl
xor bl, 0x8c
and cl, 2
or cl, bl
mov byte [rax], cl
jmp 0x491d07
mov rcx, qword [rbx]
mov rdx, rax
call fcn.0050ce50
mov rcx, rbx
mov rdx, rax
mov r8, rsi
xor r9d, r9d
call fcn.004ba5a0
mov rsi, rax
mov qword [r13 - 0x28], rax
test edi, edi
jns 0x48a85b
mov rcx, qword [rbx]
mov edx, 0x48
call fcn.00429840
mov rbp, rax
test rax, rax
je 0x489730
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x40], 0
mov byte [rbp], 0x13
mov word [rbp + 0x32], 0xffff
test rsi, rsi
je 0x48a82e
mov qword [rbp + 0x10], rsi
mov eax, dword [rsi + 4]
mov ecx, eax
xor ecx, 0xffbffdf7
and ecx, eax
mov dword [rbp + 4], ecx
mov eax, dword [rsi + 0x28]
jmp 0x48a830
mov dword [rsp + 0x20], 0
mov rcx, rax
mov edx, 1
mov r8d, 1
mov r9d, esi
call fcn.0047df60
jmp 0x491d07
mov rcx, qword [rbx]
mov rdx, r8
call fcn.0050cd80
mov rcx, rbx
mov rdx, rax
mov r8, rsi
xor r9d, r9d
call fcn.004ba5a0
mov rsi, rax
mov qword [r13 - 0x58], rax
test edi, edi
jns 0x48a8bd
mov rcx, qword [rbx]
mov edx, 0x48
call fcn.00429840
mov rbp, rax
test rax, rax
je 0x489749
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x40], 0
mov byte [rbp], 0x13
mov word [rbp + 0x32], 0xffff
test rsi, rsi
je 0x48a890
mov qword [rbp + 0x10], rsi
mov eax, 0x400208
and eax, dword [rsi + 4]
mov dword [rbp + 4], eax
mov eax, dword [rsi + 0x28]
jmp 0x48a892
mov rcx, qword [rsi]
mov rdx, r8
jmp 0x488410
and r14d, 1
jne 0x487bf9
and byte [r15 + 0x2c], 0xfe
cmp byte [r15 + 0x6f], 0
mov rsi, qword [rsp + 0x60]
je 0x482912
mov eax, dword [r15 + 0x2c]
mov ecx, eax
and ecx, 0x10
xor eax, 0x10
or eax, ecx
mov dword [r15 + 0x2c], eax
jmp 0x482912
and r15d, 1
jne 0x487c37
mov eax, dword [r12 + 0x2c]
mov ecx, eax
xor ecx, 1
and ecx, eax
mov dword [r12 + 0x2c], ecx
cmp byte [r12 + 0x6f], 0
mov rsi, qword [rsp + 0x60]
je 0x484e85
mov eax, dword [r12 + 0x2c]
mov ecx, eax
not ecx
and ecx, 0x54466a60
mov edx, eax
and edx, 0xabb9959f
or edx, ecx
xor edx, 0x54466a70
and eax, 0x10
or eax, edx
mov dword [r12 + 0x2c], eax
jmp 0x484e85
test r9, r9
je 0x487d46
cmp edi, 2
jl 0x487d46
mov cl, 1
test cl, cl
je 0x487d46
imul r8, rdi, 0x68
lea rsi, [r8 + r9]
add rsi, 0xffffffffffffffdc
lea rbx, [rdi + 1]
xor ebp, ebp
mov rcx, rdi
add rcx, 0xffffffffffffffff
movzx edx, byte [rsi - 0x68]
mov byte [rsi], dl
add rsi, 0xffffffffffffff98
mov eax, ebp
and eax, edx
xor ebp, edx
or ebp, eax
add rbx, 0xffffffffffffffff
cmp rbx, 2
jg 0x487ca7
mov byte [r9 + 0x44], 0
not ebp
or ebp, 0xffffffef
cmp ebp, 0xffffffff
je 0x487d46
cmp edi, 2
mov ebp, 1
cmovl ebp, edi
lea rcx, [r8 + r9]
add rcx, 0xffffffffffffffdc
cmp rdi, 2
jl 0x487d08
add rdi, 0xffffffffffffffff
movzx eax, byte [rcx]
mov edx, eax
xor dl, 0xef
add rcx, 0xffffffffffffff98
test dl, al
je 0x487ce9
add edi, 1
mov ebp, edi
add ebp, 0xfffffffe
movsxd rbp, ebp
lea rdi, [rbp + 1]
imul rax, rbp, 0x68
add rax, r9
add rax, 0x44
movzx ecx, byte [rax]
mov edx, ecx
not dl
and dl, 0x7d
mov ebx, ecx
and bl, 0x82
or bl, dl
xor bl, 0x3d
and cl, 0x40
or cl, bl
mov byte [rax], cl
add rbp, 0xffffffffffffffff
add rax, 0xffffffffffffff98
add rdi, 0xffffffffffffffff
jg 0x487d1d
mov r8, qword [r13 - 0x40]
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0x800
mov qword [rsp + 0x30], 0
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
xor edx, edx
xor r9d, r9d
call fcn.004aa3b0
mov rdx, qword [r13 - 0x70]
lea rcx, [r13 - 0x10]
lea rbp, [r13 + 8]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, rsi
xor r8d, r8d
xor r9d, r9d
call fcn.004a9f80
mov qword [r13 - 0x70], rax
jmp 0x491d07
mov qword [rsi + 4], 0x20800800
jmp 0x489019
xor eax, eax
lea ecx, [rax + 1]
mov dword [rsi + 0x28], ecx
mov rcx, qword [rdi]
mov r8d, dword [rcx + 0x94]
cmp r8d, eax
jg 0x487de3
lea rdx, [0x00603afc]
mov rcx, rdi
call fcn.00419aa0
mov qword [r13 - 0x58], rsi
mov rax, qword [r13 - 0x28]
mov r8, qword [r13 - 0x10]
test r8, r8
je 0x489a8d
test rax, rax
je 0x489006
movsxd rcx, dword [rax]
cmp dword [rax + 4], ecx
jle 0x489a82
lea edx, [rcx + 1]
mov dword [rax], edx
shl rcx, 5
xorps xmm0, xmm0
movups xmmword [rax + rcx + 0x10], xmm0
mov qword [rax + rcx + 0x20], 0
mov qword [rax + rcx + 8], r8
jmp 0x489a8d
xor eax, eax
lea ecx, [rax + 1]
mov dword [rsi + 0x28], ecx
mov rcx, qword [rbx]
mov r8d, dword [rcx + 0x94]
cmp r8d, eax
jg 0x489cc2
lea rdx, [0x00603afc]
mov rcx, rbx
call fcn.00419aa0
mov qword [r13 - 0x10], rsi
jmp 0x491d07
mov rsi, r8
mov qword [r13 - 0x28], r8
jmp 0x491d07
mov qword [r14 + 4], 0x20800800
jmp 0x489033
mov rcx, r15
mov rdx, rbp
call fcn.00429840
jmp 0x48a143
mov rcx, rbx
mov rdx, rsi
call fcn.00408130
jmp 0x48bcb6
mov rcx, rbx
mov rdx, rsi
call fcn.00408130
jmp 0x48986b
mov qword [rdx], 0
add rcx, 1
cmp rcx, rax
je 0x487ef4
mov rbp, rcx
shl rbp, 5
mov edx, dword [r12 + rbp + 0x1c]
not edx
or edx, 0xfffffffc
cmp edx, 0xffffffff
jne 0x487eb4
mov rdx, qword [rbx + 0x190]
test rdx, rdx
je 0x487eb4
mov rbp, qword [r12 + rbp + 0x10]
cmp qword [rdx], rbp
je 0x487ead
mov rdx, qword [rdx + 0x18]
test rdx, rdx
jne 0x487ee4
jmp 0x487eb4
test r12, r12
je 0x491d07
mov rcx, r14
mov rdx, r12
call fcn.0047fbe0
jmp 0x491d07
movzx eax, byte [r12 + 0xc4]
mov qword [rsp + 0x70], rax
mov rbx, r14
mov rsi, qword [rbx]
test rsi, rsi
je 0x491d07
mov ebp, dword [rbx + 8]
movabs rax, 0xf49b8c7a90d7af5
mov rcx, rbp
sub rcx, rax
lea rdx, [rcx + rax]
add rdx, 1
mov rcx, r15
call fcn.00429840
test rax, rax
je 0x491d07
mov r12, rax
mov rcx, rax
mov rdx, rsi
mov r8, rbp
call fcn.005f4c20
mov byte [r12 + rbp], 0
movzx eax, byte [r12]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
mov rdi, qword [rsp + 0x70]
jns 0x48c66b
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
xor edx, edx
mov rbp, r12
jmp 0x487fae
mov byte [rbp], bl
add rdx, 1
add ecx, 1
add rbp, 1
movsxd rbx, ecx
movzx ebx, byte [r12 + rbx]
cmp bl, al
jne 0x487fa0
add ecx, 1
movsxd rbx, ecx
cmp byte [r12 + rbx], al
jne 0x48c667
mov byte [rbp], al
jmp 0x487fa3
test r14, r14
mov rax, qword [rsp + 0x60]
je 0x488b74
mov rcx, qword [rax]
lea rdx, [rbp + 1]
call fcn.00429840
test rax, rax
je 0x488b74
mov rdi, rax
mov rcx, rax
mov rdx, r14
mov r8, rbp
call fcn.005f4c20
mov byte [rdi + rbp], 0
movzx eax, byte [rdi]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x48b724
cmp al, 0x5b
movzx eax, al
mov ebp, 0x5d
cmovne ebp, eax
mov ecx, 1
xor edx, edx
mov rbx, rdi
jmp 0x488041
mov byte [rbx], al
add rdx, 1
add ecx, 1
add rbx, 1
movsxd rax, ecx
movzx eax, byte [rdi + rax]
cmp al, bpl
jne 0x488034
add ecx, 1
movsxd rax, ecx
cmp byte [rdi + rax], bpl
jne 0x48b721
mov byte [rbx], bpl
jmp 0x488036
test r14, r14
je 0x488b7b
mov rcx, qword [rsi]
lea rdx, [rbp + 1]
call fcn.00429840
test rax, rax
je 0x488b7b
mov rdi, rax
mov rcx, rax
mov rdx, r14
mov r8, rbp
call fcn.005f4c20
mov byte [rdi + rbp], 0
movzx eax, byte [rdi]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x48b74c
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
xor edx, edx
mov rsi, rdi
jmp 0x4880cf
mov byte [rsi], bl
add rdx, 1
add ecx, 1
add rsi, 1
movsxd rbp, ecx
movzx ebx, byte [rdi + rbp]
cmp bl, al
jne 0x4880c2
add ecx, 1
movsxd rbp, ecx
cmp byte [rdi + rbp], al
jne 0x48b744
mov byte [rsi], al
jmp 0x4880c4
xor esi, esi
mov rax, qword [r13 - 0x10]
mov qword [rax], rsi
mov rax, qword [r13 - 0x10]
mov qword [r13 - 0x58], rax
jmp 0x491d07
xor ebx, ebx
mov qword [rdi + 8], rbx
mov qword [r13 - 0x10], rdi
jmp 0x491d07
test rbp, rbp
je 0x488122
mov rcx, qword [rdi]
mov rdx, rbp
call fcn.00468370
mov qword [r13 - 0x58], rsi
mov rdx, qword [r13 - 0x10]
test rdx, rdx
je 0x490aff
mov rcx, qword [rdi]
call fcn.0047fbe0
jmp 0x490aff
xor r9d, r9d
jmp 0x491cf5
mov ebp, 0xffff8000
mov rax, qword [rsp + 0x68]
mov qword [r15 + 0x38], rax
test rax, rax
je 0x488168
mov qword [rax + 8], r15
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x48815b
mov qword [rsp + 0x150], rsi
test rsi, rsi
mov rdi, qword [rsp + 0x60]
je 0x488700
mov rcx, rsi
call fcn.005f4bd8
mov ecx, eax
xor ecx, 0xc0000000
and ecx, eax
jmp 0x488702
xor esi, esi
jmp 0x48bbd9
test rbp, rbp
je 0x489cc2
mov rcx, qword [rdi]
mov rdx, rbp
call fcn.00468370
jmp 0x489cc2
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov rdx, r8
call fcn.0050cd80
mov qword [r13 - 0x28], rax
jmp 0x491d07
lea rbp, [r13 - 0x40]
lea rsi, [r13 - 0x58]
mov r9d, dword [r13 - 0xa0]
mov eax, dword [r13 - 0x70]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 1
mov rcx, rdi
mov rdx, rsi
mov r8, rbp
call fcn.00495cc0
mov rbx, qword [rdi + 0x150]
test rbx, rbx
je 0x484822
cmp dword [rdi + 0x30], 0
jne 0x484822
mov eax, dword [rbx + 0x30]
mov ecx, eax
and ecx, 0x200
xor eax, 0x200
or eax, ecx
mov dword [rbx + 0x30], eax
cmp dword [r13 - 0x38], 0
mov qword [rsp + 0x68], rbx
je 0x4911e9
mov qword [rsp + 0x88], rbp
mov rax, qword [rdi]
mov qword [rsp + 0x70], rax
cmp byte [rax + 0xc5], 0
je 0x48f6bf
lea rdx, [0x0060307c]
mov rcx, rdi
call fcn.00419aa0
xor esi, esi
jmp 0x4911e9
xor r9d, r9d
jmp 0x491632
mov ecx, 0x90
call fcn.00404550
jmp 0x48dcb7
mov ecx, 0x58
call fcn.00404550
test rax, rax
je 0x488a14
xorps xmm0, xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x50], 0
mov qword [r13 - 0x58], rax
jmp 0x491d07
test eax, eax
je 0x48b124
cmp byte [r15 + 0xc5], 0
je 0x48beeb
lea rdx, [0x0060307c]
mov rcx, r12
call fcn.00419aa0
jmp 0x48d5a1
mov rcx, qword [rbx]
mov rdx, r8
call fcn.0050cd80
jmp 0x488c58
mov qword [rdx + 0x170], rax
mov eax, dword [r13 + 0x10]
mov dword [rdx + 0x178], eax
jmp 0x491d07
mov rcx, qword [rsi]
mov rdx, r8
call fcn.0050cd80
mov qword [r13 - 0x40], rax
jmp 0x491d07
mov qword [r13 - 0x58], rax
jmp 0x491d07
test rbp, rbp
je 0x489d1f
mov rcx, qword [rdi]
mov rdx, rbp
call fcn.00468370
jmp 0x489d1f
test rbp, rbp
je 0x48b4cf
mov rcx, qword [rdi]
mov rdx, rbp
call fcn.00468370
jmp 0x48b4cf
test rbp, rbp
je 0x488375
mov rcx, qword [rsi]
mov rdx, rbp
call fcn.00468370
mov qword [r13 - 0x58], r14
mov rdx, qword [r13 - 0x10]
test rdx, rdx
je 0x48c021
mov rcx, qword [rsi]
mov r8d, 1
call fcn.00468620
jmp 0x48c021
mov ecx, 0x30
call fcn.00404550
mov rsi, rax
test rax, rax
je 0x4883b9
xorps xmm0, xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi], xmm0
cmp byte [rbp + 0x67], 0
je 0x488a1f
test r15, r15
je 0x4883d3
mov rcx, rbp
mov rdx, r15
call fcn.0047fbe0
test r14, r14
je 0x489fe1
mov rcx, rbp
mov rdx, r14
mov r8d, 1
call fcn.00468620
mov qword [r13 - 0x70], rsi
jmp 0x491d07
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
xor edx, edx
call fcn.0050cd80
jmp 0x488d10
mov rcx, qword [rdi]
mov rdx, rax
call fcn.0050cd80
mov qword [r13 - 0x58], rax
jmp 0x491d07
mov rsi, qword [r13 - 0x70]
mov r14, qword [r13 + 8]
mov ebp, dword [r13 - 0x38]
add rbp, 0x61
test rbx, rbx
je 0x48b1fb
mov rcx, rbx
mov rdx, rbp
call fcn.00429840
jmp 0x48b203
lea rax, [rdi + 0x10]
mov r9, qword [rax]
mov r8, qword [rdi + 0x18]
xor ebx, ebx
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
xor edx, edx
call fcn.004190c0
test rax, rax
je 0x4884c3
mov r14, rax
mov rcx, rsi
mov rdx, rax
call fcn.00520f10
test eax, eax
jne 0x4884c1
mov al, byte [r14 + 0x3f]
xor ebp, ebp
cmp al, 2
lea rdx, [0x00603035]
cmove rbp, rdx
cmp al, 1
lea r9, [0x00605fe2]
cmovne r9, rbp
test r9, r9
je 0x48bfa7
mov rax, qword [r14]
mov qword [rsp + 0x20], rax
lea rdx, [0x00605ff0]
lea r8, [0x00606013]
mov rcx, rsi
call fcn.00419aa0
xor ebx, ebx
xor r12d, r12d
mov rcx, r15
mov rdx, rdi
call fcn.004688d0
mov rcx, r15
mov rdx, r12
call fcn.00408130
mov rcx, r15
mov rdx, rbx
call fcn.00408130
jmp 0x491d07
mov ecx, 0x90
call fcn.00404550
jmp 0x48dd27
mov rdx, qword [r13 - 0x28]
test rdx, rdx
je 0x491d07
mov rax, qword [rsp + 0x60]
mov rsi, qword [rax]
mov rdi, qword [rdx + 0x40]
mov rcx, rsi
call fcn.00468550
mov rdx, rdi
test rdi, rdi
jne 0x488510
jmp 0x491d07
mov ecx, 0x58
call fcn.00404550
test rax, rax
je 0x488ad4
xorps xmm0, xmm0
movups xmmword [rax + 0x48], xmm0
movups xmmword [rax + 0x39], xmm0
movups xmmword [rax + 0x29], xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rbx
test rbp, rbp
setne byte [rax + 0x28]
mov qword [rax + 0x20], 0
mov qword [r13 - 0xa0], rax
jmp 0x491d07
mov rdx, qword [r13 + 8]
mov rcx, qword [rdi]
call fcn.00468550
jmp 0x48be89
test rdx, rdx
mov rbx, qword [rsp + 0x60]
je 0x488594
mov rcx, qword [rbx]
call fcn.0047fbe0
test rsi, rsi
je 0x4885a4
mov rcx, qword [rbx]
mov rdx, rsi
call fcn.0047fbe0
mov qword [r13 - 0x58], rdi
jmp 0x491d07
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x48b299
movabs rdx, 0xffffffff00000000
mov ebp, 0xffffffff
mov rax, qword [r15 + 0x20]
lea rbx, [rax + 0x18]
xor edi, edi
add rdi, 1
lea rsi, [rbx + 0x20]
add rdx, rbp
add rdx, 1
cmp qword [rbx], rcx
mov rbx, rsi
jne 0x4885d3
sar rdx, 0x1b
add rax, rdx
mov rsi, qword [rsp + 0x60]
jmp 0x48b29d
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsi]
mov rdx, r8
call fcn.0050cd80
jmp 0x488db1
mov ecx, 0x60
call fcn.00404550
mov r15, rax
test rax, rax
je 0x488b06
xorps xmm0, xmm0
movups xmmword [r15 + 0x12], xmm0
movups xmmword [r15 + 2], xmm0
movups xmmword [r15 + 0x50], xmm0
movups xmmword [r15 + 0x42], xmm0
movups xmmword [r15 + 0x32], xmm0
movups xmmword [r15 + 0x22], xmm0
mov word [r15], 0xb8a
mov qword [r15 + 0x10], rbp
add rbx, 0xffffffffffffffff
lea r12, [0x005fb0a0]
movzx eax, byte [rbx + 1]
add rbx, 1
movzx eax, byte [rax + r12]
not al
or al, 0xfe
cmp al, 0xff
jne 0x48865c
movabs r9, 0x7441ff8ec2b31ace
mov edx, 0xffffffff
movabs rcx, 0x249497a97603aa92
sub rsi, rcx
sub rsi, rbx
add rsi, rcx
mov rcx, rsi
xor rcx, rdx
not rcx
and rcx, rsi
xor r8d, r8d
test esi, esi
cmovs r8, rsi
movabs rsi, 0xffffffff00000000
sub rsi, rcx
lea rbp, [rcx + rdx]
lea rdx, [rcx + 1]
test ecx, ecx
jle 0x488ba4
mov eax, 0xffffffff
not eax
mov edi, r9d
not edi
or eax, esi
or edi, r9d
not eax
and eax, edi
movzx eax, byte [rbx + rax]
movzx eax, byte [rax + r12]
not al
or al, 0xfe
add rcx, 0xffffffffffffffff
add rsi, 1
add rbp, 0xffffffffffffffff
add rdx, 0xffffffffffffffff
cmp al, 0xff
jne 0x4886bd
jmp 0x488ba7
xor ecx, ecx
mov dword [rsp + 0x158], ecx
mov qword [rsp + 0x168], rdi
mov rax, qword [r14 + 0x20]
movsxd rbx, ebp
mov rcx, rbx
shl rcx, 5
mov rdx, qword [rax + rcx]
mov qword [rsp + 0x1b0], rdx
mov qword [rsp + 0x78], rcx
mov rax, qword [rax + rcx + 0x18]
cmp ebx, 1
sete byte [rsp + 0x1a8]
mov qword [rsp + 0x1a0], rax
lea rax, [0x005fb667]
mov qword [rsp + 0x1b8], rax
lea rax, [rsp + 0x150]
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x170], rdi
lea rax, [0x004e0ac0]
mov qword [rsp + 0x178], rax
lea rax, [0x004e0b30]
mov qword [rsp + 0x180], rax
lea rax, [0x004cf1c0]
mov qword [rsp + 0x188], rax
mov dword [rsp + 0x190], 0
mov word [rsp + 0x194], 0
lea rax, [rsp + 0x168]
mov qword [rsp + 0x198], rax
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x4889c6
lea r12, [rsp + 0x170]
xorps xmm6, xmm6
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x80], rsi
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.004cec80
test eax, eax
jne 0x4905f5
mov rdx, qword [rbx + 0x28]
test rdx, rdx
je 0x48881c
mov rcx, r12
call fcn.004cea30
test eax, eax
jne 0x4905f5
mov qword [rsp + 0x68], rbx
mov rdi, qword [rbx + 0x30]
test rdi, rdi
je 0x488861
mov ebx, dword [rdi]
test ebx, ebx
jle 0x488861
add rdi, 8
lea esi, [rbx + 1]
jmp 0x488848
add ebx, 0xffffffff
add rdi, 0x20
add esi, 0xffffffff
cmp esi, 1
jle 0x488861
mov rdx, qword [rdi]
test rdx, rdx
je 0x488839
mov rcx, r12
call fcn.004cea30
test eax, eax
je 0x488839
jmp 0x4905f5
mov rsi, qword [rsp + 0x68]
mov rax, qword [rsi + 0x20]
test rax, rax
je 0x4888cf
movaps xmmword [rsp + 0xf0], xmm6
movaps xmmword [rsp + 0x140], xmm6
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x110], xmm6
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xd0], xmm6
mov qword [rsp + 0xf8], rax
mov rcx, r12
lea rdx, [rsp + 0xd0]
call fcn.004cec80
test eax, eax
jne 0x488a00
mov r15, qword [rsi + 0x40]
test r15, r15
je 0x48899a
mov rbx, qword [r15]
test rbx, rbx
je 0x48891f
mov r14d, dword [rbx]
test r14d, r14d
jle 0x48891f
add rbx, 8
lea esi, [r14 + 1]
jmp 0x488906
add r14d, 0xffffffff
add rbx, 0x20
add esi, 0xffffffff
cmp esi, 1
jle 0x48891f
mov rdx, qword [rbx]
test rdx, rdx
je 0x4888f6
mov rcx, r12
call fcn.004cea30
test eax, eax
je 0x4888f6
jmp 0x488a00
mov rdx, qword [r15 + 8]
test rdx, rdx
je 0x488938
mov rcx, r12
call fcn.004cea30
test eax, eax
jne 0x488a00
mov rbx, qword [r15 + 0x10]
test rbx, rbx
je 0x488978
mov esi, dword [rbx]
test esi, esi
jle 0x488978
add rbx, 8
lea edi, [rsi + 1]
jmp 0x48895f
add esi, 0xffffffff
add rbx, 0x20
add edi, 0xffffffff
cmp edi, 1
jle 0x488978
mov rdx, qword [rbx]
test rdx, rdx
je 0x488950
mov rcx, r12
call fcn.004cea30
test eax, eax
je 0x488950
jmp 0x488a00
mov rdx, qword [r15 + 0x18]
test rdx, rdx
je 0x48898d
mov rcx, r12
call fcn.004cea30
test eax, eax
jne 0x488a00
mov r15, qword [r15 + 0x20]
test r15, r15
jne 0x4888dc
mov rbx, qword [rsp + 0x68]
mov rbx, qword [rbx + 0x50]
test rbx, rbx
mov rdi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x88]
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x80]
jne 0x4887ef
mov rdx, qword [r15 + 0x18]
test rdx, rdx
je 0x4889e4
lea rcx, [rsp + 0x170]
call fcn.004cea30
test eax, eax
jne 0x4905f5
cmp byte [rdi + 0x124], 2
jb 0x48b61d
mov qword [rdi + 0x160], r15
xor r15d, r15d
jmp 0x49054b
xor ebx, ebx
mov r14, qword [rsp + 0x88]
mov r15, qword [rsp + 0x70]
jmp 0x490d41
xor eax, eax
mov qword [r13 - 0x58], rax
jmp 0x491d07
mov qword [rsi + 0x10], r14
mov qword [rsi + 8], r15
mov rbp, qword [r13 - 0x70]
test rbp, rbp
je 0x489fd8
mov r14d, dword [r13 - 0x68]
mov rcx, qword [rdi]
movabs rax, 0xdacb48066c0528f3
mov rdx, r14
sub rdx, rax
add rdx, rax
add rdx, 1
call fcn.00429840
test rax, rax
je 0x489fd8
mov rdi, rax
mov rcx, rax
mov rdx, rbp
mov r8, r14
call fcn.005f4c20
mov byte [rdi + r14], 0
movzx eax, byte [rdi]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x489fda
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
mov r8d, 0xffffffff
xor ebp, ebp
mov rbx, rdi
jmp 0x488ab6
mov byte [rbx], dl
add rbp, 1
add ecx, 1
add rbx, 1
movsxd rdx, ecx
movzx edx, byte [rdi + rdx]
cmp dl, al
jne 0x488aa9
sub ecx, r8d
movsxd rdx, ecx
cmp byte [rdi + rdx], al
jne 0x48d563
mov byte [rbx], al
jmp 0x488aab
test rbp, rbp
je 0x488ae4
mov rcx, rsi
mov rdx, rbp
call fcn.0047fbe0
test rbx, rbx
je 0x48b2f1
mov rcx, rsi
mov rdx, rbx
call fcn.00468370
xor eax, eax
mov qword [r13 - 0xa0], rax
jmp 0x491d07
test rbp, rbp
je 0x48b2ff
mov rcx, r14
mov rdx, rbp
mov r8d, 1
call fcn.00468620
xor r15d, r15d
mov qword [r13 - 0x28], r15
jmp 0x491d07
mov byte [rbx], 0
jmp 0x4864f4
xor eax, eax
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x488b47
mov ecx, dword [rcx + 0x28]
cmp ecx, eax
cmovge eax, ecx
lea ecx, [rax + 1]
mov dword [rbp + 0x28], ecx
mov rcx, qword [rdi]
mov r8d, dword [rcx + 0x94]
cmp r8d, eax
jg 0x48be89
lea rdx, [0x00603afc]
mov rcx, rdi
call fcn.00419aa0
jmp 0x48be89
xor edi, edi
jmp 0x48b724
xor edi, edi
jmp 0x48b74c
mov qword [rcx], 0
mov rcx, rbx
mov edx, 0x8d
mov r8, rsi
mov r9, rax
call fcn.004997c0
mov qword [rdi], rax
jmp 0x491d07
mov rdx, r8
movsxd rsi, edx
lea rdx, [rsi + 1]
mov rcx, r14
call fcn.00429840
mov rbp, rax
test rax, rax
je 0x488c09
mov rcx, rbp
mov rdx, rbx
mov r8, rsi
call fcn.005f4c20
mov byte [rbp + rsi], 0
mov dl, byte [rbp]
test dl, dl
je 0x488c09
mov rax, rbp
add rax, 1
xor ecx, ecx
jmp 0x488bf2
add rcx, 1
movzx edx, byte [rax]
add rax, 1
test dl, dl
je 0x488c09
movzx edx, dl
movzx ebx, byte [rdx + r12]
mov edx, ebx
xor dl, 0xfe
test dl, bl
je 0x488be3
mov byte [rax - 1], 0x20
jmp 0x488be3
mov qword [r15 + 0x48], rbp
mov qword [r13 - 0x28], r15
jmp 0x491d07
mov rcx, qword [rcx]
call fcn.0050ce50
mov qword [r13 - 0x28], rax
jmp 0x491d07
mov rax, qword [rcx + 0x1c8]
test rax, rax
je 0x48b5d1
mov rdx, qword [rax]
mov qword [rcx + 0x1c8], rdx
add dword [rcx + 0x1b0], 1
jmp 0x48dcb7
mov rcx, qword [rbx]
mov rdx, r14
call fcn.0050ce50
mov r14, rax
lea rdi, [r13 - 0x58]
mov rsi, qword [r13 - 0x58]
mov rcx, qword [rbx]
mov edx, 0x48
call fcn.00429840
mov rbp, rax
test rax, rax
je 0x488cbd
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x40], 0
mov byte [rbp], 0x30
mov word [rbp + 0x32], 0xffff
test rsi, rsi
je 0x489e43
mov qword [rbp + 0x10], rsi
mov eax, 0x400208
and eax, dword [rsi + 4]
mov dword [rbp + 4], eax
mov eax, dword [rsi + 0x28]
jmp 0x489e45
test rsi, rsi
je 0x488ccd
mov rcx, qword [rbx]
mov rdx, rsi
call fcn.00468370
mov qword [rdi], rbp
test r14, r14
je 0x489e70
mov rcx, qword [rbx]
mov rdx, r14
call fcn.0047fbe0
jmp 0x489e70
mov rcx, qword [rsi]
mov rdx, rax
call fcn.0050ce50
mov qword [r13 - 0x40], rax
jmp 0x491d07
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov rdx, rsi
xor r8d, r8d
call fcn.0050ce50
mov rsi, rax
lea rbp, [r13 - 0x28]
test ebx, ebx
setne al
cmp edi, 0xffffffff
setne cl
test al, cl
mov rdi, qword [rsp + 0x60]
jne 0x488d2f
xor al, cl
je 0x488d52
mov rax, qword [rdi]
cmp byte [rax + 0xc5], 0
jne 0x488d52
mov r8d, dword [r13 - 0x20]
mov r9, qword [r13 - 0x28]
lea rdx, [0x00604cb0]
mov rcx, rdi
call fcn.00419aa0
mov rcx, rdi
mov rdx, rsi
mov r8, rbp
mov r9d, 1
call fcn.004aa6d0
mov qword [r13 - 0x58], rsi
jmp 0x491d07
mov rcx, qword [rdi]
mov r8, rax
call fcn.0050ce50
mov qword [r13 - 0x58], rax
jmp 0x491d07
mov rax, qword [rcx + 0x1c8]
test rax, rax
je 0x48b5f7
mov rdx, qword [rax]
mov qword [rcx + 0x1c8], rdx
add dword [rcx + 0x1b0], 1
jmp 0x48dd27
mov rcx, qword [rsi]
call fcn.0050ce50
mov rdx, rax
mov qword [r13 - 0x58], rdx
lea r8, [r13 - 0x28]
mov rcx, rsi
mov r9d, 1
call fcn.004aa6d0
jmp 0x491d07
mov rcx, qword [rbx]
call fcn.0047fbe0
lea r15, [r13 - 0x58]
mov rbp, qword [r13 - 0x58]
mov rcx, qword [rbx]
mov edx, 0x48
call fcn.00429840
mov r14, rax
test rax, rax
je 0x488e3e
xorps xmm0, xmm0
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x30], xmm0
movups xmmword [r14 + 0x20], xmm0
movups xmmword [r14 + 0x10], xmm0
mov qword [r14 + 0x40], 0
mov byte [r14], 0x31
mov word [r14 + 0x32], 0xffff
test rbp, rbp
je 0x489ee4
mov qword [r14 + 0x10], rbp
mov eax, 0x400208
and eax, dword [rbp + 4]
mov dword [r14 + 4], eax
mov eax, dword [rbp + 0x28]
jmp 0x489ee6
test rbp, rbp
je 0x488e4e
mov rcx, qword [rbx]
mov rdx, rbp
call fcn.00468370
mov qword [r15], r14
test rsi, rsi
je 0x48c1dd
mov rcx, qword [rbx]
mov rdx, rsi
mov r8d, 1
call fcn.00468620
jmp 0x48c1dd
xor eax, eax
mov byte [rdi + rax], 0
movzx eax, byte [rdi]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x489019
xor ecx, ecx
cmp al, 0x22
sete cl
shl ecx, 7
or ecx, 0x4000000
mov dword [rsi + 4], ecx
cmp al, 0x5b
movzx eax, al
mov ebp, 0x5d
cmovne ebp, eax
mov ecx, 1
xor edx, edx
mov rbx, rdi
jmp 0x488ec3
mov byte [rbx], al
add rdx, 1
add ecx, 1
add rbx, 1
movsxd rax, ecx
movzx eax, byte [rdi + rax]
cmp al, bpl
jne 0x488eb6
add ecx, 1
movsxd rax, ecx
cmp byte [rdi + rax], bpl
jne 0x489016
mov byte [rbx], bpl
jmp 0x488eb8
mov rcx, rbp
mov rdx, rsi
call fcn.00429840
jmp 0x48b4ef
mov byte [rsi], 0
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.004c6120
test rax, rax
je 0x4903d0
mov rbp, rax
mov rcx, qword [rsi]
mov rax, qword [rcx + 0x1f8]
test rax, rax
je 0x488f35
cmp byte [rcx + 0xc5], 0
jne 0x488f35
cmp byte [rsi + 0x124], 0
je 0x48ddda
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x30], 0xfffffffa
mov dword [rsp + 0x20], 0
mov rcx, rbp
xor edx, edx
xor r8d, r8d
jmp 0x48b0d4
mov rax, qword [rdi + 0x58]
test rax, rax
je 0x48b793
movsxd rcx, dword [rax]
cmp dword [rax + 4], ecx
jle 0x48bb72
lea edx, [rcx + 1]
mov dword [rax], edx
shl rcx, 5
xorps xmm0, xmm0
movups xmmword [rax + rcx + 0x10], xmm0
mov qword [rax + rcx + 0x20], 0
mov qword [rax + rcx + 8], r8
mov qword [rdi + 0x58], rax
jmp 0x48bb8a
xor eax, eax
mov byte [rdi + rax], 0
movzx eax, byte [rdi]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x489033
xor ecx, ecx
cmp al, 0x22
sete cl
shl ecx, 7
or ecx, 0x4000000
mov dword [r14 + 4], ecx
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
xor edx, edx
mov rsi, rdi
jmp 0x488fec
mov byte [rsi], bl
add rdx, 1
add ecx, 1
add rsi, 1
movsxd rbp, ecx
movzx ebx, byte [rdi + rbp]
cmp bl, al
jne 0x488fdf
add ecx, 1
movsxd rbp, ecx
cmp byte [rdi + rbp], al
jne 0x489030
mov byte [rsi], al
jmp 0x488fe1
mov rcx, qword [rdi]
mov rdx, r8
call fcn.0050cd80
jmp 0x489a8d
mov byte [rbx], 0
mov dword [rsi + 0x28], 1
mov qword [r13 - 0x70], rsi
mov al, byte [r13 - 0x40]
mov byte [rsi + 1], al
jmp 0x491d07
mov byte [rsi], 0
mov dword [r14 + 0x28], 1
mov qword [r13 - 0x70], r14
mov rax, qword [r13 - 0x40]
test rax, rax
je 0x489091
mov qword [r14 + 0x10], rax
mov ecx, dword [rax + 4]
mov edx, ecx
xor edx, 0xffbffdf7
and edx, ecx
mov ebp, dword [r14 + 4]
mov ecx, ebp
not ecx
mov ebx, edx
not ebx
mov edi, ecx
and edi, 0xbb86f82a
and ebp, 0x447907d5
or ebp, edi
or ecx, ebx
and ebx, 0xbb86f82a
and edx, 0x447907d5
or edx, ebx
xor edx, ebp
not ecx
or ecx, edx
mov dword [r14 + 4], ecx
jmp 0x48909e
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x48a8e0
mov eax, dword [rax + 0x28]
mov rcx, qword [r14 + 0x18]
test rcx, rcx
je 0x4890b2
mov ecx, dword [rcx + 0x28]
cmp ecx, eax
cmovge eax, ecx
mov edi, dword [r14 + 4]
mov ecx, edi
xor ecx, 0xffffefff
test ecx, edi
je 0x4891e9
mov rcx, qword [r14 + 0x20]
jmp 0x4890d0
mov rcx, qword [rcx + 0x50]
test rcx, rcx
je 0x48d4fd
mov rdx, qword [rcx + 0x30]
test rdx, rdx
je 0x4890ea
mov edx, dword [rdx + 0x28]
cmp edx, eax
cmovge eax, edx
mov rdx, qword [rcx + 0x40]
test rdx, rdx
je 0x4890fb
mov edx, dword [rdx + 0x28]
cmp edx, eax
cmovge eax, edx
mov rdx, qword [rcx + 0x60]
test rdx, rdx
je 0x48910c
mov edx, dword [rdx + 0x28]
cmp edx, eax
cmovge eax, edx
mov rdx, qword [rcx + 0x20]
test rdx, rdx
je 0x489155
mov esi, dword [rdx]
test esi, esi
jle 0x489155
add rdx, 8
xor edi, edi
mov ebx, esi
jmp 0x489140
add rdi, 1
movsxd rbp, ebx
add rdx, 0x20
cmp rdi, rbp
jge 0x489155
mov rbp, qword [rdx]
test rbp, rbp
je 0x489130
mov ebp, dword [rbp + 0x28]
cmp ebp, eax
cmovg eax, ebp
cmovg ebx, esi
jmp 0x489130
mov rdx, qword [rcx + 0x38]
test rdx, rdx
je 0x489195
mov edi, dword [rdx]
test edi, edi
jle 0x489195
add rdx, 8
mov ebx, edi
xor esi, esi
jmp 0x489180
add rsi, 1
movsxd rbp, ebx
add rdx, 0x20
cmp rsi, rbp
jge 0x489195
mov rbp, qword [rdx]
test rbp, rbp
je 0x489170
mov ebp, dword [rbp + 0x28]
cmp ebp, eax
cmovg eax, ebp
cmovg ebx, edi
jmp 0x489170
mov rdx, qword [rcx + 0x48]
test rdx, rdx
je 0x4890cc
mov esi, dword [rdx]
test esi, esi
jle 0x4890cc
add rdx, 8
xor edi, edi
mov ebx, esi
jmp 0x4891d4
add rdi, 1
movsxd rbp, ebx
add rdx, 0x20
cmp rdi, rbp
jge 0x4890cc
mov rbp, qword [rdx]
test rbp, rbp
je 0x4891c0
mov ebp, dword [rbp + 0x28]
cmp ebp, eax
cmovg eax, ebp
cmovg ebx, esi
jmp 0x4891c0
mov qword [rsp + 0x90], r13
mov r13, qword [r14 + 0x20]
test r13, r13
je 0x48d4f5
mov r12d, dword [r13]
test r12d, r12d
jle 0x48a52c
lea rcx, [r13 + 8]
xor edx, edx
mov ebx, r12d
jmp 0x48922a
add rdx, 1
movsxd rbp, ebx
add rcx, 0x20
cmp rdx, rbp
jge 0x48a4ef
mov rbp, qword [rcx]
test rbp, rbp
je 0x489216
mov ebp, dword [rbp + 0x28]
cmp ebp, eax
cmovg eax, ebp
cmovg ebx, r12d
jmp 0x489216
mov r15, qword [rbx + 0x10]
test r15, r15
je 0x48b7a3
cmp byte [rbx + 0xd5], 0
mov qword [rsp + 0x68], r15
je 0x48e626
mov rdi, qword [rbx + 0xc0]
cmp dword [rdi + 0xbc], 0
je 0x48e626
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x48df07
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0x53
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 1], xmm0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x48df22
lea rax, [r14 + 0x10]
mov r9, qword [rax]
mov r8, qword [r14 + 0x18]
mov rcx, rsi
xor edx, edx
call fcn.004190c0
test rax, rax
je 0x48ae12
mov rdi, rax
mov al, byte [rax + 0x3f]
cmp al, 2
je 0x48adee
cmp al, 1
jne 0x48adff
lea rdx, [0x0060614f]
jmp 0x48adf5
lea r15, [rdi + 8]
mov r14d, dword [rcx + 0x2c]
mov rax, qword [rcx + 0x20]
mov rax, qword [rax + 0x18]
mov dl, byte [rax + 0x71]
mov byte [rcx + 0x64], dl
movzx eax, word [rax + 0x72]
mov edx, eax
xor edx, 0xfffe
test dx, ax
je 0x48b7be
mov ebx, dword [rcx + 0x28]
cmp ebx, 2
jl 0x48a455
mov rbp, rbx
shl rbp, 5
add rbp, 0xfffffffffffffff8
lea esi, [rbx - 1]
lea rdi, [rbx + 1]
jmp 0x48935a
add rbx, 0xffffffffffffffff
add rbp, 0xffffffffffffffe0
add esi, 0xffffffff
add rdi, 0xffffffffffffffff
cmp rdi, 2
jle 0x48a455
mov rax, qword [rcx + 0x20]
mov rax, qword [rax + rbp]
movzx eax, word [rax + 0x72]
not eax
or eax, 0xfffe
cmp ax, 0xffff
jne 0x489341
mov edx, esi
mov r8, r15
xor r9d, r9d
call fcn.004651a0
mov rcx, qword [rsp + 0x88]
test eax, eax
je 0x489341
mov rdi, qword [rsp + 0x60]
jmp 0x48b7db
mov ebp, 0xffff8000
movsxd rcx, ebp
shl rcx, 5
mov qword [rsp + 0x80], rcx
mov r8, qword [rax + rcx]
mov rdx, qword [r15]
mov rcx, qword [r15 + 8]
add rdx, 0x10
movsx rax, word [r15 + 0x36]
add rax, 0xffffffffffffffff
lea rax, [rax + rax*2]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
movzx eax, word [rcx + rax*8 + 0x10]
test eax, eax
je 0x4893e4
cmp byte [r15 + 0x3f], 0
je 0x48a8f4
xor edi, edi
mov rcx, r12
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x88], r8
call fcn.00426380
mov rbx, qword [r12 + 0x1f8]
test rbx, rbx
je 0x489425
cmp byte [r12 + 0xc5], 0
jne 0x489425
mov rcx, qword [rsp + 0x60]
cmp byte [rcx + 0x124], 0
je 0x48c92f
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
movzx eax, word [rax + rcx*8 + 0x12]
mov ecx, eax
xor ecx, 0xfffe
test ecx, eax
je 0x4898a3
lea rdx, [0x00605c64]
mov rcx, qword [rsp + 0x60]
call fcn.00419aa0
jmp 0x491d07
mov rcx, r15
xor edx, edx
mov r8, r12
xor r9d, r9d
call fcn.004651a0
test eax, eax
jne 0x489716
jmp 0x487080
mov rcx, rbp
call fcn.00404550
mov rdi, rax
test rax, rax
je 0x489762
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x88], r12
mov rcx, rdi
xor edx, edx
mov r8, rbp
call fcn.005f4c10
lea r15, [rdi + 0x60]
mov r8d, dword [r13 - 0x80]
mov rdx, qword [r13 - 0x88]
mov rcx, r15
call fcn.005f4c20
movzx eax, byte [rdi + 0x60]
mov rsi, rdi
lea r12, [0x005fb0a0]
cmp byte [rax + r12], 0
jns 0x48a91f
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
mov edi, 0xffffffff
xor ebp, ebp
mov rbx, r15
jmp 0x489510
mov byte [rbx], dl
add rbp, 1
add ecx, 1
add rbx, 1
movsxd rdx, ecx
movzx edx, byte [r15 + rdx]
cmp dl, al
jne 0x489503
sub ecx, edi
movsxd rdx, ecx
cmp byte [r15 + rdx], al
jne 0x48a91c
mov byte [rbx], al
jmp 0x489505
lea rax, [r12 + 0x10]
mov r9, qword [rax]
mov r8, qword [r12 + 0x18]
xor r15d, r15d
mov rcx, rsi
xor edx, edx
call fcn.004190c0
test rax, rax
je 0x4832e0
mov rdi, rax
mov rcx, rsi
mov rdx, rax
call fcn.00520f10
test eax, eax
jne 0x4832dd
mov al, byte [rdi + 0x3f]
xor ecx, ecx
cmp al, 2
lea rdx, [0x00603035]
cmove rcx, rdx
cmp al, 1
lea r9, [0x00605fe2]
cmovne r9, rcx
test r9, r9
je 0x48c98c
mov rax, qword [rdi]
mov qword [rsp + 0x20], rax
lea rdx, [0x00605ff0]
lea r8, [0x00606002]
mov rcx, rsi
call fcn.00419aa0
jmp 0x4832dd
mov qword [rsp + 0x68], r14
lea rsi, [rdi + 8]
mov r14d, dword [r12 + 0x2c]
mov rax, qword [r12 + 0x20]
mov rax, qword [rax + 0x18]
mov cl, byte [rax + 0x71]
mov byte [r12 + 0x64], cl
movzx eax, word [rax + 0x72]
mov ecx, eax
xor ecx, 0xfffe
test cx, ax
je 0x48b7e7
mov dword [rsp + 0x70], ebx
mov r15d, dword [r12 + 0x28]
cmp r15d, 2
jl 0x48a483
mov rbx, r15
shl rbx, 5
add rbx, 0xfffffffffffffff8
lea ebp, [r15 - 1]
lea rdi, [r15 + 1]
jmp 0x489628
add r15, 0xffffffffffffffff
add rbx, 0xffffffffffffffe0
add ebp, 0xffffffff
add rdi, 0xffffffffffffffff
cmp rdi, 2
jle 0x48a483
mov rax, qword [r12 + 0x20]
mov rax, qword [rax + rbx]
movzx eax, word [rax + 0x72]
mov ecx, eax
xor ecx, 0xfffe
test cx, ax
jne 0x48960f
mov rcx, r12
mov edx, ebp
mov r8, rsi
xor r9d, r9d
call fcn.004651a0
test eax, eax
je 0x48960f
mov rdi, qword [rsp + 0x60]
jmp 0x48b7ff
mov rcx, r15
call fcn.00404550
mov rdi, rax
test rax, rax
je 0x484457
mov rcx, rdi
xor edx, edx
mov r8, r15
call fcn.005f4c10
lea r15, [rdi + 0x60]
mov r8d, dword [r13 - 0x50]
mov rdx, qword [r13 - 0x58]
mov rcx, r15
call fcn.005f4c20
movzx eax, byte [rdi + 0x60]
lea r12, [0x005fb0a0]
cmp byte [rax + r12], 0
mov qword [rsp + 0x88], rdi
jns 0x48aab6
mov r8, rbx
cmp al, 0x5b
movzx eax, al
mov edi, 0x5d
cmovne edi, eax
mov ecx, 1
xor edx, edx
mov rbx, r15
jmp 0x4896dc
mov byte [rbx], al
add rdx, 1
add ecx, 1
add rbx, 1
movsxd rax, ecx
movzx eax, byte [r15 + rax]
cmp al, dil
jne 0x4896cf
add ecx, 1
movsxd rax, ecx
cmp byte [r15 + rax], dil
jne 0x48aaa8
mov byte [rbx], dil
jmp 0x4896d1
mov rcx, r12
xor edx, edx
mov r8, r14
xor r9d, r9d
call fcn.004651a0
test eax, eax
je 0x487593
mov dword [rsi + 0x18], eax
add dword [rsi + 0x30], 1
jmp 0x491d07
xor eax, eax
mov qword [r13 - 0xb8], rax
jmp 0x491d07
test rsi, rsi
je 0x48a854
mov rcx, qword [rbx]
mov rdx, rsi
call fcn.00468370
jmp 0x48a854
test rsi, rsi
je 0x48a8b6
mov rcx, qword [rbx]
mov rdx, rsi
call fcn.00468370
jmp 0x48a8b6
xor edi, edi
mov rbp, r12
jmp 0x48db27
mov r8, r9
mov al, byte [rbp]
cmp al, 0x88
jae 0x48978c
cmp al, 0x87
lea rax, [0x00603a7c]
lea r9, [0x00603a97]
cmove r9, rax
jmp 0x4897ad
cmp al, 0x89
lea rcx, [0x00603a86]
lea rdx, [0x00603a97]
cmove rdx, rcx
cmp al, 0x88
lea r9, [0x00603a90]
cmovne r9, rdx
lea rdx, [0x00604828]
mov rcx, rdi
call fcn.00419aa0
mov eax, dword [r14 + 4]
mov ecx, eax
xor ecx, 0xfffffbff
test ecx, eax
jne 0x48bcb6
mov rax, qword [rdi]
mov eax, dword [rax + 0x98]
test eax, eax
jle 0x48bcb6
cmp esi, eax
jl 0x48bcb6
mov al, 1
test al, al
je 0x48bcb6
lea rdx, [0x00604858]
mov rcx, rdi
call fcn.00419aa0
mov qword [r13 - 0x28], r14
jmp 0x491d07
mov r8, r9
mov al, byte [rbp]
cmp al, 0x88
jae 0x48982b
cmp al, 0x87
lea rax, [0x00603a7c]
lea r9, [0x00603a97]
cmove r9, rax
jmp 0x48984c
cmp al, 0x89
lea rcx, [0x00603a86]
lea rdx, [0x00603a97]
cmove rdx, rcx
cmp al, 0x88
lea r9, [0x00603a90]
cmovne r9, rdx
lea rdx, [0x00604828]
mov rcx, rdi
call fcn.00419aa0
mov eax, dword [r14 + 4]
not eax
or eax, 0xfffffbff
cmp eax, 0xffffffff
je 0x489874
mov qword [r13 - 0x40], r14
jmp 0x491d07
mov rax, qword [rdi]
mov eax, dword [rax + 0x98]
test eax, eax
jle 0x48986b
cmp esi, eax
jl 0x48986b
mov al, 1
test al, al
je 0x48986b
lea rdx, [0x00604858]
mov rcx, rdi
call fcn.00419aa0
mov qword [r13 - 0x40], r14
jmp 0x491d07
cmp qword [r15 + 0x10], 0
mov rbx, qword [rsp + 0x60]
je 0x48b930
lea rdx, [0x00605c84]
mov rcx, rbx
call fcn.00419aa0
jmp 0x491d07
mov rbp, qword [r13 - 0x10]
test rbp, rbp
je 0x48ae2a
mov qword [rsp + 0x68], rax
mov ebx, dword [r13 - 8]
movabs rax, 0xccf1da636feacc3a
mov rcx, rbx
sub rcx, rax
lea rdx, [rcx + rax]
add rdx, 1
mov rcx, r12
call fcn.00429840
test rax, rax
je 0x48ae2a
mov rdi, rax
mov rcx, rax
mov rdx, rbp
mov r8, rbx
call fcn.005f4c20
mov byte [rdi + rbx], 0
movzx eax, byte [rdi]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x48e029
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
xor edx, edx
mov rsi, rdi
jmp 0x489955
mov byte [rsi], bl
add rdx, 1
add ecx, 1
add rsi, 1
movsxd rbp, ecx
movzx ebx, byte [rdi + rbp]
cmp bl, al
jne 0x489948
add ecx, 1
movsxd rbp, ecx
cmp byte [rdi + rbp], al
jne 0x48e021
mov byte [rsi], al
jmp 0x48994a
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0xd0], xmm0
cmp byte [rbx + 0x1e], 0
je 0x48ba27
mov rcx, qword [rbx]
mov edx, 0x48
call fcn.00429840
mov rsi, rax
test rax, rax
je 0x48cc50
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x40], 0
mov byte [rsi], 0xb0
mov word [rsi + 0x32], 0xffff
mov dword [rsi + 0x28], 1
mov rax, qword [rbx]
mov r8d, dword [rax + 0x94]
test r8d, r8d
jg 0x4899e9
lea rdx, [0x00603afc]
mov rcx, rbx
call fcn.00419aa0
mov qword [rdi], rsi
mov rcx, qword [rsp + 0xd0]
add rcx, 1
add rsi, 0x2c
mov rdx, rsi
call fcn.0047a900
jmp 0x491d07
test ebx, ebx
je 0x48ba4a
mov rcx, rdi
mov rdx, rsi
call fcn.004e1790
mov ebp, dword [rdi + 0x38]
add ebp, 1
mov dword [rdi + 0x38], ebp
mov rcx, rdi
call fcn.004c6120
test rax, rax
je 0x48d745
mov rsi, rax
movsxd rax, dword [rax + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x48d6d8
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 4
mov dword [rcx + rax*8 + 8], ebp
mov dword [rcx + rax*8 + 0xc], 0xffffffff
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x48d6f3
mov rcx, qword [rdi]
mov rdx, rax
call fcn.0050ce50
mov rcx, qword [r13 - 0x58]
mov qword [rcx + 0x20], rax
cmp dword [rdi + 0x30], 0
jne 0x491d07
mov r9, qword [r13 - 0x58]
mov rax, qword [r9 + 0x10]
test rax, rax
je 0x48ac54
mov ecx, dword [rax + 0x28]
jmp 0x48ac56
mov rax, qword [r13 - 0x10]
mov qword [rax + 8], 0
mov rdx, qword [r13 - 0x10]
test rdx, rdx
je 0x489ad5
mov rcx, qword [rdi]
call fcn.0047fbe0
mov rcx, qword [rdi]
mov edx, 0x48
call fcn.00429840
mov rbp, rax
test rax, rax
je 0x48bcbf
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x40], 0
mov byte [rbp], 0xae
mov word [rbp + 0x32], 0xffff
test rsi, rsi
je 0x48d509
mov qword [rbp + 0x10], rsi
mov eax, dword [rsi + 4]
mov ecx, eax
xor ecx, 0xffbffdf7
and ecx, eax
mov dword [rbp + 4], ecx
mov eax, dword [rsi + 0x28]
jmp 0x48d50b
mov r11, r8
movsxd r14, r11d
lea rdx, [r14 + 1]
call fcn.00429840
mov rbp, rax
test rax, rax
je 0x489b63
mov rcx, rbp
mov rdx, rbx
mov r8, r14
call fcn.005f4c20
mov byte [rbp + r14], 0
mov qword [r13], rbp
mov eax, dword [r15 + r12 + 0x1c]
not eax
or eax, 3
neg eax
mov dword [r15 + r12 + 0x1c], eax
mov r13, qword [rsp + 0x90]
jmp 0x491d07
xor eax, eax
lea ecx, [rax + 1]
mov dword [rsi + 0x28], ecx
mov rcx, qword [rdi]
mov r8d, dword [rcx + 0x94]
cmp r8d, eax
jg 0x489bab
lea rdx, [0x00603afc]
mov rcx, rdi
call fcn.00419aa0
mov qword [r13 - 0x58], rsi
mov rax, qword [rsi + 0x10]
cmp byte [rax], 0xb1
jne 0x489c6d
mov r14, qword [r13 - 0x10]
cmp dword [r14], 0
jle 0x48b920
mov rax, qword [rax + 0x20]
mov r15d, dword [rax]
lea rbx, [r14 + 8]
xor esi, esi
xorps xmm6, xmm6
xor ebp, ebp
jmp 0x489bf8
mov r12, rbp
add rsi, 1
movsxd rax, dword [r14]
add rbx, 0x20
mov rbp, r12
cmp rsi, rax
jge 0x48b83f
mov rdi, qword [rbx]
mov r8d, 1
cmp byte [rdi], 0xb1
jne 0x489c0d
mov rax, qword [rdi + 0x20]
mov r8d, dword [rax]
cmp r8d, r15d
jne 0x48b810
mov rdx, qword [rdi + 0x20]
movups xmmword [rsp + 0x20], xmm6
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0x200
mov qword [rsp + 0x30], 0
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
xor r9d, r9d
call fcn.004aa3b0
mov qword [rdi + 0x20], 0
test rax, rax
je 0x489bde
mov r12, rax
test rbp, rbp
je 0x489be1
mov byte [r12], 0x87
mov qword [r12 + 0x50], rbp
jmp 0x489be1
mov rax, qword [r13 - 0x10]
mov qword [rsi + 0x20], rax
cmp dword [rdi + 0x30], 0
jne 0x490aff
mov r8, qword [r13 - 0x58]
mov rax, qword [r8 + 0x10]
test rax, rax
je 0x48d8d8
mov ecx, dword [rax + 0x28]
jmp 0x48d8da
lea rdx, [0x005ff042]
jmp 0x491cde
xor edi, edi
jmp 0x48bbcd
xor eax, eax
lea ecx, [rax + 1]
mov dword [rsi + 0x28], ecx
mov rcx, qword [rdi]
mov r8d, dword [rcx + 0x94]
cmp r8d, eax
jle 0x489ccb
mov qword [r13 - 0x10], rsi
jmp 0x491d07
lea rdx, [0x00603afc]
mov rcx, rdi
call fcn.00419aa0
mov qword [r13 - 0x10], rsi
jmp 0x491d07
lea rdx, [0x005ff0a1]
jmp 0x491613
mov eax, 1
jmp 0x48b12c
xor eax, eax
lea ecx, [rax + 1]
mov dword [rsi + 0x28], ecx
mov rcx, qword [rdi]
mov r8d, dword [rcx + 0x94]
cmp r8d, eax
jg 0x489d1f
lea rdx, [0x00603afc]
mov rcx, rdi
call fcn.00419aa0
mov r9d, dword [r13 - 8]
add r9, qword [r13 - 0x10]
mov r8, qword [r13 - 0x28]
mov rcx, rdi
mov rdx, rsi
call fcn.004993c0
jmp 0x491d07
xor eax, eax
lea ecx, [rax + 1]
mov dword [rsi + 0x28], ecx
mov rcx, qword [rdi]
mov r8d, dword [rcx + 0x94]
cmp r8d, eax
jg 0x48b4cf
lea rdx, [0x00603afc]
mov rcx, rdi
call fcn.00419aa0
mov qword [r13 - 0x28], rsi
jmp 0x491d07
xor eax, eax
lea ecx, [rax + 1]
mov dword [r14 + 0x28], ecx
mov rcx, qword [rsi]
mov r8d, dword [rcx + 0x94]
cmp r8d, eax
jg 0x489d95
lea rdx, [0x00603afc]
mov rcx, rsi
call fcn.00419aa0
mov qword [r13 - 0x58], r14
mov rax, qword [r13 - 0x10]
mov qword [r14 + 0x20], rax
mov edx, dword [r14 + 4]
mov ebp, edx
not ebp
and ebp, 0xfed2b2b6
mov ecx, edx
and ecx, 0x12d4d49
or ecx, ebp
xor ecx, 0xfe92a2b6
and edx, section..text
or edx, ecx
mov dword [r14 + 4], edx
cmp dword [rsi + 0x30], 0
jne 0x48c021
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x48bfe0
mov ecx, dword [rcx + 0x28]
jmp 0x48bfe2
mov ecx, 0x18
call fcn.00404550
test rax, rax
je 0x489f5a
mov rcx, qword [rdi + 0xb8]
mov qword [rax], rcx
mov qword [rdi + 0xb8], rax
mov qword [rax + 8], rsi
lea rcx, [0x00468e10]
mov qword [rax + 0x10], rcx
cmp dword [rdi + 0x30], 0
jne 0x491d07
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx + 0x188]
mov qword [rsi + 8], rax
mov qword [rcx + 0x188], rsi
jmp 0x491d07
xor eax, eax
lea ecx, [rax + 1]
mov dword [rbp + 0x28], ecx
mov rcx, qword [rbx]
mov r8d, dword [rcx + 0x94]
cmp r8d, eax
jg 0x489e69
lea rdx, [0x00603afc]
mov rcx, rbx
call fcn.00419aa0
mov qword [rdi], rbp
mov qword [rbp + 0x20], r14
cmp dword [r13 - 0x40], 0
je 0x491d07
mov rbp, qword [rdi]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbx]
mov edx, 0x48
call fcn.00429840
mov rsi, rax
test rax, rax
je 0x489faf
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x40], 0
mov byte [rsi], 0x13
mov word [rsi + 0x32], 0xffff
test rbp, rbp
je 0x48b0ee
mov qword [rsi + 0x10], rbp
mov eax, dword [rbp + 4]
mov ecx, eax
xor ecx, 0xffbffdf7
and ecx, eax
mov dword [rsi + 4], ecx
mov eax, dword [rbp + 0x28]
jmp 0x48b0f0
xor eax, eax
lea ecx, [rax + 1]
mov dword [r14 + 0x28], ecx
mov rcx, qword [rbx]
mov r8d, dword [rcx + 0x94]
cmp r8d, eax
jg 0x489f0b
lea rdx, [0x00603afc]
mov rcx, rbx
call fcn.00419aa0
mov qword [r15], r14
mov qword [r14 + 0x20], rsi
mov eax, dword [r14 + 4]
mov ecx, eax
not ecx
and ecx, 0x6b97a525
mov edx, eax
and edx, 0x94685ada
or edx, ecx
xor edx, 0x6bd7b525
and eax, section..text
or eax, edx
mov dword [r14 + 4], eax
cmp dword [rbx + 0x30], 0
jne 0x48c1dd
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x48c19c
mov eax, dword [rax + 0x28]
jmp 0x48c19e
mov rbx, qword [rdi]
cmp dword [rsi], 0
jle 0x489fc8
lea rdi, [rsi + 0x20]
xor ebp, ebp
jmp 0x489f86
mov rdx, qword [rdi - 0x10]
mov rcx, rbx
call fcn.00408130
add rbp, 1
movsxd rax, dword [rsi]
add rdi, 0x30
cmp rbp, rax
jge 0x489fc8
mov rdx, qword [rdi - 8]
test rdx, rdx
je 0x489f97
mov rcx, rbx
call fcn.0047fbe0
mov rdx, qword [rdi]
test rdx, rdx
je 0x489f6a
mov rcx, rbx
mov r8d, 1
call fcn.00468620
jmp 0x489f6a
test rbp, rbp
je 0x48b105
mov rcx, qword [rbx]
mov rdx, rbp
call fcn.00468370
jmp 0x48b105
mov rcx, rbx
mov rdx, rsi
call fcn.00408130
jmp 0x491d07
xor edi, edi
mov qword [rsi], rdi
mov byte [rsi + 0x28], r12b
mov qword [r13 - 0x70], rsi
jmp 0x491d07
cmp qword [r15 + 0x1f0], rbp
jbe 0x48a00d
cmp qword [r15 + 0x1e0], rbp
jbe 0x48d54c
cmp qword [r15 + 0x1e8], rbp
jbe 0x48e6c7
cmp dword [0x005f6010], 0
je 0x48a447
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x48a02c
call qword [0x005f6090]
mov rcx, rbp
call qword [0x005f6048]
cdqe
sub qword [0x0213b040], rax
movabs rax, 0xa17ea6ad94b5b5d7
mov rcx, rax
not rcx
add rcx, qword [0x0213b088]
add rcx, rax
mov qword [0x0213b088], rcx
mov rcx, rbp
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x48e6d9
call qword [0x005f60a0]
jmp 0x48e6d9
add rax, rdx
lea rdx, [0x005ff042]
jmp 0x491756
add rax, rdx
lea rdx, [0x005ff0a1]
jmp 0x4908aa
test r14, r14
je 0x48ade7
mov rcx, qword [rbx]
lea rdx, [rbp + 1]
call fcn.00429840
test rax, rax
je 0x48ade7
mov rdi, rax
mov rcx, rax
mov rdx, r14
mov r8, rbp
call fcn.005f4c20
mov byte [rdi + rbp], 0
movzx eax, byte [rdi]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x48d102
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
xor edx, edx
mov rsi, rdi
jmp 0x48a10e
mov byte [rsi], bl
add rdx, 1
add ecx, 1
add rsi, 1
movsxd rbp, ecx
movzx ebx, byte [rdi + rbp]
cmp bl, al
jne 0x48a101
add ecx, 1
movsxd rbp, ecx
cmp byte [rdi + rbp], al
jne 0x48d0fa
mov byte [rsi], al
jmp 0x48a103
cmp rbp, 0x81
jb 0x48a148
mov rcx, r15
mov rdx, rax
mov r8, rbp
call fcn.00429900
test rax, rax
je 0x48a16b
movsxd rcx, dword [r12 + 0x40]
lea edx, [rcx + 1]
mov dword [r12 + 0x40], edx
mov qword [rax + rcx*8], rdi
movsxd rcx, edx
mov qword [rax + rcx*8], 0
mov qword [r12 + 0x48], rax
jmp 0x48a176
mov rcx, r15
mov rdx, rdi
call fcn.00408130
mov rsi, qword [rbx]
mov eax, dword [r12 + 0x40]
lea ecx, [rax + 2]
movsxd rbp, ecx
add eax, 3
cmp eax, dword [rsi + 0x90]
jl 0x48a1a2
mov r8, qword [r12]
lea rdx, [0x005ff0ef]
mov rcx, rbx
call fcn.00419aa0
shl rbp, 3
mov rax, qword [r12 + 0x48]
test rax, rax
je 0x48a1d9
cmp qword [rsi + 0x1f0], rax
jbe 0x48a1ef
cmp qword [rsi + 0x1e0], rax
jbe 0x48a1e6
cmp qword [rsi + 0x1e8], rax
ja 0x48a1ef
movzx ecx, word [rsi + 0x1a6]
cmp rbp, rcx
ja 0x48a1ef
jmp 0x48a202
mov rcx, rsi
mov rdx, rbp
call fcn.00429840
jmp 0x48a1fd
cmp rbp, 0x81
jb 0x48a202
mov rcx, rsi
mov rdx, rax
mov r8, rbp
call fcn.00429900
test rax, rax
je 0x48a227
movsxd rcx, dword [r12 + 0x40]
lea edx, [rcx + 1]
mov dword [r12 + 0x40], edx
mov qword [rax + rcx*8], 0
movsxd rcx, edx
mov qword [rax + rcx*8], 0
mov qword [r12 + 0x48], rax
mov rsi, qword [r12]
test rsi, rsi
je 0x48a271
mov rcx, rsi
call fcn.005f4bd8
mov rbp, rax
add rbp, 1
test r14, r14
je 0x48a251
mov rcx, r14
mov rdx, rbp
call fcn.00429840
jmp 0x48a259
mov rcx, rbp
call fcn.00404550
mov r15, rax
test rax, rax
je 0x48a271
mov rcx, r15
mov rdx, rsi
mov r8, rbp
call fcn.005f4c20
jmp 0x48a274
xor r15d, r15d
mov rbp, qword [rbx]
mov eax, dword [r12 + 0x40]
lea ecx, [rax + 2]
movsxd rsi, ecx
add eax, 3
cmp eax, dword [rbp + 0x90]
jl 0x48a2a0
mov r8, qword [r12]
lea rdx, [0x005ff0ef]
mov rcx, rbx
call fcn.00419aa0
shl rsi, 3
mov rax, qword [r12 + 0x48]
test rax, rax
je 0x48a2d7
cmp qword [rbp + 0x1f0], rax
jbe 0x48a2ed
cmp qword [rbp + 0x1e0], rax
jbe 0x48a2e4
cmp qword [rbp + 0x1e8], rax
ja 0x48a2ed
movzx ecx, word [rbp + 0x1a6]
cmp rsi, rcx
ja 0x48a2ed
jmp 0x48a300
mov rcx, rbp
mov rdx, rsi
call fcn.00429840
jmp 0x48a2fb
cmp rsi, 0x81
jb 0x48a300
mov rcx, rbp
mov rdx, rax
mov r8, rsi
call fcn.00429900
test rax, rax
je 0x48a323
movsxd rcx, dword [r12 + 0x40]
lea edx, [rcx + 1]
mov dword [r12 + 0x40], edx
mov qword [rax + rcx*8], r15
movsxd rcx, edx
mov qword [rax + rcx*8], 0
mov qword [r12 + 0x48], rax
jmp 0x48a32e
mov rcx, rbp
mov rdx, r15
call fcn.00408130
mov eax, dword [r13 + 8]
add eax, dword [r13 + 0x10]
sub eax, dword [rbx + 0x100]
mov dword [rbx + 0x108], eax
mov rax, qword [r12 + 0x48]
test rax, rax
je 0x491d07
mov rdx, qword [r12 + 0x60]
test rdx, rdx
je 0x48a390
movabs rcx, 0xffffffff00000000
mov ebp, 0xffffffff
mov rbx, qword [r14 + 0x20]
add rbx, 0x18
xor edi, edi
add rdi, 1
lea rsi, [rbx + 0x20]
add rcx, rbp
add rcx, 1
cmp qword [rbx], rdx
mov rbx, rsi
jne 0x48a373
sar rcx, 0x20
jmp 0x48a397
mov rcx, 0xffffffffffff8000
mov rdx, qword [rsp + 0x60]
mov rdx, qword [rdx]
mov rbp, qword [rdx + 0x1f8]
test rbp, rbp
je 0x491d07
cmp byte [rdx + 0xc5], 0
jne 0x491d07
mov rbx, qword [rsp + 0x60]
cmp byte [rbx + 0x124], 0
jne 0x491d07
mov r8, qword [r12]
mov r9, qword [rax]
shl rcx, 5
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + rcx]
mov rcx, qword [rdx + 0x200]
mov rsi, qword [rsp + 0x60]
mov rdx, qword [rsi + 0x168]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov edx, 0x1d
call rbp
cmp eax, 1
jne 0x48e281
lea rdx, [0x005ff140]
jmp 0x48c978
mov ecx, 0x20
call fcn.00404550
test rax, rax
je 0x48be89
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov qword [rax + 0x18], 0
mov qword [rax], rdi
movups xmm0, xmmword [rsi]
jmp 0x48ba0c
mov rcx, rbp
call qword [0x005f6038]
jmp 0x48e6d9
and r14d, 1
jne 0x48a45f
and byte [rcx + 0x2c], 0xfe
cmp byte [rcx + 0x6f], 0
mov rdi, qword [rsp + 0x60]
je 0x485129
mov eax, dword [rcx + 0x2c]
mov edx, eax
and edx, 0x10
xor eax, 0x10
or eax, edx
mov dword [rcx + 0x2c], eax
jmp 0x485129
and r14d, 1
jne 0x48a49a
mov eax, dword [r12 + 0x2c]
mov ecx, eax
xor ecx, 1
and ecx, eax
mov dword [r12 + 0x2c], ecx
cmp byte [r12 + 0x6f], 0
mov rdi, qword [rsp + 0x60]
mov ebx, dword [rsp + 0x70]
mov r14, qword [rsp + 0x68]
je 0x487414
mov eax, dword [r12 + 0x2c]
mov ecx, eax
not ecx
and ecx, 0x2214853f
mov edx, eax
and edx, 0xddeb7ac0
or edx, ecx
xor edx, 0x2214852f
and eax, 0x10
or eax, edx
mov dword [r12 + 0x2c], eax
jmp 0x487414
mov byte [rsi], 0
mov rbx, qword [rsp + 0x60]
jmp 0x486ee7
test r12d, r12d
jle 0x48a52c
mov dword [rsp + 0x70], edi
movabs rcx, 0xed135a0402284a4c
mov rdx, rcx
not rdx
add rdx, r12
add rdx, rcx
mov ebx, r12d
xor ebx, 0xfffffffc
and ebx, r12d
cmp rdx, 3
jae 0x48d2b5
xor r8d, r8d
xor r9d, r9d
jmp 0x48d46c
xor ecx, ecx
jmp 0x48d4e9
mov rcx, qword [rcx + 0x200]
mov rdi, qword [rsp + 0x60]
mov rdx, qword [rdi + 0x168]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 0
mov edx, 0x16
xor r9d, r9d
call rax
cmp eax, 1
jne 0x48c3a4
lea rdx, [0x005ff140]
mov rcx, rdi
call fcn.00419aa0
mov dword [rdi + 0x18], 0x17
jmp 0x491d07
xor ecx, ecx
mov rbp, qword [rsp + 0x60]
mov rdx, qword [r14 + 0x18]
test rdx, rdx
je 0x48a59a
mov edx, dword [rdx + 0x28]
cmp edx, ecx
cmovge ecx, edx
test rax, rax
jne 0x48a5b6
jmp 0x48a6e6
mov rax, qword [rax + 0x50]
test rax, rax
mov rbp, qword [rsp + 0x60]
je 0x48a6e6
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x48a5c7
mov edx, dword [rdx + 0x28]
cmp edx, ecx
cmovge ecx, edx
mov rdx, qword [rax + 0x40]
test rdx, rdx
je 0x48a5d8
mov edx, dword [rdx + 0x28]
cmp edx, ecx
cmovge ecx, edx
mov rdx, qword [rax + 0x60]
test rdx, rdx
je 0x48a5e9
mov edx, dword [rdx + 0x28]
cmp edx, ecx
cmovge ecx, edx
mov rdx, qword [rax + 0x20]
test rdx, rdx
je 0x48a635
mov edi, dword [rdx]
test edi, edi
jle 0x48a635
add rdx, 8
xor ebx, ebx
mov ebp, edi
jmp 0x48a620
add rbx, 1
movsxd rsi, ebp
add rdx, 0x20
cmp rbx, rsi
jge 0x48a635
mov rsi, qword [rdx]
test rsi, rsi
je 0x48a610
mov esi, dword [rsi + 0x28]
cmp esi, ecx
cmovg ecx, esi
cmovg ebp, edi
jmp 0x48a610
mov rdx, qword [rax + 0x38]
test rdx, rdx
je 0x48a675
mov edi, dword [rdx]
test edi, edi
jle 0x48a675
add rdx, 8
xor ebx, ebx
mov ebp, edi
jmp 0x48a660
add rbx, 1
movsxd rsi, ebp
add rdx, 0x20
cmp rbx, rsi
jge 0x48a675
mov rsi, qword [rdx]
test rsi, rsi
je 0x48a650
mov esi, dword [rsi + 0x28]
cmp esi, ecx
cmovg ecx, esi
cmovg ebp, edi
jmp 0x48a650
mov rdx, qword [rax + 0x48]
test rdx, rdx
je 0x48a5a4
mov ebx, dword [rdx]
test ebx, ebx
jle 0x48a5a4
add rdx, 8
mov ebp, ebx
xor edi, edi
jmp 0x48a6b4
add rdi, 1
movsxd rsi, ebp
add rdx, 0x20
cmp rdi, rsi
jge 0x48a5a4
mov rsi, qword [rdx]
test rsi, rsi
je 0x48a6a0
mov esi, dword [rsi + 0x28]
cmp esi, ecx
cmovg ecx, esi
cmovg ebp, ebx
jmp 0x48a6a0
xor ecx, ecx
mov rbp, qword [rsp + 0x60]
mov rdx, qword [r14 + 0x18]
test rdx, rdx
je 0x48a6e1
mov edx, dword [rdx + 0x28]
cmp edx, ecx
cmovge ecx, edx
test rax, rax
jne 0x48a714
lea eax, [rcx + 1]
mov dword [r14 + 0x28], eax
mov rax, qword [rbp]
mov r8d, dword [rax + 0x94]
cmp r8d, ecx
jle 0x48f68a
jmp 0x491d07
mov rax, qword [rax + 0x50]
test rax, rax
mov rbp, qword [rsp + 0x60]
je 0x48a6e6
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x48a725
mov edx, dword [rdx + 0x28]
cmp edx, ecx
cmovge ecx, edx
mov rdx, qword [rax + 0x40]
test rdx, rdx
je 0x48a736
mov edx, dword [rdx + 0x28]
cmp edx, ecx
cmovge ecx, edx
mov rdx, qword [rax + 0x60]
test rdx, rdx
je 0x48a747
mov edx, dword [rdx + 0x28]
cmp edx, ecx
cmovge ecx, edx
mov rdx, qword [rax + 0x20]
test rdx, rdx
je 0x48a785
mov edi, dword [rdx]
test edi, edi
jle 0x48a785
add rdx, 8
xor ebx, ebx
mov ebp, edi
jmp 0x48a770
add rbx, 1
movsxd rsi, ebp
add rdx, 0x20
cmp rbx, rsi
jge 0x48a785
mov rsi, qword [rdx]
test rsi, rsi
je 0x48a760
mov esi, dword [rsi + 0x28]
cmp esi, ecx
cmovg ecx, esi
cmovg ebp, edi
jmp 0x48a760
mov rdx, qword [rax + 0x38]
test rdx, rdx
je 0x48a7c5
mov edi, dword [rdx]
test edi, edi
jle 0x48a7c5
add rdx, 8
xor ebx, ebx
mov ebp, edi
jmp 0x48a7b0
add rbx, 1
movsxd rsi, ebp
add rdx, 0x20
cmp rbx, rsi
jge 0x48a7c5
mov rsi, qword [rdx]
test rsi, rsi
je 0x48a7a0
mov esi, dword [rsi + 0x28]
cmp esi, ecx
cmovg ecx, esi
cmovg ebp, edi
jmp 0x48a7a0
mov rdx, qword [rax + 0x48]
test rdx, rdx
je 0x48a706
mov edi, dword [rdx]
test edi, edi
jle 0x48a706
add rdx, 8
xor ebx, ebx
mov ebp, edi
jmp 0x48a804
add rbx, 1
movsxd rsi, ebp
add rdx, 0x20
cmp rbx, rsi
jge 0x48a706
mov rsi, qword [rdx]
test rsi, rsi
je 0x48a7f0
mov esi, dword [rsi + 0x28]
cmp esi, ecx
cmovg ecx, esi
cmovg ebp, edi
jmp 0x48a7f0
mov ebx, dword [rdi + 0x120]
add ebx, 1
mov word [rdi + 0x120], bx
jmp 0x48fa41
xor eax, eax
lea ecx, [rax + 1]
mov dword [rbp + 0x28], ecx
mov rcx, qword [rbx]
mov r8d, dword [rcx + 0x94]
cmp r8d, eax
jg 0x48a854
lea rdx, [0x00603afc]
mov rcx, rbx
call fcn.00419aa0
mov qword [r13 - 0x28], rbp
mov rsi, rbp
test rsi, rsi
je 0x491d07
mov eax, dword [rsi + 4]
mov ecx, eax
not ecx
and ecx, 0x841f5e61
mov edx, eax
and edx, 0x7be0a19e
or edx, ecx
xor edx, 0x841f5f61
and eax, 0x100
or eax, edx
mov dword [rsi + 4], eax
jmp 0x491d07
xor eax, eax
lea ecx, [rax + 1]
mov dword [rbp + 0x28], ecx
mov rcx, qword [rbx]
mov r8d, dword [rcx + 0x94]
cmp r8d, eax
jg 0x48a8b6
lea rdx, [0x00603afc]
mov rcx, rbx
call fcn.00419aa0
mov qword [r13 - 0x58], rbp
mov rsi, rbp
test rsi, rsi
je 0x491d07
mov eax, dword [rsi + 4]
mov ecx, eax
and ecx, 0x100
xor eax, 0x100
or eax, ecx
mov dword [rsi + 4], eax
jmp 0x491d07
xor eax, eax
mov rcx, qword [r14 + 0x18]
test rcx, rcx
jne 0x4890aa
jmp 0x4890b2
mov rcx, qword [r15 + 0x50]
test rcx, rcx
je 0x4893e4
cmp dword [rcx], eax
jl 0x4893e4
add eax, 0xffffffff
cdqe
shl rax, 5
mov rdi, qword [rcx + rax + 8]
jmp 0x4893e6
mov byte [rbx], 0
lea rax, [r13 - 0x88]
mov qword [rsp + 0xa0], rax
mov qword [rsi + 0x18], r15
mov rdi, rsi
mov byte [rsi], 0x81
add r14, 0xffffffffffffffff
movzx eax, byte [r14 + 1]
add r14, 1
movzx eax, byte [rax + r12]
mov ecx, eax
xor cl, 0xfe
test cl, al
jne 0x48a93c
movabs rbx, 0x684270ee006873c6
mov eax, 0xffffffff
movabs rcx, 0xd9be14fe7f078471
mov rdx, qword [rsp + 0x70]
sub rdx, rcx
sub rdx, r14
add rdx, rcx
mov ecx, edx
not ecx
not rax
or rax, rcx
not rax
xor ecx, ecx
test edx, edx
cmovs rcx, rdx
movabs rdx, 0xffffffff00000000
sub rdx, rax
mov ebp, ebx
not ebp
or ebp, ebx
mov r15, qword [rsp + 0x78]
test eax, eax
jle 0x48a9db
mov ebx, 0xffffffff
not ebx
or ebx, edx
not ebx
and ebx, ebp
movzx ebx, byte [r14 + rbx]
movzx ebx, byte [rbx + r12]
not bl
or bl, 0xfe
add rax, 0xffffffffffffffff
add rdx, 1
cmp bl, 0xff
jne 0x48a9a7
add rax, 1
mov rcx, rax
movsxd rsi, ecx
lea rdx, [rsi + 1]
mov rcx, r15
call fcn.00429840
mov rbp, rax
test rax, rax
mov r8, qword [rsp + 0x60]
je 0x48aa49
mov rcx, rbp
mov rdx, r14
mov rbx, r8
mov r8, rsi
call fcn.005f4c20
mov r8, rbx
mov byte [rbp + rsi], 0
mov dl, byte [rbp]
test dl, dl
je 0x48aa49
mov rax, rbp
add rax, 1
xor ecx, ecx
jmp 0x48aa31
add rcx, 1
movzx edx, byte [rax]
add rax, 1
test dl, dl
je 0x48aa49
movzx edx, dl
movzx edx, byte [rdx + r12]
not dl
or dl, 0xfe
cmp dl, 0xff
je 0x48aa22
mov byte [rax - 1], 0x20
jmp 0x48aa22
mov qword [rdi + 0x48], rbp
mov al, byte [r8 + 0x124]
cmp al, 2
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x98]
mov r14b, byte [rsp + 0x68]
mov rbp, qword [rsp + 0x88]
jb 0x48dad8
cmp al, 3
je 0x48dabb
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x70], rax
mov r12, r8
mov rcx, qword [r8]
test rcx, rcx
je 0x48da71
mov edx, 0x20
call fcn.00429840
jmp 0x48da7b
mov byte [rbx], 0
mov rdi, qword [rsp + 0x88]
mov rbx, r8
mov byte [rsp + 0xa0], bpl
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x80], rsi
lea rax, [r13 - 0x58]
mov qword [rsp + 0xb0], rax
mov qword [rdi + 0x18], r15
mov byte [rdi], 0x7f
add r14, 0xffffffffffffffff
movzx eax, byte [r14 + 1]
add r14, 1
movzx eax, byte [rax + r12]
mov ecx, eax
xor cl, 0xfe
test cl, al
jne 0x48aae5
movabs r9, 0x7cca26e9d6ce1c5
mov eax, 0xffffffff
movabs rcx, 0xf33d8e5b5b8d4b0b
mov rdx, qword [rsp + 0x78]
sub rdx, rcx
sub rdx, r14
add rdx, rcx
mov rcx, rdx
xor rcx, rax
not rcx
and rcx, rdx
xor r8d, r8d
test edx, edx
cmovs r8, rdx
movabs rdi, 0xffffffff00000000
sub rdi, rcx
lea rbx, [rcx + rax]
lea r10, [rcx + 1]
test ecx, ecx
jle 0x48ab8b
mov ebp, 0xffffffff
not ebp
mov esi, r9d
not esi
or ebp, edi
or esi, r9d
not ebp
and ebp, esi
movzx ebp, byte [r14 + rbp]
movzx edx, byte [rbp + r12]
mov eax, edx
xor al, 0xfe
add rcx, 0xffffffffffffffff
add rdi, 1
add rbx, 0xffffffffffffffff
add r10, 0xffffffffffffffff
test al, dl
jne 0x48ab4d
jmp 0x48ab8e
mov r10, r8
movsxd r15, r10d
lea rdx, [r15 + 1]
mov rcx, qword [rsp + 0x68]
call fcn.00429840
mov rbp, rax
test rax, rax
mov rsi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x88]
je 0x48ac09
mov rcx, rbp
mov rdx, r14
mov r8, r15
call fcn.005f4c20
mov byte [rbp + r15], 0
mov dl, byte [rbp]
test dl, dl
je 0x48ac09
mov rax, rbp
add rax, 1
xor ecx, ecx
jmp 0x48abf1
add rcx, 1
movzx edx, byte [rax]
add rax, 1
test dl, dl
je 0x48ac09
movzx edx, dl
movzx edx, byte [rdx + r12]
not dl
or dl, 0xfe
cmp dl, 0xff
je 0x48abe2
mov byte [rax - 1], 0x20
jmp 0x48abe2
mov qword [rdi + 0x48], rbp
mov al, byte [rsi + 0x124]
cmp al, 2
mov r15, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
jb 0x48dbbd
cmp al, 3
je 0x48dba0
mov rax, qword [rsp + 0x88]
mov rdi, qword [rax + 0x18]
mov rcx, qword [rsi]
test rcx, rcx
je 0x48db5e
mov edx, 0x20
call fcn.00429840
jmp 0x48db68
xor ecx, ecx
mov rbp, qword [rsp + 0x60]
mov rax, qword [r9 + 0x18]
test rax, rax
je 0x48ac6c
mov eax, dword [rax + 0x28]
cmp eax, ecx
cmovge ecx, eax
mov r10d, dword [r9 + 4]
mov eax, r10d
not eax
or eax, 0xffffefff
cmp eax, 0xffffffff
je 0x48ad9c
mov rdx, qword [r9 + 0x20]
test rdx, rdx
jne 0x48aca3
jmp 0x48f66f
mov rdx, qword [rdx + 0x50]
test rdx, rdx
mov rbp, qword [rsp + 0x60]
je 0x48f66f
mov rax, qword [rdx + 0x30]
test rax, rax
je 0x48acb4
mov eax, dword [rax + 0x28]
cmp eax, ecx
cmovge ecx, eax
mov rax, qword [rdx + 0x40]
test rax, rax
je 0x48acc5
mov eax, dword [rax + 0x28]
cmp eax, ecx
cmovge ecx, eax
mov rax, qword [rdx + 0x60]
test rax, rax
je 0x48acd6
mov eax, dword [rax + 0x28]
cmp eax, ecx
cmovge ecx, eax
mov rax, qword [rdx + 0x20]
test rax, rax
je 0x48ad14
mov edi, dword [rax]
test edi, edi
jle 0x48ad14
add rax, 8
xor ebx, ebx
mov ebp, edi
jmp 0x48acff
add rbx, 1
movsxd rsi, ebp
add rax, 0x20
cmp rbx, rsi
jge 0x48ad14
mov rsi, qword [rax]
test rsi, rsi
je 0x48acef
mov esi, dword [rsi + 0x28]
cmp esi, ecx
cmovg ecx, esi
cmovg ebp, edi
jmp 0x48acef
mov rax, qword [rdx + 0x38]
test rax, rax
je 0x48ad52
mov edi, dword [rax]
test edi, edi
jle 0x48ad52
add rax, 8
xor ebx, ebx
mov ebp, edi
jmp 0x48ad3d
add rbx, 1
movsxd rsi, ebp
add rax, 0x20
cmp rbx, rsi
jge 0x48ad52
mov rsi, qword [rax]
test rsi, rsi
je 0x48ad2d
mov esi, dword [rsi + 0x28]
cmp esi, ecx
cmovg ecx, esi
cmovg ebp, edi
jmp 0x48ad2d
mov rax, qword [rdx + 0x48]
test rax, rax
je 0x48ac91
mov ebx, dword [rax]
test ebx, ebx
jle 0x48ac91
add rax, 8
mov ebp, ebx
xor edi, edi
jmp 0x48ad87
add rdi, 1
movsxd rsi, ebp
add rax, 0x20
cmp rdi, rsi
jge 0x48ac91
mov rsi, qword [rax]
test rsi, rsi
je 0x48ad73
mov esi, dword [rsi + 0x28]
cmp esi, ecx
cmovg ecx, esi
cmovg ebp, ebx
jmp 0x48ad73
mov r8, qword [r9 + 0x20]
test r8, r8
je 0x48f66f
mov edx, dword [r8]
test edx, edx
jle 0x48de1c
lea rax, [r8 + 8]
xor ebx, ebx
mov edi, edx
jmp 0x48add2
add rbx, 1
movsxd rsi, edi
add rax, 0x20
cmp rbx, rsi
jge 0x48c8c0
mov rsi, qword [rax]
test rsi, rsi
je 0x48adbe
mov esi, dword [rsi + 0x28]
cmp esi, ecx
cmovg ecx, esi
cmovg edi, edx
jmp 0x48adbe
xor edi, edi
jmp 0x48d102
lea rdx, [0x00606171]
mov rcx, rsi
call fcn.00419aa0
jmp 0x48ae12
mov rcx, rsi
mov rdx, rdi
call fcn.00520f10
test eax, eax
je 0x48cc58
mov rcx, r13
mov rdx, r14
call fcn.004688d0
mov r13, qword [rsp + 0x90]
jmp 0x491d07
xor edi, edi
mov rcx, r12
mov rdx, rdi
call fcn.00408130
lea rdx, [0x0060308d]
mov rcx, rsi
mov r8, r14
call fcn.00419aa0
jmp 0x491d07
lea r8, [r11 + 1]
xor r9d, r9d
lea rbp, [0x005fade0]
xor eax, eax
cmp r9d, 2
setb al
mov edx, r9d
not edx
and edx, eax
not eax
and eax, r9d
or eax, edx
shl rax, 5
mov rcx, qword [rsp + 0x68]
mov r10, qword [rcx + rax + 0x18]
mov r15, qword [r10 + 0x48]
test r15, r15
je 0x48aecc
mov bl, byte [r11]
xor eax, eax
test bl, bl
je 0x48aeb0
mov rdx, r8
movzx ebx, bl
movzx ebx, byte [rbx + rbp]
add ebx, eax
imul eax, ebx, 0x9e3779b1
movzx ebx, byte [rdx]
add rdx, 1
test bl, bl
jne 0x48ae96
xor edx, edx
div dword [r10 + 0x38]
shl rdx, 4
lea r10, [r15 + rdx]
add r10, 8
add rdx, r15
mov rdi, qword [rsp + 0x60]
jmp 0x48aed4
lea rdx, [r10 + 0x3c]
add r10, 0x40
mov r14d, dword [rdx]
lea rdx, [0x0213b3c8]
test r14d, r14d
je 0x48af2a
mov r10, qword [r10]
add r14d, 0xffffffff
mov rdx, qword [r10 + 0x18]
xor ebx, ebx
jmp 0x48aeff
movzx ecx, byte [rdi + rbp]
cmp cl, byte [rax + rbp]
jne 0x48af14
add rbx, 1
movzx edi, byte [rdx + rbx]
movzx eax, byte [r11 + rbx]
cmp dil, al
jne 0x48aef2
test dil, dil
jne 0x48aefb
jmp 0x48af22
test r14d, r14d
jne 0x48aee3
lea rdx, [0x0213b3c8]
jmp 0x48af25
mov rdx, r10
mov rdi, qword [rsp + 0x60]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
jne 0x48c604
add r9d, 1
cmp r9d, dword [rsp + 0x70]
jl 0x48ae5c
jmp 0x48c623
mov rax, qword [r15 + 0x30]
mov rcx, qword [r12 + 0x20]
test rax, rax
je 0x48cd04
lea rdx, [rcx + 0x18]
mov ebp, 0xffffffff
xor ebx, ebx
add rbx, 1
add ebp, 1
lea rdi, [rdx + 0x20]
cmp qword [rdx], rax
mov rdx, rdi
jne 0x48af68
jmp 0x48cd09
xor edi, edi
mov r14, rbx
jmp 0x48bbcd
mov byte [rsi], 0
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.004c6120
test rax, rax
je 0x4903d0
mov rbp, rax
mov rcx, qword [rsi]
mov rax, qword [rcx + 0x1f8]
test rax, rax
je 0x48afcb
cmp byte [rcx + 0xc5], 0
jne 0x48afcb
cmp byte [rsi + 0x124], 0
je 0x48f35e
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x30], 0xfffffffa
mov dword [rsp + 0x20], 0
mov rcx, rbp
xor edx, edx
mov r8d, 1
jmp 0x48b0d4
mov rbp, qword [rdi + 0x138]
test rbp, rbp
je 0x48b055
mov ebx, dword [rbp + 4]
mov edi, 2
jmp 0x48b013
lea eax, [rdi + 1]
cdqe
add edi, dword [rbp + rax*4]
cmp edi, ebx
jge 0x48b055
lea eax, [rdi + 2]
cdqe
lea r14, [rax*4]
add r14, rbp
mov rcx, r14
mov rdx, r15
mov r8, r12
call fcn.005f4bd0
test eax, eax
jne 0x48b006
cmp byte [r14 + r12], 0
jne 0x48b006
movsxd rax, edi
mov ebx, dword [rbp + rax*4]
mov eax, ebx
not eax
or eax, 0xffff0000
cmp eax, 0xffffffff
jne 0x48fa41
mov rax, qword [rsp + 0x60]
mov ebx, dword [rax + 0x120]
add ebx, 1
mov word [rax + 0x120], bx
movsx r14d, bx
jmp 0x48f935
mov byte [rsi], 0
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.004c6120
test rax, rax
je 0x4903d0
mov rbp, rax
mov rcx, qword [rsi]
mov rax, qword [rcx + 0x1f8]
test rax, rax
je 0x48b0b4
cmp byte [rcx + 0xc5], 0
jne 0x48b0b4
cmp byte [rsi + 0x124], 0
je 0x48f3b2
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x30], 0xfffffffa
mov dword [rsp + 0x20], 0
mov rcx, rbp
xor edx, edx
mov r8d, 2
xor r9d, r9d
call fcn.004c62a0
jmp 0x491d07
mov qword [rdi + 4], 0x20800800
jmp 0x48bc81
xor eax, eax
lea ecx, [rax + 1]
mov dword [rsi + 0x28], ecx
mov rcx, qword [rbx]
mov r8d, dword [rcx + 0x94]
cmp r8d, eax
jle 0x48b10d
mov qword [rdi], rsi
jmp 0x491d07
lea rdx, [0x00603afc]
mov rcx, rbx
call fcn.00419aa0
mov qword [rdi], rsi
jmp 0x491d07
movzx eax, byte [r15 + 0xc4]
mov r9, r8
test rbp, rbp
je 0x48d5a1
xor ebp, ebp
cmp byte [r15 + 0x67], 0
jne 0x48d5a3
mov qword [rsp + 0xb8], r9
mov dword [rsp + 0x98], ebx
mov dword [rsp + 0xa0], esi
mov dword [rsp + 0x80], edx
mov dword [rsp + 0xb0], ecx
mov qword [rsp + 0xa8], rax
cmp eax, 1
mov rbp, qword [rsp + 0x68]
je 0x48b19f
cmp byte [r15 + 0xc5], 0
je 0x48b19f
mov al, 1
test al, al
je 0x48b19f
mov rdx, qword [rbp + 0x10]
mov rcx, r15
call fcn.00408130
mov qword [rbp + 0x10], 0
mov qword [rsp + 0x78], rdi
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x48e194
movabs rdx, 0xffffffff00000000
mov ebp, 0xffffffff
mov rax, qword [r12]
mov r8, qword [rax + 0x20]
lea rbx, [r8 + 0x18]
xor edi, edi
add rdi, 1
lea rax, [rbx + 0x20]
add rdx, rbp
add rdx, 1
cmp qword [rbx], rcx
mov rbx, rax
jne 0x48b1ce
sar rdx, 0x1b
add r8, rdx
mov r12, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
jmp 0x48e198
mov rcx, rbp
call fcn.00404550
mov r12, rax
test rax, rax
je 0x48611a
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rdi
mov rcx, r12
xor edx, edx
mov r8, rbp
call fcn.005f4c10
lea rdi, [r12 + 0x60]
mov r8d, dword [r13 - 0x38]
mov rdx, qword [r13 - 0x40]
mov rcx, rdi
call fcn.005f4c20
movzx eax, byte [r12 + 0x60]
lea r15, [0x005fb0a0]
cmp byte [rax + r15], 0
jns 0x48c3c2
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
xor edx, edx
mov rbp, rdi
jmp 0x48b27a
mov byte [rbp], bl
add rdx, 1
add ecx, 1
add rbp, 1
movsxd rbx, ecx
movzx ebx, byte [rdi + rbx]
cmp bl, al
jne 0x48b26c
add ecx, 1
movsxd rbx, ecx
cmp byte [rdi + rbx], al
jne 0x48c3be
mov byte [rbp], al
jmp 0x48b26f
lea rax, [r14 + 0x10]
mov r9, qword [rax]
mov r8, qword [r14 + 0x18]
xor r12d, r12d
mov rcx, rsi
xor edx, edx
call fcn.004190c0
test rax, rax
je 0x486998
mov rdi, qword [rax + 0x60]
test rdi, rdi
je 0x48c52d
mov rcx, qword [rsi]
mov rcx, qword [rcx + 0x20]
add rcx, 0x18
mov ebp, 0xffffffff
xor edx, edx
add rdx, 1
add ebp, 1
lea rbx, [rcx + 0x20]
cmp qword [rcx], rdi
mov rcx, rbx
jne 0x48b2d9
jmp 0x48c532
xor eax, eax
mov qword [r13 - 0xa0], rax
jmp 0x491d07
xor r15d, r15d
mov qword [r13 - 0x28], r15
jmp 0x491d07
mov r8, r9
mov al, byte [rdx]
cmp al, 0x88
jae 0x48b32a
cmp al, 0x87
lea rax, [0x00603a7c]
lea r9, [0x00603a97]
cmove r9, rax
jmp 0x48b34b
cmp al, 0x89
lea rcx, [0x00603a86]
lea rdx, [0x00603a97]
cmove rdx, rcx
cmp al, 0x88
lea r9, [0x00603a90]
cmovne r9, rdx
lea rdx, [0x00604828]
mov rcx, rbx
call fcn.00419aa0
mov eax, dword [rsi + 4]
not eax
or eax, 0xfffffbff
cmp eax, 0xffffffff
jne 0x48b38f
mov rax, qword [rbx]
mov eax, dword [rax + 0x98]
test eax, eax
jle 0x48b38f
cmp edi, eax
jl 0x48b38f
mov al, 1
test al, al
je 0x48b38f
lea rdx, [0x00604858]
mov rcx, rbx
call fcn.00419aa0
mov qword [r13 + 8], rsi
jmp 0x491d07
mov r8, r9
mov al, byte [rdx]
cmp al, 0x88
mov rcx, qword [rsp + 0x60]
jae 0x48b3bc
cmp al, 0x87
lea rax, [0x00603a7c]
lea r9, [0x00603a97]
cmove r9, rax
jmp 0x48b3dd
cmp al, 0x89
lea rbp, [0x00603a86]
lea rdx, [0x00603a97]
cmove rdx, rbp
cmp al, 0x88
lea r9, [0x00603a90]
cmovne r9, rdx
lea rdx, [0x00604828]
call fcn.00419aa0
mov eax, dword [rsi + 4]
mov ecx, eax
xor ecx, 0xfffffbff
test ecx, eax
mov rbx, qword [rsp + 0x60]
jne 0x48b423
mov rax, qword [rbx]
mov eax, dword [rax + 0x98]
test eax, eax
jle 0x48b423
cmp edi, eax
jl 0x48b423
mov al, 1
test al, al
je 0x48b423
lea rdx, [0x00604858]
mov rcx, rbx
call fcn.00419aa0
mov qword [rsp + 0x28], rsi
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], 0
mov rcx, rbx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.004a9f80
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov rcx, rbx
xor edx, edx
mov r8, rax
xor r9d, r9d
call fcn.004aa3b0
mov rsi, rax
test rax, rax
je 0x48b4b7
mov al, byte [r13 - 0x10]
mov byte [rsi], al
mov qword [rsi + 0x50], r14
test r14, r14
je 0x48b49c
and byte [r14 + 5], 0xfb
and byte [rsi + 5], 0xfb
cmp dword [r13 - 0x10], 0x87
je 0x48b4cf
mov byte [rbx + 0x22], 1
mov qword [r13 - 0x28], rsi
jmp 0x491d07
test r14, r14
je 0x48b4cd
mov rcx, qword [rbx]
mov rdx, r14
mov r8d, 1
call fcn.00468620
xor esi, esi
mov qword [r13 - 0x28], rsi
jmp 0x491d07
cmp rsi, 0x81
jb 0x48b4f4
mov rcx, rbp
mov rdx, rax
mov r8, rsi
call fcn.00429900
test rax, rax
je 0x48b513
movsxd rcx, dword [rdi + 0x40]
lea edx, [rcx + 1]
mov dword [rdi + 0x40], edx
mov qword [rax + rcx*8], r14
movsxd rcx, edx
mov qword [rax + rcx*8], 0
mov qword [rdi + 0x48], rax
jmp 0x48b51e
mov rcx, rbp
mov rdx, r14
call fcn.00408130
mov qword [rbx + 0x170], 0
mov dword [rbx + 0x178], 0
jmp 0x491d07
add dword [rcx + 0x1b4], 1
jmp 0x48dcad
add dword [rcx + 0x1b4], 1
jmp 0x48dd1d
xor edi, edi
lea rsi, [0x00602987]
jmp 0x48b568
movzx ecx, byte [rcx + rbx]
cmp cl, byte [rdx + rbx]
jne 0x48b5b4
add rdi, 1
movzx ecx, byte [rbp + rdi]
movzx edx, byte [rdi + rsi]
cmp cl, dl
jne 0x48b55b
test cl, cl
jne 0x48b564
mov ebp, 0x20000000
mov byte [rax], 0xaa
mov ecx, ebp
not ecx
mov edx, ecx
and edx, 0x90de1f6
and ebp, 0x36f21e09
or ebp, edx
or ecx, r9d
and r9d, 0x90de1f6
and r8d, 0xf6f21e09
or r8d, r9d
xor r8d, ebp
not ecx
or ecx, r8d
mov dword [rax + 4], ecx
mov r8, qword [r13 + 8]
mov r9d, dword [r13 + 0x10]
add r9, r8
mov rcx, qword [rsp + 0x60]
mov rdx, rax
call fcn.004993c0
jmp 0x491d07
mov rax, qword [rcx + 0x1c0]
test rax, rax
je 0x48dca6
mov rdx, qword [rax]
mov qword [rcx + 0x1c0], rdx
add dword [rcx + 0x1b0], 1
jmp 0x48dcb7
mov rax, qword [rcx + 0x1c0]
test rax, rax
je 0x48dd16
mov rdx, qword [rax]
mov qword [rcx + 0x1c0], rdx
add dword [rcx + 0x1b0], 1
jmp 0x48dd27
cmp byte [r14 + 0xc5], 0
jne 0x49054b
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x70], r15
mov rcx, rdi
call fcn.004c6120
test rax, rax
je 0x48f91f
mov r15, rax
mov rsi, qword [rdi + 0xa0]
test rsi, rsi
cmove rsi, rdi
mov edi, 1
mov ecx, ebp
shl edi, cl
mov edx, 0xfffffffe
rol edx, cl
mov eax, dword [rsi + 0x74]
mov ecx, eax
not ecx
or edx, ecx
cmp edx, 0xffffffff
jne 0x48b690
mov ecx, eax
and ecx, edi
xor eax, edi
or eax, ecx
mov dword [rsi + 0x74], eax
cmp ebp, 1
jne 0x48b690
mov rcx, rsi
call fcn.004306d0
mov eax, dword [rsi + 0x70]
mov ecx, eax
not ecx
mov edx, edi
not edx
mov ebx, ecx
and ebx, 0x187e09a6
and eax, 0xe781f659
or eax, ebx
or ecx, edx
and edx, 0x187e09a6
and edi, 0xe781f659
or edi, edx
xor edi, eax
not ecx
or ecx, edi
mov dword [rsi + 0x70], ecx
cmp qword [rsp + 0x98], 0
je 0x48f84e
mov edi, dword [rsp + 0xa0]
movabs rax, 0xd301317d7bbeb49e
mov rcx, rdi
sub rcx, rax
lea rdx, [rcx + rax]
add rdx, 1
mov rcx, r14
call fcn.00429840
test rax, rax
je 0x48f84e
mov rsi, rax
mov rcx, rax
mov rdx, qword [rsp + 0x98]
mov r8, rdi
call fcn.005f4c20
mov byte [rsi + rdi], 0
jmp 0x48f850
mov byte [rbx], 0
imul rax, r15, 0x68
mov qword [rsi + rax + 0x60], rdi
mov ecx, dword [rsi + rax + 0x48]
mov edx, ecx
and edx, 2
xor ecx, 2
or ecx, edx
mov dword [rsi + rax + 0x48], ecx
jmp 0x491d07
mov byte [rsi], 0
mov rsi, qword [rsp + 0x60]
imul rax, r15, 0x68
mov qword [r12 + rax + 0x60], rdi
mov edx, dword [r12 + rax + 0x48]
mov ebp, edx
not ebp
and ebp, 0xce3a464b
mov ecx, edx
and ecx, 0x31c5b9b4
or ecx, ebp
xor ecx, 0xce3a4649
and edx, 2
or edx, ecx
mov dword [r12 + rax + 0x48], edx
mov rdx, qword [r13 - 0x28]
mov r8, qword [r13 + 8]
mov rcx, rsi
call fcn.004ab460
jmp 0x491d07
mov rcx, rbp
mov rdx, r8
call fcn.0050cd80
jmp 0x48bb7d
cmp byte [r12 + 0xc5], 0
je 0x48dee4
mov dword [rbx + 0x18], 0x65
jmp 0x491d07
xor edx, edx
mov r8, r15
xor r9d, r9d
call fcn.004651a0
mov rcx, qword [rsp + 0x88]
test eax, eax
je 0x489321
mov dword [rdi + 0x18], eax
add dword [rdi + 0x30], 1
jmp 0x48c65a
mov rcx, r12
xor edx, edx
mov r8, rsi
xor r9d, r9d
call fcn.004651a0
test eax, eax
je 0x4895e7
mov dword [rdi + 0x18], eax
add dword [rdi + 0x30], 1
mov r14, qword [rsp + 0x68]
jmp 0x483e9d
cmp r8d, 1
lea rax, [0x00604cae]
lea r9, [0x005fadb4]
cmovg r9, rax
mov dword [rsp + 0x20], r15d
lea rdx, [0x00604c82]
mov rcx, qword [rsp + 0x60]
call fcn.00419aa0
mov r12, rbp
test r12, r12
mov rdi, qword [rsp + 0x60]
je 0x48b920
cmp qword [r12 + 0x50], 0
je 0x48b86e
mov eax, dword [r12 + 4]
mov ecx, eax
and ecx, 0x400
xor eax, 0x400
or eax, ecx
mov dword [r12 + 4], eax
mov rcx, qword [rdi]
mov rdx, r14
call fcn.0047fbe0
mov rax, qword [r12 + 0x50]
test rax, rax
je 0x48e88d
mov qword [r12 + 0x58], 0
mov ecx, dword [r12 + 4]
mov edx, ecx
and edx, 0x100
xor ecx, 0x100
or ecx, edx
mov dword [r12 + 4], ecx
mov edx, 1
lea r8, [0x00604254]
lea r9, [0x00604852]
mov rbp, r12
mov esi, edx
cmp qword [rax + 0x48], 0
jne 0x48e800
cmp qword [rax + 0x60], 0
jne 0x48e7fd
lea edx, [rsi + 1]
mov rbx, qword [rax + 0x50]
mov qword [rax + 0x58], rbp
mov edi, dword [rax + 4]
mov ecx, edi
not ecx
and ecx, 0x8bf96b0c
mov ebp, edi
and ebp, 0x740694f3
or ebp, ecx
xor ebp, 0x8bf96a0c
and edi, 0x100
or edi, ebp
mov dword [rax + 4], edi
mov rbp, rax
mov rax, rbx
test rbx, rbx
mov rdi, qword [rsp + 0x60]
jne 0x48b8c0
jmp 0x48e852
mov rcx, qword [rdi]
mov rdx, r14
call fcn.0047fbe0
jmp 0x490aff
mov ecx, eax
xor ecx, 0xff9f
test ecx, eax
je 0x48e15b
not eax
or eax, 0xffffffbf
cmp eax, 0xffffffff
je 0x492b3c
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea rdx, [0x00605ed0]
lea r8, [0x00605d3d]
mov rcx, rbx
mov r9, qword [rsp + 0x88]
call fcn.004d54f0
jmp 0x492b3c
mov rdi, qword [rsp + 0x60]
jmp 0x48c60c
mov byte [rbp], 0
mov rcx, qword [r15 + 0x278]
test rcx, rcx
je 0x48b9d0
mov bl, byte [r12]
test bl, bl
je 0x48cb4e
mov rdx, r12
add rdx, 1
xor eax, eax
lea rbp, [0x005fade0]
movzx ebx, bl
movzx ebx, byte [rbx + rbp]
add ebx, eax
imul eax, ebx, 0x9e3779b1
movzx ebx, byte [rdx]
add rdx, 1
test bl, bl
jne 0x48b9b1
jmp 0x48cb50
lea rdx, [r15 + 0x26c]
lea r9, [r15 + 0x270]
jmp 0x48cb68
mov ecx, 0x20
call fcn.00404550
test rax, rax
je 0x48be89
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov qword [rax + 0x18], 0
mov qword [rax], rdi
movups xmm0, xmmword [r14]
movups xmmword [rax + 8], xmm0
mov rcx, qword [rbx + 0x190]
mov qword [rax + 0x18], rcx
mov qword [rbx + 0x190], rax
jmp 0x48be89
lea rdx, [0x0060296a]
lea r8, [rsp + 0xd0]
mov rcx, rbx
call fcn.00419aa0
mov qword [rdi], 0
jmp 0x491d07
lea r8, [r14 + 8]
lea rdx, [0x00604cd6]
mov rcx, rdi
call fcn.00419aa0
mov byte [rdi + 0x1d], 1
jmp 0x483e9d
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
xor edx, edx
mov rbp, rdi
mov r14, rbx
jmp 0x48ba90
mov byte [rbp], bl
add rdx, 1
add ecx, 1
add rbp, 1
movsxd rbx, ecx
movzx ebx, byte [rdi + rbx]
cmp bl, al
jne 0x48ba82
add ecx, 1
movsxd rbx, ecx
cmp byte [rdi + rbx], al
jne 0x48bbc9
mov byte [rbp], al
jmp 0x48ba85
mov byte [rbp], 0
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbx]
mov r15b, byte [rcx + 0x64]
movzx esi, byte [rcx + 0xc5]
mov edx, r15d
mov r8, rdi
mov r9d, esi
call fcn.00478ca0
test esi, esi
jne 0x48e2a5
test rax, rax
je 0x48e294
cmp qword [rax + 0x18], 0
jne 0x48e2ae
mov rcx, rbx
mov edx, r15d
mov r8, rax
jmp 0x48e29d
xor eax, eax
mov byte [rsi + rax], 0
movzx eax, byte [rsi]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x48bc81
xor ecx, ecx
cmp al, 0x22
sete cl
shl ecx, 7
or ecx, 0x4000000
mov dword [rdi + 4], ecx
cmp al, 0x5b
movzx eax, al
mov ebp, 0x5d
cmovne ebp, eax
mov ecx, 1
xor edx, edx
mov rbx, rsi
jmp 0x48bb51
mov byte [rbx], al
add rdx, 1
add ecx, 1
add rbx, 1
movsxd rax, ecx
movzx eax, byte [rsi + rax]
cmp al, bpl
jne 0x48bb44
add ecx, 1
movsxd rax, ecx
cmp byte [rsi + rax], bpl
jne 0x48bc7e
mov byte [rbx], bpl
jmp 0x48bb46
mov rcx, rbp
mov rdx, rax
call fcn.0050ce50
mov qword [rdi + 0x58], rax
test rax, rax
je 0x48c748
movsxd rcx, dword [rax]
cmp dword [rax + 4], ecx
jle 0x48bbb6
lea edx, [rcx + 1]
mov dword [rax], edx
shl rcx, 5
xorps xmm0, xmm0
movups xmmword [rax + rcx + 0x10], xmm0
mov qword [rax + rcx + 0x20], 0
mov qword [rax + rcx + 8], rsi
jmp 0x48c753
mov rcx, qword [rdi]
mov rdx, rax
mov r8, rsi
call fcn.0050ce50
jmp 0x48c753
mov byte [rbp], 0
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x10], 0
mov rax, qword [r13 + 8]
lea rcx, [r13 - 0x100]
mov rdx, qword [r13 - 0x28]
mov ebp, dword [r13 - 0xe8]
mov ebx, dword [r13 - 0xb8]
mov dword [rsp + 0x48], ebx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], rdx
mov byte [rsp + 0x50], 0
mov dword [rsp + 0x40], 0
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
mov rdx, r14
mov r8, r15
mov r9, rsi
call fcn.00499f20
mov al, byte [rdi + 0x124]
cmp al, 2
jb 0x491d07
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx + 0x158]
test rcx, rcx
je 0x491d07
cmp al, 3
je 0x491d07
mov rsi, qword [rcx]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
test rcx, rcx
je 0x48ccb8
mov edx, 0x20
call fcn.00429840
jmp 0x48ccc2
mov byte [rbx], 0
mov dword [rdi + 0x28], 1
mov qword [rdi + 0x10], r14
mov eax, dword [rdi + 4]
mov ecx, eax
not ecx
and ecx, 0x2adb602
mov edx, eax
and edx, 0xfd5249fd
or edx, ecx
xor edx, 0x2ad9402
and eax, 0x2200
or eax, edx
mov dword [rdi + 4], eax
mov r14, rdi
mov qword [r13 - 0x28], r14
jmp 0x491d07
test rsi, rsi
je 0x48d52f
mov rcx, qword [rdi]
mov rdx, rsi
call fcn.00468370
jmp 0x48d52f
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 2
xor r8d, r8d
call fcn.0047df60
mov eax, dword [rsi + 0xcc]
mov ecx, eax
and ecx, 1
xor eax, 1
or eax, ecx
mov dword [rsi + 0xcc], eax
mov rax, qword [rsi]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
cmp byte [rax + 0x11], 0
je 0x48bd42
mov eax, dword [rsi + 0xd0]
mov ecx, eax
not ecx
and ecx, 0xbad10056
mov edx, eax
and edx, 0x452effa9
or edx, ecx
xor edx, 0xbad10057
and eax, 1
or eax, edx
mov dword [rsi + 0xd0], eax
cmp dword [rbp + 0x28], 2
jl 0x48d87b
mov rax, qword [rbp + 0x20]
mov rax, qword [rax + 0x28]
test rax, rax
je 0x48bd70
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x28]
not eax
or eax, 0xfffe
xor r9d, r9d
cmp ax, 0xffff
jne 0x48bd73
mov r9d, r14d
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x48d74e
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
movabs rdx, 0x100000002
mov qword [rcx + rax*8], rdx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x48d769
mov rcx, qword [rbp + 0x200]
mov rsi, qword [rsp + 0x60]
mov rdx, qword [rsi + 0x168]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 0
lea r8, [0x005fdb5e]
mov edx, 0x16
xor r9d, r9d
call rax
cmp eax, 1
jne 0x48ddaa
lea rdx, [0x005ff140]
mov rcx, rsi
call fcn.00419aa0
mov dword [rsi + 0x18], 0x17
jmp 0x491d07
xor ecx, ecx
mov rdx, qword [rbp + 0x18]
test rdx, rdx
je 0x48be2c
mov edx, dword [rdx + 0x28]
cmp edx, ecx
cmovge ecx, edx
lea edx, [rcx + 1]
mov dword [rbp + 0x28], edx
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax]
mov r8d, dword [rdx + 0x94]
cmp r8d, ecx
jg 0x48be5a
lea rdx, [0x00603afc]
mov rcx, qword [rsp + 0x60]
call fcn.00419aa0
mov ebx, dword [rbp + 4]
mov rcx, qword [r13 + 8]
mov qword [rbp + 0x40], rcx
mov edx, ebx
and edx, 0x1000000
mov eax, ebx
xor eax, 0x1000000
or eax, edx
mov dword [rbp + 4], eax
mov qword [rcx + 0x70], rbp
mov eax, ebx
xor eax, 0xfffffffb
test eax, ebx
je 0x48be89
cmp byte [rcx + 0x20], 0xa6
jne 0x48be91
mov qword [rsi], rbp
jmp 0x491d07
lea rdx, [0x00604c53]
mov rcx, qword [rsp + 0x60]
call fcn.00419aa0
mov qword [rsi], rbp
jmp 0x491d07
xor ebp, ebp
jmp 0x48bebf
movzx eax, byte [rax + rdx]
cmp al, byte [rbx + rdx]
jne 0x491d07
add rbp, 1
movzx eax, byte [rcx + rbp]
movzx ebx, byte [rbp + r14]
cmp al, bl
jne 0x48beae
test al, al
jne 0x48bebb
mov ecx, 0x20000000
mov byte [rsi], 0xaa
mov eax, ecx
and eax, r8d
xor ecx, r8d
or ecx, eax
mov dword [rsi + 4], ecx
jmp 0x491d07
mov dword [rsp + 0x98], ebx
mov dword [rsp + 0xa0], esi
mov dword [rsp + 0x80], edx
mov dword [rsp + 0xb0], ecx
mov qword [rsp + 0x78], rdi
mov rsi, qword [r13 - 0xa0]
test rsi, rsi
je 0x48d578
mov ebp, dword [r13 - 0x98]
lea rdx, [rbp + 1]
mov rcx, r15
call fcn.00429840
test rax, rax
je 0x48d578
mov rdi, rax
mov rcx, rax
mov rdx, rsi
mov r8, rbp
call fcn.005f4c20
mov byte [rdi + rbp], 0
movzx eax, byte [rdi]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x48fe8d
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
xor edx, edx
mov rbp, rdi
jmp 0x48bf88
mov byte [rbp], bl
add rdx, 1
add ecx, 1
add rbp, 1
movsxd rbx, ecx
movzx ebx, byte [rdi + rbx]
cmp bl, al
jne 0x48bf7a
add ecx, 1
movsxd rbx, ecx
cmp byte [rdi + rbx], al
jne 0x48fe89
mov byte [rbp], al
jmp 0x48bf7d
mov qword [rsp + 0x68], rdi
mov rcx, qword [r14 + 0x60]
mov rax, qword [r15 + 0x20]
test rcx, rcx
je 0x48e3ec
lea rdx, [rax + 0x18]
mov ebp, 0xffffffff
xor ebx, ebx
add rbx, 1
add ebp, 1
lea rdi, [rdx + 0x20]
cmp qword [rdx], rcx
mov rdx, rdi
jne 0x48bfc8
jmp 0x48e3f1
xor ecx, ecx
mov rdx, qword [r14 + 0x18]
test rdx, rdx
je 0x48bff3
mov edx, dword [rdx + 0x28]
cmp edx, ecx
cmovge ecx, edx
test rax, rax
jne 0x48c0a3
lea eax, [rcx + 1]
mov dword [r14 + 0x28], eax
mov rax, qword [rsi]
mov r8d, dword [rax + 0x94]
cmp r8d, ecx
jg 0x48c021
lea rdx, [0x00603afc]
mov rcx, rsi
call fcn.00419aa0
cmp dword [r13 - 0x40], 0
je 0x491d07
mov rbp, qword [r13 - 0x58]
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rdi]
mov edx, 0x48
call fcn.00429840
mov rsi, rax
test rax, rax
je 0x490b69
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x40], 0
mov byte [rsi], 0x13
mov word [rsi + 0x32], 0xffff
test rbp, rbp
je 0x490b7b
mov qword [rsi + 0x10], rbp
mov eax, 0x400208
and eax, dword [rbp + 4]
mov dword [rsi + 4], eax
mov eax, dword [rbp + 0x28]
jmp 0x490b7d
mov rax, qword [rax + 0x50]
test rax, rax
mov rsi, qword [rsp + 0x60]
je 0x48bffc
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x48c0b4
mov edx, dword [rdx + 0x28]
cmp edx, ecx
cmovge ecx, edx
mov rdx, qword [rax + 0x40]
test rdx, rdx
je 0x48c0c5
mov edx, dword [rdx + 0x28]
cmp edx, ecx
cmovge ecx, edx
mov rdx, qword [rax + 0x60]
test rdx, rdx
je 0x48c0d6
mov edx, dword [rdx + 0x28]
cmp edx, ecx
cmovge ecx, edx
mov rdx, qword [rax + 0x20]
test rdx, rdx
je 0x48c114
mov ebx, dword [rdx]
test ebx, ebx
jle 0x48c114
add rdx, 8
mov ebp, ebx
xor edi, edi
jmp 0x48c0ff
add rdi, 1
movsxd rsi, ebp
add rdx, 0x20
cmp rdi, rsi
jge 0x48c114
mov rsi, qword [rdx]
test rsi, rsi
je 0x48c0ef
mov esi, dword [rsi + 0x28]
cmp esi, ecx
cmovg ecx, esi
cmovg ebp, ebx
jmp 0x48c0ef
mov rdx, qword [rax + 0x38]
test rdx, rdx
je 0x48c152
mov ebx, dword [rdx]
test ebx, ebx
jle 0x48c152
add rdx, 8
mov ebp, ebx
xor edi, edi
jmp 0x48c13d
add rdi, 1
movsxd rsi, ebp
add rdx, 0x20
cmp rdi, rsi
jge 0x48c152
mov rsi, qword [rdx]
test rsi, rsi
je 0x48c12d
mov esi, dword [rsi + 0x28]
cmp esi, ecx
cmovg ecx, esi
cmovg ebp, ebx
jmp 0x48c12d
mov rdx, qword [rax + 0x48]
test rdx, rdx
je 0x48c091
mov edi, dword [rdx]
test edi, edi
jle 0x48c091
add rdx, 8
xor ebx, ebx
mov ebp, edi
jmp 0x48c187
add rbx, 1
movsxd rsi, ebp
add rdx, 0x20
cmp rbx, rsi
jge 0x48c091
mov rsi, qword [rdx]
test rsi, rsi
je 0x48c173
mov esi, dword [rsi + 0x28]
cmp esi, ecx
cmovg ecx, esi
cmovg ebp, edi
jmp 0x48c173
xor eax, eax
mov rcx, qword [r14 + 0x18]
test rcx, rcx
je 0x48c1af
mov ecx, dword [rcx + 0x28]
cmp ecx, eax
cmovge eax, ecx
test rsi, rsi
jne 0x48c263
lea ecx, [rax + 1]
mov dword [r14 + 0x28], ecx
mov rcx, qword [rbx]
mov r8d, dword [rcx + 0x94]
cmp r8d, eax
jg 0x48c1dd
lea rdx, [0x00603afc]
mov rcx, rbx
call fcn.00419aa0
cmp dword [r13 - 0x40], 0
je 0x491d07
mov rbp, qword [r15]
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rdi]
mov edx, 0x48
call fcn.00429840
mov rsi, rax
test rax, rax
je 0x48c35c
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x40], 0
mov byte [rsi], 0x13
mov word [rsi + 0x32], 0xffff
test rbp, rbp
je 0x48c36e
mov qword [rsi + 0x10], rbp
mov eax, dword [rbp + 4]
mov ecx, eax
xor ecx, 0xffbffdf7
and ecx, eax
mov dword [rsi + 4], ecx
mov eax, dword [rbp + 0x28]
jmp 0x48c370
mov rsi, qword [rsi + 0x50]
test rsi, rsi
mov rbx, qword [rsp + 0x60]
je 0x48c1b8
mov rcx, qword [rsi + 0x30]
test rcx, rcx
je 0x48c274
mov ecx, dword [rcx + 0x28]
cmp ecx, eax
cmovge eax, ecx
mov rcx, qword [rsi + 0x40]
test rcx, rcx
je 0x48c285
mov ecx, dword [rcx + 0x28]
cmp ecx, eax
cmovge eax, ecx
mov rcx, qword [rsi + 0x60]
test rcx, rcx
je 0x48c296
mov ecx, dword [rcx + 0x28]
cmp ecx, eax
cmovge eax, ecx
mov rcx, qword [rsi + 0x20]
test rcx, rcx
je 0x48c2d4
mov ebp, dword [rcx]
test ebp, ebp
jle 0x48c2d4
add rcx, 8
mov edx, ebp
xor ebx, ebx
jmp 0x48c2bf
add rbx, 1
movsxd rdi, edx
add rcx, 0x20
cmp rbx, rdi
jge 0x48c2d4
mov rdi, qword [rcx]
test rdi, rdi
je 0x48c2af
mov edi, dword [rdi + 0x28]
cmp edi, eax
cmovg eax, edi
cmovg edx, ebp
jmp 0x48c2af
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x48c312
mov ebp, dword [rcx]
test ebp, ebp
jle 0x48c312
add rcx, 8
mov edx, ebp
xor ebx, ebx
jmp 0x48c2fd
add rbx, 1
movsxd rdi, edx
add rcx, 0x20
cmp rbx, rdi
jge 0x48c312
mov rdi, qword [rcx]
test rdi, rdi
je 0x48c2ed
mov edi, dword [rdi + 0x28]
cmp edi, eax
cmovg eax, edi
cmovg edx, ebp
jmp 0x48c2ed
mov rcx, qword [rsi + 0x48]
test rcx, rcx
je 0x48c251
mov ebx, dword [rcx]
test ebx, ebx
jle 0x48c251
add rcx, 8
xor ebp, ebp
mov edx, ebx
jmp 0x48c347
add rbp, 1
movsxd rdi, edx
add rcx, 0x20
cmp rbp, rdi
jge 0x48c251
mov rdi, qword [rcx]
test rdi, rdi
je 0x48c333
mov edi, dword [rdi + 0x28]
cmp edi, eax
cmovg eax, edi
cmovg edx, ebx
jmp 0x48c333
test rbp, rbp
je 0x48c385
mov rcx, qword [rdi]
mov rdx, rbp
call fcn.00468370
jmp 0x48c385
xor eax, eax
lea ecx, [rax + 1]
mov dword [rsi + 0x28], ecx
mov rcx, qword [rdi]
mov r8d, dword [rcx + 0x94]
cmp r8d, eax
jle 0x48c38d
mov qword [r15], rsi
jmp 0x491d07
lea rdx, [0x00603afc]
mov rcx, rdi
call fcn.00419aa0
mov qword [r15], rsi
jmp 0x491d07
mov ecx, eax
xor ecx, 2
test ecx, eax
jne 0x48ddba
test eax, eax
jne 0x491d07
jmp 0x482a74
mov byte [rbp], 0
lea rax, [r13 - 0x40]
mov qword [rsp + 0x88], rax
mov qword [r12 + 0x18], rdi
mov byte [r12], pe_nt_image_headers64
add rsi, 0xffffffffffffffff
movzx eax, byte [rsi + 1]
add rsi, 1
movzx eax, byte [rax + r15]
mov ecx, eax
xor cl, 0xfe
test cl, al
jne 0x48c3dc
movabs r9, 0xf2933fa59a779094
mov edx, 0xffffffff
movabs rcx, 0x62e399497576c10c
sub r14, rcx
sub r14, rsi
add r14, rcx
mov rcx, r14
xor rcx, rdx
not rcx
and rcx, r14
xor r8d, r8d
test r14d, r14d
cmovs r8, r14
movabs rbx, 0xffffffff00000000
sub rbx, rcx
lea rdi, [rcx + rdx]
lea rdx, [rcx + 1]
test ecx, ecx
jle 0x48c47b
mov ebp, 0xffffffff
not ebp
mov eax, r9d
not eax
or ebp, ebx
or eax, r9d
not ebp
and ebp, eax
movzx eax, byte [rsi + rbp]
movzx eax, byte [rax + r15]
not al
or al, 0xfe
add rcx, 0xffffffffffffffff
add rbx, 1
add rdi, 0xffffffffffffffff
add rdx, 0xffffffffffffffff
cmp al, 0xff
jne 0x48c43f
jmp 0x48c47e
mov rdx, r8
movsxd r14, edx
lea rdx, [r14 + 1]
mov rcx, qword [rsp + 0x68]
call fcn.00429840
mov rbp, rax
test rax, rax
mov rdi, qword [rsp + 0x70]
je 0x48c4e8
mov rcx, rbp
mov rdx, rsi
mov r8, r14
call fcn.005f4c20
mov byte [rbp + r14], 0
mov dl, byte [rbp]
test dl, dl
je 0x48c4e8
mov rax, rbp
add rax, 1
xor ecx, ecx
jmp 0x48c4d1
add rcx, 1
movzx edx, byte [rax]
add rax, 1
test dl, dl
je 0x48c4e8
movzx edx, dl
movzx ebx, byte [rdx + r15]
mov edx, ebx
xor dl, 0xfe
test dl, bl
je 0x48c4c2
mov byte [rax - 1], 0x20
jmp 0x48c4c2
mov qword [r12 + 0x48], rbp
mov rdx, qword [rsp + 0x60]
mov al, byte [rdx + 0x124]
cmp al, 2
mov rbx, qword [rsp + 0x68]
jb 0x48f26f
cmp al, 3
je 0x48f25f
mov rsi, qword [r12 + 0x18]
mov rcx, qword [rdx]
test rcx, rcx
je 0x48f20e
mov edx, 0x20
call fcn.00429840
jmp 0x48f218
mov ebp, 0xffff8000
mov rsi, qword [r13 + 8]
test rsi, rsi
je 0x486995
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x68], r14
mov rax, qword [r15 + 0x20]
movsxd rcx, ebp
shl rcx, 5
mov qword [rsp + 0x88], rcx
mov rdi, qword [rax + rcx]
mov r14d, dword [r13 + 0x10]
movabs rax, 0x62e6093137a50659
mov rcx, r14
sub rcx, rax
lea rdx, [rcx + rax]
add rdx, 1
mov rcx, r15
call fcn.00429840
test rax, rax
je 0x48d56b
mov r12, rax
mov rcx, rax
mov rdx, rsi
mov r8, r14
call fcn.005f4c20
mov byte [r12 + r14], 0
movzx eax, byte [r12]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x48e3a4
mov rsi, rdi
cmp al, 0x5b
movzx eax, al
mov edi, 0x5d
cmovne edi, eax
mov ecx, 1
xor edx, edx
mov rbx, r12
jmp 0x48c5e2
mov byte [rbx], al
add rdx, 1
add ecx, 1
add rbx, 1
movsxd rax, ecx
movzx eax, byte [r12 + rax]
cmp al, dil
jne 0x48c5d5
add ecx, 1
movsxd rax, ecx
cmp byte [r12 + rax], dil
jne 0x48e39e
mov byte [rbx], dil
jmp 0x48c5d7
mov qword [rsp + 0x98], r12
test rdx, rdx
mov r12, qword [rsp + 0x98]
je 0x48c623
mov rcx, rdi
call fcn.004e2030
jmp 0x48c652
cmp dword [rsp + 0x80], 0
je 0x48c63a
mov rcx, rdi
mov rdx, rsi
call fcn.004e1790
jmp 0x48c64e
lea r8, [r12 + 8]
lea rdx, [0x00605321]
mov rcx, rdi
call fcn.00419aa0
mov byte [rdi + 0x1d], 1
mov rcx, qword [rsp + 0x88]
mov rdx, r12
call fcn.004688d0
jmp 0x491d07
mov byte [rbp], 0
mov rax, qword [r15 + 0x20]
movsxd rcx, edi
shl rcx, 5
mov rsi, qword [rax + rcx]
mov rcx, r15
mov rdx, r12
mov r8, rsi
call fcn.00426380
test rax, rax
mov rbx, qword [rsp + 0x60]
je 0x48c6bf
mov r14, rax
mov qword [rsp + 0x90], r13
cmp byte [rax + 0x3f], 1
jne 0x48ca3b
mov rcx, r15
mov rdx, r12
call fcn.00408130
mov r13, qword [rsp + 0x90]
jmp 0x491d07
mov rcx, r15
mov rdx, r12
mov r8, rsi
call fcn.0047a1e0
mov r14, rax
mov rcx, r15
mov rdx, r12
call fcn.00408130
test r14, r14
je 0x48e6bb
mov rsi, qword [rbx + 0xa0]
test rsi, rsi
cmove rsi, rbx
mov edi, 1
mov rcx, qword [rsp + 0x70]
shl edi, cl
mov eax, dword [rsi + 0x74]
mov edx, eax
btc edx, ecx
not edx
test edx, eax
jne 0x48c724
mov edx, eax
and edx, edi
xor eax, edi
or eax, edx
mov dword [rsi + 0x74], eax
cmp ecx, 1
jne 0x48c724
mov rcx, rsi
call fcn.004306d0
mov eax, dword [rsi + 0x70]
mov ecx, eax
and ecx, edi
xor eax, edi
or eax, ecx
mov dword [rsi + 0x70], eax
mov rcx, rbx
mov rdx, r14
mov r8d, 0xffffffff
call fcn.004dfe90
jmp 0x491d07
mov rcx, qword [rdi]
mov rdx, rsi
call fcn.0050cd80
mov qword [rdi + 0x58], rax
mov dword [rsp + 0xd0], 0
lea rcx, [0x00602f63]
lea rdx, [rsp + 0xd0]
call fcn.0047a900
mov ebx, eax
xor eax, eax
test ebx, ebx
sete al
lea rdx, [rax + rax]
add rdx, 0x48
mov rcx, rbp
call fcn.00429840
mov rsi, rax
test rax, rax
je 0x48b4cf
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x40], 0
mov byte [rsi], 0x9b
mov word [rsi + 0x32], 0xffff
test ebx, ebx
je 0x48c90e
mov eax, dword [rsp + 0xd0]
xor ecx, ecx
test eax, eax
sete cl
shl ecx, 0x1c
add ecx, 0x10800800
mov dword [rsi + 4], ecx
mov dword [rsi + 8], eax
mov dword [rsi + 0x28], 1
mov qword [r13 - 0x28], rsi
jmp 0x491d07
lea rdx, [0x005ff043]
jmp 0x491cd9
lea rbp, [0x00603b8e]
jmp 0x49261d
lea rdx, [0x005ff0a2]
jmp 0x49160e
lea rcx, [r15 + 1]
lea r8d, [r12 - 1]
lea rdx, [rsp + 0xd0]
mov r9b, 1
call fcn.0044b0a0
test eax, eax
setne al
mov rbx, qword [rsp + 0xd0]
test rbx, rbx
setle cl
mov edx, eax
and dl, cl
xor al, cl
or al, dl
movsxd r8, dword [rbp + 0xac]
cmp rbx, r8
setg cl
test al, cl
jne 0x48c884
xor al, cl
jne 0x48c884
movsx r14d, bx
cmp word [rdi + 0x120], bx
jge 0x48e10c
mov word [rdi + 0x120], bx
mov rbp, qword [rdi + 0x138]
jmp 0x48f935
lea rdx, [0x00604bef]
mov rcx, rdi
call fcn.00419aa0
mov rax, qword [rdi]
jmp 0x48c8a5
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x491d07
mov ecx, dword [rsi + 4]
mov edx, ecx
xor edx, 0xfffffffc
test edx, ecx
jne 0x48c898
mov ecx, dword [rsi + 0x34]
test ecx, ecx
jle 0x48c898
mov dword [rax + 0x54], ecx
jmp 0x491d07
test edx, edx
jle 0x48e7f1
mov dword [rsp + 0x78], r10d
mov qword [rsp + 0x88], r9
mov qword [rsp + 0x90], r13
movabs rbx, 0x51fea6fa153ac5df
mov rax, rbx
not rax
add rax, rdx
add rax, rbx
mov r14d, edx
and r14d, 3
cmp rax, 3
jae 0x48f408
xor r9d, r9d
xor edi, edi
jmp 0x48f5d7
mov rax, rsi
add rax, 0x48
mov qword [rsi + 8], rax
mov word [rsi + 0x48], 0x30
mov dword [rsi + 0x28], 1
mov qword [r13 - 0x28], rsi
jmp 0x491d07
mov r9, qword [rax]
mov rcx, qword [r12 + 0x200]
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x168]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
mov edx, 0x1a
mov r8, qword [rsp + 0x88]
call rbx
cmp eax, 1
jne 0x48e4eb
lea rdx, [0x005ff140]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.00419aa0
mov dword [rsi + 0x18], 0x17
jmp 0x491d07
mov qword [rsp + 0x68], r12
mov rsi, qword [r13 + 8]
test rsi, rsi
je 0x48e8e6
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x90], r13
mov r12d, dword [r13 + 0x10]
lea rdx, [r12 + 1]
mov rcx, r14
call fcn.00429840
test rax, rax
je 0x48f92b
mov r15, rax
mov rcx, rax
mov rdx, rsi
mov r8, r12
call fcn.005f4c20
mov byte [r15 + r12], 0
movzx ecx, byte [r15]
lea rax, [0x005fb0a0]
cmp byte [rcx + rax], 0
jns 0x4903e6
cmp cl, 0x5b
movzx ecx, cl
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
mov ebp, 0xffffffff
xor ebx, ebx
mov rdi, r15
jmp 0x48ca1c
mov byte [rdi], dl
add rbx, 1
add ecx, 1
add rdi, 1
movsxd rdx, ecx
movzx edx, byte [r15 + rdx]
cmp dl, al
jne 0x48ca0f
sub ecx, ebp
movsxd rdx, ecx
cmp byte [r15 + rdx], al
jne 0x4903e0
mov byte [rdi], al
jmp 0x48ca11
mov r13, qword [r14 + 0x10]
jmp 0x48ca69
mov eax, dword [rsi + 0x70]
mov ecx, eax
and ecx, ebx
xor eax, ebx
or eax, ecx
mov dword [rsi + 0x70], eax
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
mov rdx, r13
mov r8d, 0xffffffff
call fcn.004dfe90
mov r13, qword [r13 + 0x28]
test r13, r13
je 0x48c6a7
mov rax, qword [r14 + 0x60]
test rax, rax
je 0x48caa2
mov rcx, qword [rbx]
mov rdx, qword [rcx + 0x20]
add rdx, 0x18
mov ecx, 0xffffffff
xor ebx, ebx
add rbx, 1
add ecx, 1
lea rdi, [rdx + 0x20]
cmp qword [rdx], rax
mov rdx, rdi
jne 0x48ca8d
jmp 0x48caa7
mov ecx, 0xffff8000
mov rax, qword [rsp + 0x60]
mov rsi, qword [rax + 0xa0]
test rsi, rsi
cmove rsi, rax
mov ebx, 1
shl ebx, cl
mov eax, dword [rsi + 0x74]
mov edx, eax
btc edx, ecx
not edx
test edx, eax
jne 0x48ca41
mov edx, eax
not edx
mov ebp, ebx
not ebp
mov r8d, edx
and r8d, 0x37f15991
and eax, 0xc80ea66e
or eax, r8d
or edx, ebp
and ebp, 0x37f15991
mov edi, ebx
and edi, 0xc80ea66e
or edi, ebp
xor edi, eax
not edx
or edx, edi
mov dword [rsi + 0x74], edx
cmp ecx, 1
jne 0x48ca41
mov rcx, rsi
call fcn.004306d0
jmp 0x48ca41
add rax, rdx
lea rdx, [0x005ff043]
jmp 0x491756
add rax, rbp
lea rbp, [0x00603b8e]
movzx edx, byte [rax]
jmp 0x49261d
add rax, rdx
lea rdx, [0x005ff0a2]
jmp 0x4908aa
xor eax, eax
xor edx, edx
div dword [r15 + 0x268]
shl rdx, 4
lea r9, [rcx + rdx]
add r9, 8
add rdx, rcx
mov edx, dword [rdx]
lea r8, [0x0213b3c8]
test edx, edx
je 0x48cbb3
lea rbp, [0x005fade0]
mov r9, qword [r9]
add edx, 0xffffffff
mov rbx, qword [r9 + 0x18]
xor edi, edi
jmp 0x48cb97
movzx ecx, byte [rcx + rbp]
cmp cl, byte [rax + rbp]
jne 0x48cbaa
add rdi, 1
movzx ecx, byte [rbx + rdi]
movzx eax, byte [r12 + rdi]
cmp cl, al
jne 0x48cb8a
test cl, cl
jne 0x48cb93
jmp 0x48cbb0
test edx, edx
jne 0x48cb7c
jmp 0x48cbb3
mov r8, r9
cmp qword [r8 + 0x10], 0
mov rdi, qword [rsp + 0x60]
je 0x48cc14
mov r14, qword [rdi]
mov eax, dword [r14 + 0x28]
test eax, eax
jle 0x4869a3
mov rbx, qword [r14 + 0x20]
xor ebp, ebp
mov rsi, qword [rsp + 0x60]
jmp 0x48cbea
add ebp, 1
add rbx, 0x20
cmp ebp, eax
jge 0x4869a3
mov rcx, qword [rbx + 0x18]
mov rdi, qword [rcx + 0x10]
test rdi, rdi
je 0x48cbdb
mov rdx, qword [rdi + 0x10]
mov rcx, rsi
mov r8, r12
call fcn.0051e5d0
mov rdi, qword [rdi]
test rdi, rdi
jne 0x48cbf7
mov eax, dword [r14 + 0x28]
jmp 0x48cbdb
mov rcx, r15
mov rdx, r12
call fcn.00408130
mov r12, qword [rdi]
cmp dword [r13 + 0x10], 0
je 0x48e179
cmp byte [r12 + 0xc5], 0
je 0x48efcf
lea rdx, [0x0060307c]
mov rcx, rdi
call fcn.00419aa0
jmp 0x491d07
mov qword [rdi], rsi
jmp 0x491d07
mov rax, qword [rsi + 0xa0]
test rax, rax
cmove rax, rsi
mov byte [rax + 0x21], 1
mov qword [rsp + 0x88], rdi
mov rax, qword [rdi + 0x60]
test rax, rax
je 0x48f2b0
movabs r12, 0xffffffff00000000
mov ecx, 0xffffffff
mov rdx, qword [r13 + 0x20]
add rdx, 0x18
xor ebx, ebx
add rbx, 1
lea rbp, [rdx + 0x20]
add r12, rcx
add r12, 1
cmp qword [rdx], rax
mov rdx, rbp
jne 0x48cc98
sar r12, 0x20
jmp 0x48f2b7
mov ecx, 0x20
call fcn.00404550
test rax, rax
je 0x491d07
lea rcx, [r13 - 0x58]
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov qword [rax + 0x18], 0
mov qword [rax], rsi
movups xmm0, xmmword [rcx]
movups xmmword [rax + 8], xmm0
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rdx + 0x190]
mov qword [rax + 0x18], rcx
mov qword [rdx + 0x190], rax
jmp 0x491d07
mov ebp, 0xffff8000
movsxd rax, ebp
mov rdx, rax
shl rdx, 5
cmp eax, 1
lea rax, [0x005fd54f]
lea r8, [0x005fd407]
cmove r8, rax
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov rbx, qword [rax + 0x1f8]
test rbx, rbx
mov qword [rsp + 0x70], rdx
je 0x48cdd6
mov rsi, qword [r15 + 0x18]
mov r10, qword [rcx + rdx]
cmp byte [rax + 0xc5], 0
jne 0x48cd68
mov rcx, qword [rsp + 0x60]
cmp byte [rcx + 0x124], 0
je 0x48fdd0
xor ecx, ecx
cmp ebp, 1
sete cl
lea edx, [rcx + rcx]
add edx, 0xa
cmp byte [rax + 0xc5], 0
mov rdi, qword [rsp + 0x60]
jne 0x48cddb
cmp byte [rdi + 0x124], 0
jne 0x48cddb
mov r8, qword [r15]
mov r9, qword [rsi]
mov rcx, qword [rax + 0x200]
mov rax, qword [rdi + 0x168]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
call rbx
cmp eax, 1
jne 0x4908b7
lea rdx, [0x005ff140]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.00419aa0
mov dword [rsi + 0x18], 0x17
jmp 0x483e9d
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.004c6120
test rax, rax
je 0x483e9d
mov qword [rsp + 0x78], rax
mov rsi, qword [rdi + 0xa0]
test rsi, rsi
cmove rsi, rdi
mov r8d, dword [rsi + 0x74]
mov edi, 1
mov ecx, ebp
shl edi, cl
mov eax, r8d
mov edx, 0xfffffffe
rol edx, cl
not eax
or edx, eax
mov ebx, edi
not ebx
cmp edx, 0xffffffff
jne 0x48ce60
mov ecx, eax
and ecx, 0xc88e5e51
and r8d, 0x3771a1ae
or r8d, ecx
mov ecx, ebx
and ecx, 0xc88e5e51
mov edx, edi
and edx, 0x3771a1ae
or edx, ecx
xor edx, r8d
or eax, ebx
not eax
or eax, edx
mov dword [rsi + 0x74], eax
cmp ebp, 1
jne 0x48ce60
mov rcx, rsi
call fcn.004306d0
mov eax, dword [rsi + 0x70]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x6f313dfb
and eax, 0x90cec204
or eax, edx
or ecx, ebx
and ebx, 0x6f313dfb
and edi, 0x90cec204
or edi, ebx
xor edi, eax
not ecx
or ecx, edi
mov dword [rsi + 0x70], ecx
mov al, byte [rsi + 0x20]
mov ecx, eax
and cl, 1
xor al, 1
or al, cl
mov byte [rsi + 0x20], al
mov rax, qword [r12 + 0x20]
mov rsi, qword [rsp + 0x70]
mov r8, qword [rax + rsi]
mov r9, qword [r15]
lea rdx, [0x00604d31]
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.004d54f0
mov rax, qword [r15]
mov qword [rsp + 0x88], rax
mov rax, qword [rbx]
mov rax, qword [rax + 0x20]
mov rdi, qword [rax + rsi]
lea r8, [0x0060405e]
lea rsi, [rsp + 0xd0]
mov ecx, 0x18
mov rdx, rsi
mov r9d, 1
call fcn.00408910
mov rcx, qword [rbx]
mov rdx, rsi
mov qword [rsp + 0x68], rdi
mov r8, rdi
call fcn.00426380
test rax, rax
je 0x48cf48
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x28], rax
lea rax, [0x005ff078]
mov qword [rsp + 0x20], rax
lea rdx, [0x0060406c]
lea r9, [rsp + 0xd0]
mov rcx, rbx
mov r8, qword [rsp + 0x68]
call fcn.004d54f0
lea r8, [0x0060405e]
lea rsi, [rsp + 0xd0]
mov ecx, 0x18
mov rdx, rsi
mov r9d, 2
call fcn.00408910
mov rcx, qword [rbx]
mov rdx, rsi
mov r8, qword [rsp + 0x68]
call fcn.00426380
test rax, rax
je 0x48cfb4
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x28], rax
lea rax, [0x005ff078]
mov qword [rsp + 0x20], rax
lea rdx, [0x0060406c]
lea r9, [rsp + 0xd0]
mov rcx, rbx
mov r8, qword [rsp + 0x68]
call fcn.004d54f0
lea r8, [0x0060405e]
lea rsi, [rsp + 0xd0]
mov ecx, 0x18
mov rdx, rsi
mov r9d, 3
call fcn.00408910
mov rcx, qword [rbx]
mov rdx, rsi
mov r8, qword [rsp + 0x68]
call fcn.00426380
test rax, rax
je 0x48d020
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x28], rax
lea rax, [0x005ff078]
mov qword [rsp + 0x20], rax
lea rdx, [0x0060406c]
lea r9, [rsp + 0xd0]
mov rcx, rbx
mov r8, qword [rsp + 0x68]
call fcn.004d54f0
lea r8, [0x0060405e]
lea rdi, [rsp + 0xd0]
mov ecx, 0x18
mov rdx, rdi
mov r9d, 4
call fcn.00408910
mov rsi, qword [rbx]
mov rcx, rsi
mov rdx, rdi
mov r8, qword [rsp + 0x68]
call fcn.00426380
test rax, rax
je 0x48d092
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x28], rax
lea rax, [0x005ff078]
mov qword [rsp + 0x20], rax
lea rdx, [0x0060406c]
lea r9, [rsp + 0xd0]
mov rcx, rbx
mov r8, qword [rsp + 0x68]
call fcn.004d54f0
mov rsi, qword [rbx]
mov rcx, qword [rbx + 0x10]
mov rax, qword [rsi + 0x20]
mov rdx, qword [rsp + 0x70]
mov rax, qword [rax + rdx + 0x18]
mov eax, dword [rax]
add eax, 1
movsxd rdx, dword [rcx + 0x90]
cmp dword [rcx + 0x94], edx
jle 0x48de23
lea ebx, [rdx + 1]
mov dword [rcx + 0x90], ebx
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rcx + 0x88]
lea rdx, [rdx + rdx*2]
mov dword [rcx + rdx*8], 0x64
mov dword [rcx + rdx*8 + 4], ebp
mov dword [rcx + rdx*8 + 8], 1
mov dword [rcx + rdx*8 + 0xc], eax
mov qword [rcx + rdx*8 + 0x10], 0
jmp 0x48de3a
mov byte [rsi], 0
mov rbx, qword [rsp + 0x60]
imul rax, r15, 0x68
mov qword [r12 + rax + 0x60], rdi
mov ecx, dword [r12 + rax + 0x48]
mov edx, ecx
and edx, 2
xor ecx, 2
or ecx, edx
mov dword [r12 + rax + 0x48], ecx
mov rax, qword [r13 - 0x28]
test rax, rax
je 0x48d14b
mov rcx, qword [rbx]
mov eax, dword [rax]
cmp eax, dword [rcx + 0x90]
jle 0x48d14b
lea rdx, [0x00604a57]
lea r8, [0x00602961]
mov rcx, rbx
call fcn.00419aa0
mov rsi, qword [r13 - 0x10]
test rsi, rsi
je 0x48d1ee
mov r8d, dword [rsi]
cmp r8d, 1
jle 0x48d1f7
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0x800
mov qword [rsp + 0x30], 0
mov rcx, rbx
xor edx, edx
mov r8, rsi
xor r9d, r9d
call fcn.004aa3b0
mov dword [rsp + 0xd8], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], 0
mov rcx, rbx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.004a9f80
mov rbp, qword [r13 - 0x70]
test rax, rax
je 0x48d285
mov rsi, rax
mov r8d, dword [rax]
jmp 0x48d1fb
mov rbp, qword [r13 - 0x70]
jmp 0x48d289
mov rbp, qword [r13 - 0x70]
mov rcx, rbx
mov rdx, rbp
mov r9d, 1
call fcn.004ea1d0
test rax, rax
je 0x48d27a
mov r14, rax
mov rcx, rax
add rcx, 0x70
lea rdx, [rsi + 8]
movsxd rax, dword [rsi]
imul r8, rax, 0x68
call fcn.005f4c20
mov rcx, qword [rbx]
mov rdx, rsi
call fcn.00408130
mov al, byte [r14 + 0x44]
mov cl, byte [r14 + 0xac]
mov edx, ecx
xor dl, 0xbf
and dl, cl
mov ecx, eax
not cl
mov ebx, edx
not bl
mov r8d, ecx
and r8b, 0xe3
and al, 0x1c
or al, r8b
or cl, bl
and bl, 0xe3
and dl, 0x1c
or dl, bl
mov rbx, qword [rsp + 0x60]
xor dl, al
not cl
or cl, dl
mov byte [r14 + 0x44], cl
mov rbp, r14
jmp 0x48d285
mov rcx, qword [rbx]
mov rdx, rsi
call fcn.004688d0
mov qword [r13 - 0x70], rbp
mov r8, qword [r13 - 0x28]
mov r9, qword [r13 + 8]
mov eax, dword [r13 - 0x88]
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x28], 0
mov rcx, rbx
mov rdx, rbp
call fcn.004ad550
jmp 0x491d07
movabs rcx, 0x3de32c66617ce45a
movabs rdx, 0xe0241ff02269367
and r12d, 0xfffffffc
xor r8d, r8d
mov r11, rdx
not r11
movabs rbp, 0x7fffffffffffffe
and rbp, rdx
mov qword [rsp + 0x60], rbp
mov r15, rcx
not r15
movabs rdx, 0x7fffffffffffffc
and rdx, rcx
mov qword [rsp + 0x68], rdx
xor r9d, r9d
mov rdx, r8
shl rdx, 5
mov rdx, qword [r13 + rdx + 8]
mov edi, dword [rdx + 4]
mov edx, edi
not edx
mov ebp, r9d
not ebp
mov esi, edx
and esi, 0x21cae75a
and edi, 0xde3518a5
or edi, esi
or edx, ebp
and ebp, 0x21cae75a
and r9d, 0xde3518a5
or r9d, ebp
xor r9d, edi
not edx
or edx, r9d
mov rsi, r8
not rsi
mov rdi, rsi
movabs r9, 0xe0241ff02269367
and rdi, r9
mov rcx, r8
and rcx, r11
or rcx, rdi
mov ebp, r11d
and ebp, 1
add rbp, qword [rsp + 0x60]
xor rbp, rcx
mov ecx, r9d
or ecx, r11d
and ecx, r8d
and ecx, 1
or rcx, rbp
shl rcx, 5
mov rcx, qword [r13 + rcx + 8]
mov ecx, dword [rcx + 4]
mov r10d, ecx
not r10d
mov ebp, edx
not ebp
mov edi, r10d
and edi, 0x2843cef8
and ecx, 0xd7bc3107
or ecx, edi
or r10d, ebp
and ebp, 0x2843cef8
and edx, 0xd7bc3107
or edx, ebp
xor edx, ecx
not r10d
or r10d, edx
mov ecx, r8d
and ecx, 2
mov rdx, r8
xor rdx, 2
or rdx, rcx
shl rdx, 5
mov rcx, qword [r13 + rdx + 8]
mov ecx, dword [rcx + 4]
mov r9d, ecx
not r9d
mov edx, r10d
not edx
mov edi, r9d
and edi, 0xc8cee3db
and ecx, 0x37311c24
or ecx, edi
or r9d, edx
and edx, 0xc8cee3db
and r10d, 0x37311c24
or r10d, edx
xor r10d, ecx
not r9d
or r9d, r10d
movabs rbp, 0x3de32c66617ce45a
and rsi, rbp
mov rcx, r8
and rcx, r15
or rcx, rsi
mov edx, r15d
and edx, 3
add rdx, qword [rsp + 0x68]
xor rdx, rcx
mov ecx, ebp
or ecx, r15d
and ecx, r8d
and ecx, 3
or rcx, rdx
shl rcx, 5
mov rcx, qword [r13 + rcx + 8]
mov ecx, dword [rcx + 4]
mov edx, ecx
and edx, r9d
xor r9d, ecx
or r9d, edx
add r8, 4
add r12, 0xfffffffffffffffc
jne 0x48d303
test rbx, rbx
je 0x48d4d9
movabs r10, 0xf32636f8a77f8b45
mov rcx, r8
shl rcx, 5
lea rdi, [rcx + r13]
add rdi, 8
mov r11, r10
not r11
mov rcx, qword [rdi]
mov ebp, dword [rcx + 4]
mov ecx, ebp
not ecx
mov esi, r9d
not esi
mov edx, ecx
and edx, 0x32ebe3ac
and ebp, 0xcd141c53
or ebp, edx
or ecx, esi
and esi, 0x32ebe3ac
and r9d, 0xcd141c53
or r9d, esi
xor r9d, ebp
not ecx
or r9d, ecx
add r8, 1
add rbx, r10
add rdi, 0x20
add rbx, r11
jne 0x48d490
mov ecx, r9d
xor ecx, 0xffbffdf7
and ecx, r9d
mov edi, dword [rsp + 0x70]
mov edx, ecx
and edx, edi
xor ecx, edi
or ecx, edx
mov dword [r14 + 4], ecx
mov r13, qword [rsp + 0x90]
add eax, 1
mov dword [r14 + 0x28], eax
jmp 0x491d07
xor eax, eax
lea ecx, [rax + 1]
mov dword [rbp + 0x28], ecx
mov rcx, qword [rdi]
mov r8d, dword [rcx + 0x94]
cmp r8d, eax
jg 0x48d52f
lea rdx, [0x00603afc]
mov rcx, rdi
call fcn.00419aa0
mov r8, qword [r13 - 0x58]
mov rcx, rdi
mov edx, 0x35
mov r9, rbp
call fcn.004997c0
mov qword [r13 - 0x58], rax
jmp 0x490aff
mov rax, qword [r15 + 0x1d8]
mov qword [rbp], rax
mov qword [r15 + 0x1d8], rbp
jmp 0x48e6d9
mov byte [rbx], 0
jmp 0x489fda
xor r12d, r12d
mov r14, qword [rsp + 0x68]
jmp 0x486998
xor edi, edi
mov rcx, r15
mov rdx, rdi
call fcn.00408130
mov rdi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x88]
lea rdx, [0x0060308d]
mov rcx, r12
call fcn.00419aa0
xor ebp, ebp
xor esi, esi
mov rcx, r15
mov rdx, rbp
call fcn.00408130
mov rcx, r15
mov rdx, qword [rsp + 0x68]
call fcn.004688d0
test r14, r14
je 0x48f7bb
mov rbp, rdi
cmp dword [r14], 0
jle 0x48d5f0
lea rdi, [r14 + 8]
xor ebx, ebx
mov rdx, qword [rdi]
mov rcx, r15
call fcn.00408130
add rbx, 1
movsxd rax, dword [r14]
add rdi, 0x10
cmp rbx, rax
jl 0x48d5d5
test r15, r15
mov r12, qword [rsp + 0x60]
mov rdi, rbp
je 0x48d63a
cmp qword [r15 + 0x300], 0
je 0x48d617
mov rcx, r15
mov rdx, r14
call fcn.004297f0
jmp 0x48f7bb
cmp qword [r15 + 0x1f0], r14
jbe 0x48d63a
cmp qword [r15 + 0x1e0], r14
jbe 0x48e145
cmp qword [r15 + 0x1e8], r14
jbe 0x48f7aa
cmp dword [0x005f6010], 0
je 0x48d6ca
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x48d659
call qword [0x005f6090]
mov rcx, r14
call qword [0x005f6048]
mov rcx, qword [0x0213b040]
cdqe
movabs rdx, 0x140a2820cf2e2d8b
sub rcx, rdx
sub rcx, rax
add rcx, rdx
mov qword [0x0213b040], rcx
movabs rax, 0x6af04ffc7fa191bb
mov rcx, rax
not rcx
add rcx, qword [0x0213b088]
add rcx, rax
mov qword [0x0213b088], rcx
mov rcx, r14
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x48f7bb
call qword [0x005f60a0]
jmp 0x48f7bb
mov rcx, r14
call qword [0x005f6038]
jmp 0x48f7bb
mov dword [rsp + 0x20], 0xffffffff
mov rcx, rsi
mov edx, 4
xor r8d, r8d
mov r9d, ebp
call fcn.0047df60
mov eax, dword [rsi + 0xcc]
mov ecx, eax
and ecx, 1
xor eax, 1
or eax, ecx
mov dword [rsi + 0xcc], eax
mov rax, qword [rsi]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
cmp byte [rax + 0x11], 0
je 0x48d745
mov eax, dword [rsi + 0xd0]
mov ecx, eax
not ecx
and ecx, 0xf829c4e5
mov edx, eax
and edx, 0x7d63b1a
or edx, ecx
xor edx, 0xf829c4e4
and eax, 1
or eax, edx
mov dword [rsi + 0xd0], eax
mov byte [rdi + 0x1d], 1
jmp 0x483e9d
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 2
mov r8d, 1
call fcn.0047df60
mov eax, dword [rsi + 0xcc]
mov ecx, eax
and ecx, 2
xor eax, 2
or eax, ecx
mov dword [rsi + 0xcc], eax
cmp dword [rbp + 0x28], 3
jl 0x48d87b
mov ebx, 2
mov edi, 0x48
jmp 0x48d7aa
add rbx, 1
movsxd rax, dword [rbp + 0x28]
add rdi, 0x20
cmp rbx, rax
jge 0x48d87b
mov rax, qword [rbp + 0x20]
mov rax, qword [rax + rdi]
test rax, rax
je 0x48d7ce
mov rax, qword [rax + 8]
mov eax, dword [rax + 0x28]
mov ecx, eax
xor ecx, 0xfffe
xor r9d, r9d
test cx, ax
jne 0x48d7d1
mov r9d, r14d
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x48d817
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 2
mov dword [rcx + rax*8 + 4], ebx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x48d82f
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 2
mov r8d, ebx
call fcn.0047df60
mov eax, 1
mov ecx, ebx
shl eax, cl
mov ecx, dword [rsi + 0xcc]
mov edx, ecx
and edx, eax
btc ecx, ebx
or ecx, edx
mov dword [rsi + 0xcc], ecx
mov rcx, qword [rsi]
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rcx + rdi]
cmp byte [rcx + 0x11], 0
je 0x48d795
mov ecx, dword [rsi + 0xd0]
mov edx, ecx
and edx, eax
xor ecx, eax
or ecx, edx
mov dword [rsi + 0xd0], ecx
jmp 0x48d795
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x48d8b8
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 1
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 1], xmm0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x491d07
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.0047df60
jmp 0x491d07
xor ecx, ecx
mov rax, qword [r8 + 0x18]
test rax, rax
je 0x48d8eb
mov eax, dword [rax + 0x28]
cmp eax, ecx
cmovge ecx, eax
mov r11d, dword [r8 + 4]
mov eax, r11d
xor eax, 0xffffefff
test eax, r11d
je 0x48da19
mov rdx, qword [r8 + 0x20]
test rdx, rdx
jne 0x48d920
jmp 0x490ada
mov rdx, qword [rdx + 0x50]
test rdx, rdx
mov rdi, qword [rsp + 0x60]
je 0x490ada
mov rax, qword [rdx + 0x30]
test rax, rax
je 0x48d931
mov eax, dword [rax + 0x28]
cmp eax, ecx
cmovge ecx, eax
mov rax, qword [rdx + 0x40]
test rax, rax
je 0x48d942
mov eax, dword [rax + 0x28]
cmp eax, ecx
cmovge ecx, eax
mov rax, qword [rdx + 0x60]
test rax, rax
je 0x48d953
mov eax, dword [rax + 0x28]
cmp eax, ecx
cmovge ecx, eax
mov rax, qword [rdx + 0x20]
test rax, rax
je 0x48d991
mov ebx, dword [rax]
test ebx, ebx
jle 0x48d991
add rax, 8
mov ebp, ebx
xor edi, edi
jmp 0x48d97c
add rdi, 1
movsxd rsi, ebp
add rax, 0x20
cmp rdi, rsi
jge 0x48d991
mov rsi, qword [rax]
test rsi, rsi
je 0x48d96c
mov esi, dword [rsi + 0x28]
cmp esi, ecx
cmovg ecx, esi
cmovg ebp, ebx
jmp 0x48d96c
mov rax, qword [rdx + 0x38]
test rax, rax
je 0x48d9cf
mov ebx, dword [rax]
test ebx, ebx
jle 0x48d9cf
add rax, 8
mov ebp, ebx
xor edi, edi
jmp 0x48d9ba
add rdi, 1
movsxd rsi, ebp
add rax, 0x20
cmp rdi, rsi
jge 0x48d9cf
mov rsi, qword [rax]
test rsi, rsi
je 0x48d9aa
mov esi, dword [rsi + 0x28]
cmp esi, ecx
cmovg ecx, esi
cmovg ebp, ebx
jmp 0x48d9aa
mov rax, qword [rdx + 0x48]
test rax, rax
je 0x48d90e
mov ebx, dword [rax]
test ebx, ebx
jle 0x48d90e
add rax, 8
mov ebp, ebx
xor edi, edi
jmp 0x48da04
add rdi, 1
movsxd rsi, ebp
add rax, 0x20
cmp rdi, rsi
jge 0x48d90e
mov rsi, qword [rax]
test rsi, rsi
je 0x48d9f0
mov esi, dword [rsi + 0x28]
cmp esi, ecx
cmovg ecx, esi
cmovg ebp, ebx
jmp 0x48d9f0
mov qword [rsp + 0x90], r13
mov qword [rsp + 0x68], r8
mov r14, qword [r8 + 0x20]
test r14, r14
je 0x48f8fb
mov eax, dword [r14]
test eax, eax
jle 0x48f847
lea rdx, [r14 + 8]
xor ebp, ebp
mov ebx, eax
jmp 0x48da5c
add rbp, 1
movsxd rdi, ebx
add rdx, 0x20
cmp rbp, rdi
jge 0x48f80f
mov rdi, qword [rdx]
test rdi, rdi
je 0x48da48
mov edi, dword [rdi + 0x28]
cmp edi, ecx
cmovg ecx, edi
cmovg ebx, eax
jmp 0x48da48
mov ecx, 0x20
call fcn.00404550
test rax, rax
mov r8, r12
je 0x48dabb
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov qword [rax + 0x18], 0
mov rcx, qword [rsp + 0x70]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xa0]
movups xmm0, xmmword [rcx]
movups xmmword [rax + 8], xmm0
mov rcx, qword [r8 + 0x190]
mov qword [rax + 0x18], rcx
mov qword [r8 + 0x190], rax
cmp byte [r8 + 0x124], 2
jb 0x48dad8
mov qword [rdi + 0x30], rsi
mov qword [rdi + 0x28], rbx
xor ebx, ebx
mov rax, rbp
xor esi, esi
xor ebp, ebp
jmp 0x48db1f
mov rcx, r15
mov rdx, rsi
mov r8d, 1
call fcn.004d2fa0
mov qword [rdi + 0x30], rax
test rbx, rbx
je 0x48db08
mov rcx, r15
mov rdx, rbx
mov r8d, 1
xor r9d, r9d
call fcn.004d3ed0
jmp 0x48db0a
xor eax, eax
mov qword [rdi + 0x28], rax
mov rcx, r15
mov rdx, rbp
mov r8d, 1
call fcn.004d3330
mov qword [rdi + 0x20], rax
mov byte [rdi + 1], r14b
test rsi, rsi
je 0x48db37
mov rcx, r15
mov rdx, rsi
call fcn.0047fbe0
test rbx, rbx
je 0x48db47
mov rcx, r15
mov rdx, rbx
call fcn.00468370
mov rcx, r15
mov rdx, rbp
call fcn.004688d0
mov qword [r13 - 0xb8], rdi
jmp 0x491d07
mov ecx, 0x20
call fcn.00404550
test rax, rax
je 0x48dba0
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov qword [rax + 0x18], 0
mov qword [rax], rdi
mov rcx, qword [rsp + 0xb0]
movups xmm0, xmmword [rcx]
movups xmmword [rax + 8], xmm0
mov rcx, qword [rsi + 0x190]
mov qword [rax + 0x18], rcx
mov qword [rsi + 0x190], rax
cmp byte [rsi + 0x124], 1
mov rdi, qword [rsp + 0x88]
jbe 0x48dbbd
mov rax, qword [rsp + 0x80]
xor esi, esi
jmp 0x48dbd6
mov rcx, r15
mov rsi, qword [rsp + 0x80]
mov rdx, rsi
mov r8d, 1
call fcn.004d2d20
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x38], rbp
mov qword [rdi + 0x40], rbx
mov al, byte [rsp + 0xa0]
mov byte [rdi + 1], al
test rbx, rbx
je 0x48e6eb
mov rax, qword [rbx]
test rax, rax
je 0x48e6eb
mov ecx, dword [rax]
test ecx, ecx
jle 0x48e6eb
mov r14, rsi
neg rcx
lea rbx, [rax + 0x1c]
mov edx, 1
xor edi, edi
mov esi, dword [rbx]
mov ebp, esi
xor ebp, 0xffffffdf
test ebp, esi
jne 0x48dc43
add rdi, 1
lea rbp, [rcx + rdx]
add rbp, 1
add rdx, 1
add rbx, 0x20
cmp rbp, 1
jne 0x48dc1c
jmp 0x48dc96
neg edx
mov ecx, 0xffffffff
not rcx
or rcx, rdx
not rcx
shl rcx, 5
mov al, byte [rax + rcx + 0x18]
test al, al
sete cl
cmp al, 3
sete dl
xor dl, cl
lea r8, [0x00603cc6]
lea rcx, [0x00603ccc]
cmovne rcx, r8
cmp al, 3
cmovne r8, rcx
test al, al
cmovne r8, rcx
lea rdx, [0x00603caa]
mov rcx, qword [rsp + 0x60]
call fcn.00419aa0
mov rsi, r14
mov rdi, qword [rsp + 0x88]
jmp 0x48e6eb
add dword [rcx + 0x1b8], 1
mov edx, 0x90
call fcn.004299f0
test rax, rax
je 0x48dcfa
xorps xmm0, xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x80], xmm0
movups xmmword [rax + 0x70], xmm0
movups xmmword [rax + 0x60], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax], xmm0
mov byte [rax + 0x20], 0xa6
mov rcx, qword [r13 + 8]
mov qword [rax + 0x48], rcx
mov qword [r13 + 8], rax
jmp 0x491d07
mov rdx, qword [r13 + 8]
test rdx, rdx
je 0x48dd0b
mov rcx, qword [rsi]
call fcn.00468370
xor eax, eax
mov qword [r13 + 8], rax
jmp 0x491d07
add dword [rcx + 0x1b8], 1
mov edx, 0x90
call fcn.004299f0
test rax, rax
je 0x48dd8f
xorps xmm0, xmm0
movups xmmword [rax + 0x80], xmm0
movups xmmword [rax + 0x70], xmm0
movups xmmword [rax + 0x60], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax], xmm0
mov qword [r13 - 0x10], rax
mov rbp, qword [r13 + 8]
test rbp, rbp
je 0x48dd9c
mov r14d, dword [r13 + 0x10]
mov rcx, qword [rsi]
lea rdx, [r14 + 1]
call fcn.00429840
test rax, rax
je 0x48dd9c
mov rsi, rax
mov rcx, rax
mov rdx, rbp
mov r8, r14
call fcn.005f4c20
mov byte [rsi + r14], 0
jmp 0x48dd9e
mov qword [r13 - 0x10], 0
jmp 0x491d07
xor esi, esi
mov rax, qword [r13 - 0x10]
mov qword [rax], rsi
jmp 0x491d07
mov ecx, eax
not ecx
or ecx, 2
cmp ecx, 0xffffffff
je 0x48f912
lea rdx, [0x00602fdd]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.00419aa0
mov dword [rsi + 0x18], 1
jmp 0x491d07
mov rcx, qword [rcx + 0x200]
mov rdx, qword [rsi + 0x168]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 0
lea r8, [0x005fdb5e]
mov edx, 0x20
mov r9, rdi
call rax
cmp eax, 1
jne 0x48f6a0
lea rdx, [0x005ff140]
jmp 0x48f3f4
xor eax, eax
jmp 0x48f661
mov dword [rsp + 0x20], eax
mov edx, 0x64
mov r8d, ebp
mov r9d, 1
call fcn.0047df60
mov edx, dword [r15 + 0x58]
mov rcx, rbx
mov r8d, ebp
call fcn.004e2410
mov rsi, qword [r15]
mov rdi, qword [rsp + 0x78]
mov eax, dword [rdi + 0x90]
cmp dword [rdi + 0x94], eax
jle 0x48de8b
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [rdi + 0x90], edx
mov rdx, qword [rdi + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x98
mov dword [rdx + rcx*8 + 4], ebp
xorps xmm0, xmm0
movups xmmword [rdx + rcx*8 + 8], xmm0
jmp 0x48dea6
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x98
mov r8d, ebp
xor r9d, r9d
call fcn.0047df60
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x483e9d
test eax, eax
jns 0x48dec0
mov eax, dword [rdi + 0x90]
add eax, 0xffffffff
cdqe
lea rdx, [rax + rax*2]
shl rdx, 3
add rdx, qword [rdi + 0x88]
mov rcx, rdi
mov r8, rsi
xor r9d, r9d
call fcn.0047e190
jmp 0x483e9d
mov rcx, rbx
call fcn.004c6120
mov r15, rax
test rax, rax
jne 0x48924d
mov dword [rbx + 0x18], 1
xor r15d, r15d
jmp 0x4900b3
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x53
xor r8d, r8d
xor r9d, r9d
call fcn.0047df60
mov r8d, dword [rdi + 0xb8]
mov r14d, dword [r15 + 0x90]
cmp dword [r15 + 0x94], r14d
jle 0x48df67
movsxd rax, r14d
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x23
mov dword [rcx + rax*8 + 4], r8d
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x48df82
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x23
xor r9d, r9d
call fcn.0047df60
mov r14d, eax
mov r15d, dword [rdi + 0xc0]
cmp dword [rdi + 0xbc], 0
jle 0x48e51b
xor esi, esi
jmp 0x48dfe1
lea edx, [rbp + 1]
mov dword [rcx + 0x90], edx
mov rdx, qword [rcx + 0x88]
lea rcx, [rbp*2]
add rcx, rbp
mov dword [rdx + rcx*8], 0x5e
mov dword [rdx + rcx*8 + 4], r8d
mov dword [rdx + rcx*8 + 8], esi
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
add esi, 1
cmp esi, dword [rdi + 0xbc]
jge 0x48e51d
lea eax, [r15 + rsi]
mov r8d, dword [rdi + 0xb8]
mov rcx, qword [rsp + 0x68]
movsxd rbp, dword [rcx + 0x90]
cmp dword [rcx + 0x94], ebp
jg 0x48df9a
mov dword [rsp + 0x20], eax
mov edx, 0x5e
mov r9d, esi
call fcn.0047df60
add esi, 1
cmp esi, dword [rdi + 0xbc]
jl 0x48dfe1
jmp 0x48e51d
mov byte [rsi], 0
mov rsi, qword [rsp + 0x60]
mov eax, dword [r12 + 0x28]
lea r11d, [rax - 1]
test eax, eax
jle 0x48e0e7
movsxd r9, r11d
shl r9, 5
add r9, qword [r12 + 0x20]
lea r8, [0x005fd6fa]
lea rdx, [0x005fade0]
mov rbp, qword [r9]
test rbp, rbp
je 0x48e082
xor ebx, ebx
jmp 0x48e06d
movzx eax, byte [rsi + rdx]
cmp al, byte [rcx + rdx]
jne 0x48e082
add rbx, 1
movzx esi, byte [rbp + rbx]
movzx ecx, byte [rdi + rbx]
cmp sil, cl
jne 0x48e060
test sil, sil
jne 0x48e069
jmp 0x48e0db
test r11d, r11d
je 0x48e09c
lea eax, [r11 - 1]
add r9, 0xffffffffffffffe0
test r11d, r11d
mov r11d, eax
jg 0x48e054
jmp 0x4914da
xor ebp, ebp
jmp 0x48e0ad
movzx eax, byte [rbx + rdx]
cmp al, byte [rcx + rdx]
jne 0x48e087
add rbp, 1
movzx ebx, byte [rbp + r8]
movzx ecx, byte [rdi + rbp]
cmp bl, cl
jne 0x48e0a0
test bl, bl
jne 0x48e0a9
mov rcx, r12
mov rdx, rdi
call fcn.00408130
xor eax, eax
mov qword [rsp + 0x70], rax
mov rbx, qword [rsp + 0x68]
jmp 0x487f1e
mov qword [rsp + 0x70], r11
mov rsi, qword [rsp + 0x60]
jmp 0x48e0ec
mov qword [rsp + 0x70], r11
mov rbx, qword [rsp + 0x68]
mov rcx, r12
mov rdx, rdi
call fcn.00408130
cmp dword [rsp + 0x70], 0
jns 0x487f1e
jmp 0x48ae37
mov rbp, qword [rdi + 0x138]
test rbp, rbp
je 0x48f933
mov eax, dword [rbp + 4]
mov ecx, 2
movsxd rdx, ecx
cmp dword [rbp + rdx*4], r14d
je 0x48fa41
lea edx, [rcx + 1]
movsxd rdx, edx
add ecx, dword [rbp + rdx*4]
cmp ecx, eax
jl 0x48e124
jmp 0x48f935
mov rax, qword [r15 + 0x1d8]
mov qword [r14], rax
mov qword [r15 + 0x1d8], r14
jmp 0x48f7bb
mov r14, r13
test rdi, rdi
je 0x48fd09
mov rax, qword [rdi + 0x10]
xor esi, esi
cmp byte [rax], 0x79
cmovne rsi, rdi
jmp 0x48fd0b
movzx eax, byte [r12 + 0xc4]
mov qword [rsp + 0x70], rax
mov rbx, qword [rsp + 0x88]
jmp 0x487f1e
lea r8, [rbp + 0x10]
mov r9, qword [r8]
mov r8, qword [rbp + 0x18]
mov rcx, r12
xor edx, edx
call fcn.004190c0
mov rsi, rax
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x48e1ec
mov rcx, qword [r12]
test rcx, rcx
je 0x48e1d4
cmp qword [rcx + 0x300], 0
je 0x48e1d4
call fcn.0047f4d0
mov rbp, qword [rsp + 0x68]
jmp 0x48e1ec
mov eax, dword [rdx + 0x2c]
lea ebp, [rax - 1]
mov dword [rdx + 0x2c], ebp
cmp eax, 1
mov rbp, qword [rsp + 0x68]
jne 0x48e1ec
call fcn.0047f4d0
mov qword [rbp + 0x28], rsi
test rsi, rsi
je 0x48e27a
add dword [rsi + 0x2c], 1
mov eax, dword [rbp + 0x48]
not eax
or eax, 0xfffffffd
cmp eax, 0xffffffff
je 0x48f075
mov r8, qword [rbp + 0x60]
mov r9, qword [rsi + 0x10]
test r9, r9
je 0x48e258
lea rcx, [0x005fade0]
mov rdx, qword [r9]
xor ebx, ebx
jmp 0x48e237
movzx eax, byte [rdi + rcx]
cmp al, byte [rbp + rcx]
jne 0x48e24f
add rbx, 1
movzx edi, byte [rdx + rbx]
movzx ebp, byte [r8 + rbx]
cmp dil, bpl
jne 0x48e229
test dil, dil
jne 0x48e233
jmp 0x48f06c
mov r9, qword [r9 + 0x28]
test r9, r9
jne 0x48e222
lea rdx, [0x006038e9]
xor esi, esi
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
xor r9d, r9d
call fcn.00419aa0
mov byte [rdi + 0x1d], 1
jmp 0x48f075
xor esi, esi
jmp 0x48f075
not eax
or eax, 2
cmp eax, 0xffffffff
jne 0x48e4fb
jmp 0x491d07
mov rcx, rbx
mov edx, r15d
xor r8d, r8d
mov r9, rdi
call fcn.00480050
test rax, rax
je 0x48e7e7
add r14d, 0xffffffff
movsxd rax, r14d
mov rbp, qword [r12 + 8]
lea r15, [rax + rax*2]
mov rsi, qword [rbp + r15*8]
test rsi, rsi
je 0x48e2df
mov rcx, rsi
call fcn.005f4bd8
mov rbx, rax
and ebx, 0x3fffffff
add rbx, 1
jmp 0x48e2e4
mov ebx, 1
mov qword [rsp + 0x60], rbp
movzx eax, word [rbp + r15*8 + 0x12]
mov ecx, eax
xor ecx, 0xfffb
test cx, ax
je 0x48e314
lea rcx, [rsi + rbx]
call fcn.005f4bd8
and eax, 0x3fffffff
lea rbp, [rax + rbx]
add rbp, 1
jmp 0x48e317
mov rbp, rbx
mov rcx, rdi
call fcn.005f4bd8
mov rbx, rax
xor rbx, 0xffffffffc0000000
and rbx, rax
mov qword [rsp + 0x70], rbp
lea r8, [rbx + rbp]
add r8, 1
test rsi, rsi
je 0x48e384
mov rcx, qword [rsp + 0x68]
cmp qword [rcx + 0x1f0], rsi
mov rbp, qword [rsp + 0x60]
jbe 0x48e716
cmp qword [rcx + 0x1e0], rsi
jbe 0x48e70d
cmp qword [rcx + 0x1e8], rsi
ja 0x48e716
movzx eax, word [rcx + 0x1a6]
cmp r8, rax
ja 0x48e716
jmp 0x48e726
mov rcx, qword [rsp + 0x68]
mov rdx, r8
call fcn.00429840
mov rsi, rax
mov rbp, qword [rsp + 0x60]
jmp 0x48e721
mov byte [rbx], 0
mov rdi, rsi
mov rcx, r15
mov rdx, r12
mov r8, rdi
call fcn.00426380
test rax, rax
mov r14, qword [rsp + 0x68]
jne 0x48e3d3
mov rcx, r15
mov rdx, r12
mov r8, rdi
call fcn.0047a1e0
test rax, rax
je 0x48ffab
lea rdx, [0x0060575c]
mov rcx, qword [rsp + 0x60]
mov r8, r12
call fcn.00419aa0
jmp 0x486998
mov ebp, 0xffff8000
movsxd rsi, ebp
shl rsi, 5
mov rax, qword [rax + rsi]
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rdx]
mov rax, qword [rcx + 0x1f8]
test rax, rax
je 0x48e42b
cmp byte [rcx + 0xc5], 0
jne 0x48e42b
cmp byte [rdx + 0x124], 0
je 0x490763
mov rdi, qword [r13 - 0x28]
test rdi, rdi
je 0x491780
mov qword [rsp + 0x88], rsi
mov esi, dword [r13 - 0x20]
movabs rax, 0xa7898de4ec6e1a8f
mov rcx, rsi
sub rcx, rax
lea rdx, [rcx + rax]
add rdx, 1
mov rcx, r15
call fcn.00429840
test rax, rax
je 0x491780
mov r12, rax
mov qword [rsp + 0x90], r13
mov rcx, rax
mov rdx, rdi
mov r8, rsi
call fcn.005f4c20
mov byte [r12 + rsi], 0
movzx eax, byte [r12]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x49015f
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
mov esi, 0xffffffff
xor ebx, ebx
mov rdi, r12
jmp 0x48e4cc
mov byte [rdi], dl
add rbx, 1
add ecx, 1
add rdi, 1
movsxd rdx, ecx
movzx edx, byte [r12 + rdx]
cmp dl, al
jne 0x48e4bf
sub ecx, esi
movsxd rdx, ecx
cmp byte [r12 + rdx], al
jne 0x49015c
mov byte [rdi], al
jmp 0x48e4c1
mov ecx, eax
not ecx
or ecx, 2
cmp ecx, 0xffffffff
je 0x49014f
lea rdx, [0x00602fdd]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.00419aa0
mov dword [rsi + 0x18], 1
jmp 0x491d07
xor esi, esi
mov rbp, qword [rsp + 0x68]
movsxd rax, dword [rbp + 0x90]
cmp dword [rbp + 0x94], eax
jle 0x48e568
lea ecx, [rax + 1]
mov dword [rbp + 0x90], ecx
mov rcx, qword [rbp + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x54
mov dword [rcx + rax*8 + 4], r15d
mov dword [rcx + rax*8 + 8], esi
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x48e583
mov dword [rsp + 0x20], 0
mov rcx, rbp
mov edx, 0x54
mov r8d, r15d
mov r9d, esi
call fcn.0047df60
mov r8d, dword [rdi + 0xb8]
lea r9d, [r14 + 1]
movsxd rax, dword [rbp + 0x90]
cmp dword [rbp + 0x94], eax
mov r15, rbp
jle 0x48e5d9
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x26
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x48e5ee
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x26
call fcn.0047df60
mov eax, dword [r15 + 0x90]
mov rcx, qword [r15]
cmp byte [rcx + 0x67], 0
je 0x48e607
lea rcx, [0x0213b3e8]
jmp 0x48e623
lea ecx, [rax - 1]
test r14d, r14d
cmovns ecx, r14d
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [r15 + 0x88]
mov dword [rcx + 8], eax
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x48e662
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0x46
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 1], xmm0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x48e67d
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x46
xor r8d, r8d
xor r9d, r9d
call fcn.0047df60
cmp byte [r12 + 0x67], 0
jne 0x4900b3
mov edx, dword [rbx + 0x74]
test edx, edx
jne 0x48e69b
cmp qword [rbx + 0x58], 0
je 0x4900b3
mov eax, dword [r15 + 0x90]
mov rcx, qword [r15]
cmp byte [rcx + 0x67], 0
je 0x48e8ee
lea rcx, [0x0213b3e8]
jmp 0x48e8f5
lea rdx, [0x006055db]
jmp 0x4898ba
mov rax, qword [r15 + 0x1c8]
mov qword [rbp], rax
mov qword [r15 + 0x1c8], rbp
test rbx, rbx
je 0x48e6e9
mov rcx, r15
mov rdx, rbx
call fcn.0047fb60
xor edi, edi
test rsi, rsi
je 0x48e701
mov rcx, r15
mov rdx, rsi
mov r8d, 1
call fcn.00468620
mov qword [r13 - 0xa0], rdi
jmp 0x491d07
cmp r8, 0x81
jb 0x48e726
mov rdx, rsi
call fcn.00429900
mov rsi, rax
test rsi, rsi
je 0x48e76f
lea rbp, [rbp + r15*8]
add rbx, 1
mov qword [rbp], rsi
mov rcx, qword [rsp + 0x70]
add rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.005f4c20
movzx eax, word [rbp + 0x12]
mov ecx, eax
not ecx
and ecx, 0xffffc57f
mov edx, eax
and edx, 0x3a80
or edx, ecx
xor edx, 0xffffc77f
and eax, 0x200
or eax, edx
mov word [rbp + 0x12], ax
mov rax, qword [r12 + 0x10]
jmp 0x48e783
xor ecx, ecx
mov rdx, qword [rax + 0x40]
mov qword [rdx], rcx
mov rax, qword [rax + 0x28]
test rax, rax
je 0x48e7e7
mov rcx, qword [rax + 8]
movsx ecx, word [rcx]
cmp r14d, ecx
jne 0x48e77f
mov rdx, qword [r12 + 8]
movzx ebp, word [rdx + r15*8 + 0x12]
mov ecx, ebp
not ecx
or ecx, 0xfdff
cmp cx, 0xffff
je 0x48e776
mov rdx, qword [rdx + r15*8]
add rdx, 0xffffffffffffffff
cmp byte [rdx + 1], 0
lea rdx, [rdx + 1]
jne 0x48e7b7
not ebp
or ebp, 0xfffb
cmp bp, 0xffff
je 0x48e7de
lea rcx, [rdx + 1]
cmp byte [rdx + 1], 0
mov rdx, rcx
jne 0x48e7cf
jmp 0x48e7e1
mov rcx, rdx
add rcx, 1
jmp 0x48e778
mov rcx, qword [rsp + 0x68]
jmp 0x4903d3
xor eax, eax
mov rbp, qword [rsp + 0x60]
jmp 0x48f661
mov r8, r9
mov al, byte [rbp]
cmp al, 0x88
jae 0x48e81d
cmp al, 0x87
lea rax, [0x00603a7c]
lea r9, [0x00603a97]
cmove r9, rax
jmp 0x48e83e
cmp al, 0x89
lea rcx, [0x00603a86]
lea rdx, [0x00603a97]
cmove rdx, rcx
cmp al, 0x88
lea r9, [0x00603a90]
cmovne r9, rdx
lea rdx, [0x00604828]
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.00419aa0
mov eax, dword [r12 + 4]
not eax
or eax, 0xfffffbff
cmp eax, 0xffffffff
jne 0x48e88d
mov rax, qword [rdi]
mov eax, dword [rax + 0x98]
test eax, eax
setg cl
cmp esi, eax
setl dl
cmp cl, dl
je 0x48e88d
test eax, eax
jle 0x48e88d
lea rdx, [0x00604858]
mov rcx, rdi
call fcn.00419aa0
mov rax, qword [r13 - 0x58]
test rax, rax
je 0x48e8d0
mov qword [rax + 0x20], r12
mov ecx, dword [rax + 4]
mov edx, ecx
and edx, section..text
xor ecx, section..text
or ecx, edx
mov dword [rax + 4], ecx
cmp dword [rdi + 0x30], 0
jne 0x490aff
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x49024c
mov r9d, dword [rcx + 0x28]
jmp 0x49024f
mov rcx, qword [rdi]
mov rdx, r12
mov r8d, 1
call fcn.00468620
jmp 0x490aff
xor r15d, r15d
jmp 0x49426d
mov rcx, qword [r15 + 0x88]
mov dword [rcx + 8], eax
xor r14d, r14d
xor esi, esi
mov ebp, 1
mov ecx, esi
shl ebp, cl
mov ebx, 0xfffffffe
rol ebx, cl
not edx
or edx, ebx
cmp edx, 0xffffffff
je 0x48ea57
mov ebx, dword [r15 + 0xcc]
mov edx, ebx
not edx
mov r8d, ebp
not r8d
mov edi, edx
and edi, 0x4af77a07
and ebx, 0xb50885f8
or ebx, edi
mov ecx, r8d
and ecx, 0x4af77a07
mov eax, ebp
and eax, 0xb50885f8
or eax, ecx
xor eax, ebx
or edx, r8d
not edx
or edx, eax
mov dword [r15 + 0xcc], edx
cmp rsi, 1
je 0x48e98b
mov rax, qword [r15]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + r14 + 8]
cmp byte [rax + 0x11], 0
je 0x48e98b
mov eax, dword [r15 + 0xd0]
mov ecx, eax
and ecx, ebp
xor eax, ebp
or eax, ecx
mov dword [r15 + 0xd0], eax
mov rax, qword [r12 + 0x20]
mov rax, qword [rax + r14 + 0x18]
mov edx, dword [rax]
mov edi, dword [rax + 4]
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x70]
not eax
or eax, r8d
xor r9d, r9d
cmp eax, 0xffffffff
setne r9b
mov eax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x48e9f9
movsxd rcx, eax
lea ebp, [rcx + 1]
mov dword [r15 + 0x90], ebp
mov rbp, qword [r15 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rbp + rcx*8], 2
mov dword [rbp + rcx*8 + 4], esi
mov dword [rbp + rcx*8 + 8], r9d
mov dword [rbp + rcx*8 + 0xc], edx
mov qword [rbp + rcx*8 + 0x10], 0
jmp 0x48ea0d
mov dword [rsp + 0x20], edx
mov rcx, r15
mov edx, 2
mov r8d, esi
call fcn.0047df60
mov rcx, qword [r15]
cmp byte [rcx + 0x67], 0
jne 0x48ea2c
mov rcx, qword [r15 + 0x88]
cdqe
lea rax, [rax + rax*2]
mov byte [rcx + rax*8 + 1], 0xfd
mov dword [rcx + rax*8 + 0x10], edi
cmp byte [r12 + 0xc5], 0
jne 0x48ea57
mov eax, dword [r15 + 0x90]
test eax, eax
jle 0x48ea57
mov rcx, qword [r15 + 0x88]
add eax, 0xffffffff
lea rax, [rax + rax*2]
mov word [rcx + rax*8 + 2], 1
add rsi, 1
movsxd rax, dword [r12 + 0x28]
cmp rsi, rax
jge 0x48ea76
mov rax, qword [rsp + 0x60]
mov edx, dword [rax + 0x74]
add r14, 0x20
jmp 0x48e8fd
mov r14, qword [rsp + 0x60]
cmp dword [r14 + 0x128], 0
jle 0x48eae7
xor esi, esi
jmp 0x48eac3
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0xfffffff5
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0xaa
xor r8d, r8d
xor r9d, r9d
call fcn.004c62a0
add rsi, 1
movsxd rax, dword [r14 + 0x128]
cmp rsi, rax
jge 0x48eae7
mov rax, qword [r14 + 0x180]
mov rax, qword [rax + rsi*8]
mov rax, qword [rax + 0x50]
test rax, rax
je 0x48ea89
cmp qword [rax], r12
je 0x48ea8b
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x48ead7
jmp 0x48ea89
mov dword [r14 + 0x128], 0
mov rbx, qword [r14 + 0x10]
cmp dword [r14 + 0x88], 0
jle 0x48eb57
mov esi, 0x10
xor edi, edi
mov rax, qword [r14 + 0x90]
movzx ecx, byte [rax + rsi - 8]
mov r8d, dword [rax + rsi - 0x10]
mov r9d, dword [rax + rsi - 0xc]
mov rax, qword [rax + rsi]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x30], 0xffffffff
mov rcx, rbx
mov edx, 0xa9
call fcn.004c62a0
add rdi, 1
movsxd rax, dword [r14 + 0x88]
add rsi, 0x18
cmp rdi, rax
jl 0x48eb07
mov rbx, qword [r14 + 0x10]
mov r15, qword [r14 + 0x98]
test r15, r15
je 0x48ee2e
mov rax, qword [r14]
mov qword [rsp + 0x70], rax
mov rsi, rbx
movsxd rbp, dword [r15 + 0x10]
mov rax, rbp
shl rax, 5
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx + 0x20]
mov r12d, dword [r15 + 0x14]
mov rcx, qword [rcx + rax + 0x18]
mov rdi, qword [rcx + 0x68]
cmp rbp, 1
je 0x48ebc4
mov rcx, qword [r14]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + rax + 8]
cmp byte [rax + 0x11], 0
je 0x48ebc4
mov r8d, dword [rdi + 0x28]
mov rax, qword [rdi]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov edx, ebp
xor r9d, r9d
call fcn.004c63a0
cmp byte [rdi + 0x30], 0
js 0x48ec17
mov r9d, dword [rdi + 0x28]
movsx edi, word [rdi + 0x38]
mov eax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x48ec73
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [rsi + 0x90], edx
mov rdx, qword [rsi + 0x88]
lea rcx, [rcx + rcx*2]
mov qword [rdx + rcx*8], 0x70
mov dword [rdx + rcx*8 + 8], r9d
mov dword [rdx + rcx*8 + 0xc], ebp
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x48ec87
add rdi, 0x10
mov r14, qword [rdi]
mov eax, dword [r14 + 0x64]
not eax
or eax, 0xfffffffc
lea rdi, [r14 + 0x28]
cmp eax, 0xfffffffd
jne 0x48ec1b
mov r9d, dword [r14 + 0x58]
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x48eca8
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x70
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], ebp
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x48ecbc
mov dword [rsp + 0x20], ebp
mov rcx, rsi
mov edx, 0x70
xor r8d, r8d
call fcn.0047df60
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
jne 0x48ed0e
mov rcx, qword [rsi + 0x88]
cdqe
lea rax, [rax + rax*2]
mov byte [rcx + rax*8 + 1], 0xfd
mov dword [rcx + rax*8 + 0x10], edi
jmp 0x48ed0e
mov dword [rsp + 0x20], ebp
mov rcx, rsi
mov edx, 0x70
xor r8d, r8d
call fcn.0047df60
mov rcx, qword [rsp + 0x60]
mov rsi, qword [rcx + 0x10]
mov rdx, r14
mov r14, rcx
call fcn.004c65a0
test rax, rax
je 0x48ed0e
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
je 0x48eced
mov edx, 0xfffffff8
mov r8, rax
call fcn.00444fc0
jmp 0x48ed0e
mov rcx, qword [rsi + 0x88]
mov edx, dword [rsi + 0x90]
add edx, 0xffffffff
movsxd rdx, edx
lea rdx, [rdx + rdx*2]
mov byte [rcx + rdx*8 + 1], 0xf8
mov qword [rcx + rdx*8 + 0x10], rax
lea esi, [r12 - 1]
mov rax, qword [r15 + 8]
mov rbp, qword [rax]
mov eax, dword [rbx + 0x90]
cmp dword [rbx + 0x94], eax
jle 0x48ed5e
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [rbx + 0x90], edx
mov rdx, qword [rbx + 0x88]
lea rcx, [rcx + rcx*2]
mov qword [rdx + rcx*8], 0x75
mov dword [rdx + rcx*8 + 8], esi
mov dword [rdx + rcx*8 + 0xc], 0
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x48ed79
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x75
xor r8d, r8d
mov r9d, esi
call fcn.0047df60
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x48edae
test eax, eax
jns 0x48ed8f
mov eax, dword [rbx + 0x90]
add eax, 0xffffffff
cdqe
lea rdx, [rax + rax*2]
shl rdx, 3
add rdx, qword [rbx + 0x88]
mov rcx, rbx
mov r8, rbp
xor r9d, r9d
call fcn.0047e190
mov rcx, rbx
mov edx, 0xc
lea r8, [0x00602dd0]
call fcn.00419d20
test rax, rax
je 0x48ee2e
mov dword [rax + 8], r12d
lea ecx, [r12 + 2]
mov dword [rax + 0xc], ecx
mov dword [rax + 0x3c], r12d
mov dword [rax + 0x4c], esi
mov dword [rax + 0x54], r12d
mov word [rax + 0x4a], 0x10
lea edx, [r12 + 1]
mov dword [rax + 0x68], edx
mov dword [rax + 0x84], r12d
mov dword [rax + 0x94], r12d
mov dword [rax + 0xb0], ecx
mov dword [rax + 0xac], r12d
mov dword [rax + 0xf8], r12d
cmp dword [r14 + 0x34], 0
jne 0x48ee1d
mov dword [r14 + 0x34], 1
mov r15, qword [r15]
test r15, r15
je 0x48ee2e
mov rsi, qword [r14 + 0x10]
jmp 0x48eb72
mov r14, qword [r14 + 0x58]
test r14, r14
mov r15, qword [rsp + 0x68]
je 0x48ef26
mov rax, qword [rsp + 0x60]
mov byte [rax + 0x23], 0
cmp dword [r14], 0
jle 0x48ef26
lea rbx, [r14 + 0x20]
xor edi, edi
jmp 0x48eea8
lea ebp, [r8 + 1]
mov dword [rcx + 0x90], ebp
mov rcx, qword [rcx + 0x88]
lea rbp, [r8 + r8*2]
mov byte [rcx + rbp*8], dl
mov word [rcx + rbp*8 + 2], 0
mov dword [rcx + rbp*8 + 4], eax
mov dword [rcx + rbp*8 + 8], esi
mov dword [rcx + rbp*8 + 0xc], 0
mov qword [rcx + rbp*8 + 0x10], 0
mov byte [rcx + rbp*8 + 1], 0
add rdi, 1
movsxd rax, dword [r14]
add rbx, 0x20
cmp rdi, rax
jge 0x48ef26
mov esi, dword [rbx]
test esi, esi
jle 0x48ee98
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x10], 0
je 0x48ee98
mov rbp, qword [rbx - 0x18]
mov rcx, qword [rsp + 0x60]
mov rdx, rbp
mov r8d, esi
call fcn.004c68a0
cmp eax, esi
je 0x48ee98
test rbp, rbp
je 0x48eeec
mov ecx, dword [rbp + 4]
not ecx
or ecx, 0xffbfffff
mov edx, 0x50
cmp ecx, 0xffffffff
jne 0x48eef1
mov edx, 0x51
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx + 0x10]
movsxd r8, dword [rcx + 0x90]
cmp dword [rcx + 0x94], r8d
jg 0x48ee5b
mov dword [rsp + 0x20], 0
mov r8d, eax
mov r9d, esi
call fcn.0047df60
jmp 0x48ee98
mov rbx, qword [rsp + 0x60]
cmp byte [rbx + 0xd5], 0
je 0x49005a
mov rax, qword [rbx + 0xc0]
mov r9d, dword [rax + 0xbc]
test r9d, r9d
je 0x49005a
mov r8d, dword [rax + 0xb8]
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x49003b
lea ecx, [rax + 1]
mov r15, qword [rsp + 0x68]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x76
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x490055
lea rdx, [0x005ff044]
jmp 0x491cd9
lea rbp, [0x00603b8f]
jmp 0x49261d
lea rdx, [0x005ff0a3]
jmp 0x49160e
mov qword [rsp + 0x90], r13
mov rbp, qword [r13 - 0x10]
test rbp, rbp
je 0x48fcd6
mov rax, qword [rsp + 0x90]
mov r14d, dword [rax - 8]
lea rdx, [r14 + 1]
mov rcx, r12
call fcn.00429840
test rax, rax
je 0x48fcd6
mov rdi, rax
mov rcx, rax
mov rdx, rbp
mov r8, r14
call fcn.005f4c20
mov byte [rdi + r14], 0
movzx eax, byte [rdi]
cmp byte [rax + rsi], 0
jns 0x490f12
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
xor edx, edx
mov rsi, rdi
jmp 0x48f04e
mov byte [rsi], bl
add rdx, 1
add ecx, 1
add rsi, 1
movsxd rbp, ecx
movzx ebx, byte [rdi + rbp]
cmp bl, al
jne 0x48f041
add ecx, 1
movsxd rbp, ecx
cmp byte [rdi + rbp], al
jne 0x490f0f
mov byte [rsi], al
jmp 0x48f043
mov rax, qword [rsp + 0x68]
mov qword [rax + 0x68], r9
cmp byte [r15 + 0xc5], 0
jne 0x48f0b5
test rsi, rsi
je 0x48f0b5
cmp dword [r13 - 0x80], 0
jne 0x48f0b5
mov al, 1
test al, al
je 0x48f0b5
mov rax, qword [rsi + 0x60]
mov rcx, qword [r15 + 0x20]
cmp rax, qword [rcx + 0x38]
mov eax, 1
mov rcx, qword [rsp + 0xa8]
cmove ecx, eax
mov qword [rsp + 0xa8], rcx
mov r12, qword [rsp + 0x60]
xor ebp, ebp
cmp byte [r15 + 0x67], 0
je 0x48f0ca
xor esi, esi
jmp 0x48f204
mov rax, qword [r12]
mov qword [rsp + 0x168], r12
mov rax, qword [rax + 0x20]
movsxd rbp, dword [rsp + 0xa8]
mov rcx, rbp
shl rcx, 5
mov rdx, qword [rax + rcx]
mov qword [rsp + 0x1b0], rdx
mov qword [rsp + 0x160], rcx
mov rax, qword [rax + rcx + 0x18]
mov qword [rsp + 0x1a0], rax
lea rax, [0x005fb667]
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x1c0], rax
cmp ebp, 1
sete byte [rsp + 0x1a8]
lea rcx, [rsp + 0x170]
mov qword [rsp + 0x170], r12
lea rax, [0x004e0ac0]
mov qword [rsp + 0x178], rax
lea rax, [0x004e0b30]
mov qword [rsp + 0x180], rax
lea rax, [0x004cf1c0]
mov qword [rsp + 0x188], rax
mov dword [rsp + 0x190], 0
mov word [rsp + 0x194], 0
lea rax, [rsp + 0x168]
mov qword [rsp + 0x198], rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0x140], xmm0
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x120], xmm0
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xf8], rax
lea rdx, [rsp + 0xd0]
call fcn.004cec80
xor ebp, ebp
test eax, eax
je 0x48fe30
xor esi, esi
mov r12, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x78]
jmp 0x48d5a5
mov ecx, 0x20
call fcn.00404550
test rax, rax
mov rdx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
je 0x48f25f
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov qword [rax + 0x18], 0
mov qword [rax], rsi
mov rcx, qword [rsp + 0x88]
movups xmm0, xmmword [rcx]
movups xmmword [rax + 8], xmm0
mov rcx, qword [rdx + 0x190]
mov qword [rax + 0x18], rcx
mov qword [rdx + 0x190], rax
cmp byte [rdx + 0x124], 1
jbe 0x48f26f
mov rax, rdi
xor edi, edi
jmp 0x48f28c
test rdi, rdi
je 0x48f28a
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
xor r9d, r9d
call fcn.004d3ed0
jmp 0x48f28c
xor eax, eax
mov qword [r12 + 0x28], rax
mov byte [r12 + 1], 0xb
test rdi, rdi
je 0x48f2a7
mov rcx, rbx
mov rdx, rdi
call fcn.00468370
mov qword [r13 - 0x70], r12
jmp 0x491d07
mov r12, 0xffffffffffff8000
test r13, r13
je 0x48f2cb
mov edx, 0x68
mov rcx, r13
call fcn.00429840
jmp 0x48f2d5
mov ecx, 0x68
call fcn.00404550
test rax, rax
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x88]
je 0x48ae12
xorps xmm0, xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x60], 0
mov qword [rdx + 0x150], rax
mov dword [rax + 0x2c], 1
movsx ebp, word [rcx + 0x36]
lea ecx, [rbp - 1]
lea edx, [rbp + 6]
test ecx, ecx
cmovns edx, ecx
sar edx, 3
lea ecx, [rdx + rdx*2]
shl ecx, 6
add ecx, 0xc0
mov qword [rsp + 0x70], rax
mov word [rax + 0x36], bp
movsxd rbx, ecx
test r13, r13
je 0x48fa9b
mov rcx, r13
mov rdx, rbx
call fcn.00429840
jmp 0x48faa3
mov rcx, qword [rcx + 0x200]
mov rdx, qword [rsi + 0x168]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 0
lea r8, [0x00603004]
mov edx, 0x20
mov r9, rdi
call rax
cmp eax, 1
je 0x48f3e8
mov ecx, eax
not ecx
or ecx, 2
cmp ecx, 0xffffffff
jne 0x4903b5
test eax, eax
mov rsi, qword [rsp + 0x60]
jne 0x4903d0
jmp 0x48afcb
mov rcx, qword [rcx + 0x200]
mov rdx, qword [rsi + 0x168]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 0
lea r8, [0x00602ff4]
mov edx, 0x20
mov r9, rdi
call rax
cmp eax, 1
jne 0x4903a8
lea rdx, [0x005ff140]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.00419aa0
mov dword [rsi + 0x18], 0x17
jmp 0x4903d0
movabs rax, 0xf8377c1cb6a7a174
movabs rbp, 0x7e1bf1d3b7f998cc
mov r11d, edx
xor r11d, 3
and r11d, edx
xor r9d, r9d
mov rdx, rbp
not rdx
mov qword [rsp + 0x68], rdx
movabs rdx, 0x7fffffffffffffd
and rdx, rbp
mov qword [rsp + 0x70], rdx
mov r12, rax
not r12
movabs r13, 0x7fffffffffffffc
and r13, rax
xor edi, edi
mov rdx, r9
shl rdx, 5
mov rdx, qword [r8 + rdx + 8]
mov ebx, dword [rdx + 4]
mov edx, ebx
not edx
mov r10d, edi
not r10d
mov r15d, edx
and r15d, 0x9d59f4b0
and ebx, 0x62a60b4f
or ebx, r15d
or edx, r10d
and r10d, 0x9d59f4b0
and edi, 0x62a60b4f
or edi, r10d
xor edi, ebx
not edx
or edx, edi
mov ebx, r9d
and ebx, 1
mov rdi, r9
xor rdi, 1
or rdi, rbx
shl rdi, 5
mov rbx, qword [r8 + rdi + 8]
mov ebx, dword [rbx + 4]
mov esi, ebx
not esi
mov ebp, edx
not ebp
mov eax, esi
and eax, 0x2907460c
and ebx, 0xd6f8b9f3
or ebx, eax
or esi, ebp
and ebp, 0x2907460c
and edx, 0xd6f8b9f3
or edx, ebp
xor edx, ebx
not esi
or esi, edx
mov rdx, r9
not rdx
mov rax, rdx
movabs rbx, 0x7e1bf1d3b7f998cc
and rax, rbx
mov rbp, r9
mov rdi, qword [rsp + 0x68]
and rbp, rdi
or rbp, rax
mov eax, edi
and eax, 2
add rax, qword [rsp + 0x70]
xor rax, rbp
mov ebp, ebx
or ebp, edi
and ebp, r9d
and ebp, 2
or rbp, rax
shl rbp, 5
mov rax, qword [r8 + rbp + 8]
mov eax, dword [rax + 4]
mov ebx, eax
not ebx
mov edi, esi
not edi
mov ebp, ebx
and ebp, 0xb4f2838a
and eax, 0x4b0d7c75
or eax, ebp
or ebx, edi
and edi, 0xb4f2838a
and esi, 0x4b0d7c75
or esi, edi
xor esi, eax
not ebx
or ebx, esi
movabs rbp, 0xf8377c1cb6a7a174
and rdx, rbp
mov rax, r9
and rax, r12
or rax, rdx
mov edx, r12d
and edx, 3
or rdx, r13
xor rdx, rax
mov eax, ebp
or eax, r12d
and eax, r9d
and eax, 3
or rax, rdx
shl rax, 5
mov rax, qword [r8 + rax + 8]
mov eax, dword [rax + 4]
mov edi, eax
not edi
mov edx, ebx
not edx
mov ebp, edi
and ebp, 0xf2231b91
and eax, 0xddce46e
or eax, ebp
or edi, edx
and edx, 0xf2231b91
and ebx, 0xddce46e
or ebx, edx
xor ebx, eax
not edi
or edi, ebx
add r9, 4
add r11, 0xfffffffffffffffc
jne 0x48f45b
test r14, r14
je 0x48f63e
movabs r10, 0xbdc38791d870b0d
mov rax, r9
shl rax, 5
lea rdx, [rax + r8]
add rdx, 8
mov r8, r10
not r8
mov rbp, qword [rdx]
mov esi, dword [rbp + 4]
mov ebp, esi
not ebp
mov ebx, edi
not ebx
mov eax, ebp
and eax, 0x60aa0d69
and esi, 0x9f55f296
or esi, eax
or ebp, ebx
and ebx, 0x60aa0d69
and edi, 0x9f55f296
or edi, ebx
xor edi, esi
not ebp
or edi, ebp
add r9, 1
add r14, r10
add rdx, 0x20
add r14, r8
jne 0x48f5fb
mov eax, edi
xor eax, 0xffbffdf7
and eax, edi
mov r13, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x60]
mov r9, qword [rsp + 0x88]
mov r10d, dword [rsp + 0x78]
mov edx, eax
and edx, r10d
xor eax, r10d
or eax, edx
mov dword [r9 + 4], eax
lea eax, [rcx + 1]
mov dword [r9 + 0x28], eax
mov rax, qword [rbp]
mov r8d, dword [rax + 0x94]
cmp r8d, ecx
jg 0x491d07
lea rdx, [0x00603afc]
mov rcx, qword [rsp + 0x60]
call fcn.00419aa0
jmp 0x491d07
mov ecx, eax
xor ecx, 2
test ecx, eax
jne 0x4903b5
test eax, eax
mov rsi, qword [rsp + 0x60]
jne 0x4903d0
jmp 0x488f35
mov qword [rsp + 0x90], r13
mov rdi, qword [r13 - 0x58]
test rdi, rdi
je 0x4900dc
mov rax, qword [rsp + 0x90]
mov ebx, dword [rax - 0x50]
lea rdx, [rbx + 1]
mov rcx, qword [rsp + 0x70]
call fcn.00429840
test rax, rax
je 0x4900dc
mov rbp, rax
mov rcx, rax
mov rdx, rdi
mov r8, rbx
call fcn.005f4c20
mov byte [rbp + rbx], 0
movzx eax, byte [rbp]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x49110e
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
mov r8d, 0xffffffff
xor ebx, ebx
mov rdi, rbp
jmp 0x48f74d
mov byte [rdi], dl
add rbx, 1
add ecx, 1
add rdi, 1
movsxd rdx, ecx
movzx edx, byte [rbp + rdx]
cmp dl, al
jne 0x48f740
sub ecx, r8d
movsxd rdx, ecx
cmp byte [rbp + rdx], al
jne 0x49110b
mov byte [rdi], al
jmp 0x48f742
mov rax, qword [r13 - 0x40]
mov qword [r13 - 0x70], rax
jmp 0x491d07
add rax, rdx
lea rdx, [0x005ff044]
jmp 0x491756
add rax, rbp
lea rbp, [0x00603b8f]
movzx edx, byte [rax]
jmp 0x49261d
add rax, rdx
lea rdx, [0x005ff0a3]
jmp 0x4908aa
mov rax, qword [r15 + 0x1c8]
mov qword [r14], rax
mov qword [r15 + 0x1c8], r14
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x48f7cd
mov rcx, r15
call fcn.00468370
cmp qword [r12 + 0x160], 0
jne 0x48f7e3
mov rcx, r15
mov rdx, rsi
call fcn.00401e90
lea rax, [r13 - 0xe8]
cmp dword [r13 - 0x80], 0
je 0x48f7fc
movups xmm0, xmmword [rdi]
movups xmmword [rax], xmm0
jmp 0x491d07
mov rcx, qword [rsp + 0x88]
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
jmp 0x491d07
test eax, eax
jle 0x48f847
movabs rbp, 0x6a47f1a918f540fa
mov rdx, rbp
not rdx
add rdx, rax
add rdx, rbp
mov r12d, eax
xor r12d, 0xfffffffc
and r12d, eax
cmp rdx, 3
jae 0x490908
xor r8d, r8d
xor edx, edx
jmp 0x490a32
xor eax, eax
jmp 0x490a92
xor esi, esi
mov rbx, r14
mov rax, qword [r14 + 0x20]
mov r12, qword [rsp + 0x78]
mov r8, qword [rax + r12]
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 8]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
lea rdx, [0x006051c2]
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
mov r9, qword [rsp + 0x80]
call fcn.004d54f0
mov rcx, r14
mov rdx, rsi
call fcn.00408130
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x10]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + r12 + 0x18]
mov eax, dword [rax]
add eax, 1
movsxd rdx, dword [rcx + 0x90]
cmp dword [rcx + 0x94], edx
jle 0x48fbf1
lea ebx, [rdx + 1]
mov dword [rcx + 0x90], ebx
mov rcx, qword [rcx + 0x88]
lea rdx, [rdx + rdx*2]
mov dword [rcx + rdx*8], 0x64
mov dword [rcx + rdx*8 + 4], ebp
mov dword [rcx + rdx*8 + 8], 1
mov dword [rcx + rdx*8 + 0xc], eax
mov qword [rcx + rdx*8 + 0x10], 0
jmp 0x48fc08
mov r13, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
jmp 0x490ada
test eax, eax
jne 0x491d07
jmp 0x485515
xor ebx, ebx
mov r15, qword [rsp + 0x70]
jmp 0x490d41
xor r15d, r15d
jmp 0x494265
xor ebp, ebp
lea eax, [r12 + 3]
test r12d, r12d
cmovns eax, r12d
sar eax, 2
lea edi, [rax + 3]
test rbp, rbp
mov qword [rsp + 0x70], rbx
je 0x48f9a8
mov edx, dword [rbp + 4]
lea ecx, [rdx + rdi]
movsxd rax, dword [rbp]
cmp ecx, eax
jle 0x48f9f8
movsxd rcx, edi
lea rbx, [rcx + rax*2]
lea r8, [rbx*4]
mov rcx, qword [rsp + 0x68]
cmp qword [rcx + 0x1f0], rbp
jbe 0x48f9e0
cmp qword [rcx + 0x1e0], rbp
jbe 0x48f9d2
mov rcx, qword [rsp + 0x68]
cmp qword [rcx + 0x1e8], rbp
ja 0x48f9e0
movzx eax, word [rcx + 0x1a6]
cmp r8, rax
ja 0x48f9e0
mov rax, rbp
jmp 0x48f9ed
add eax, 0xd
movsxd rbx, eax
lea rdx, [rbx*4]
mov rcx, qword [rsp + 0x68]
call fcn.00429840
test rax, rax
je 0x48f9ce
mov dword [rax + 4], 2
jmp 0x48f9ed
xor ebp, ebp
jmp 0x48fa30
cmp r8, 0x81
mov rcx, qword [rsp + 0x68]
jb 0x48f9a3
mov rdx, rbp
call fcn.00429900
test rax, rax
je 0x48fa30
mov dword [rax], ebx
mov edx, dword [rax + 4]
lea ecx, [rdx + rdi]
mov rbp, rax
movsxd rax, edx
mov dword [rbp + rax*4], r14d
lea edx, [rax + 1]
movsxd rdx, edx
mov dword [rbp + rdx*4], edi
add eax, 2
cdqe
lea r14, [rax*4]
add r14, rbp
mov dword [rbp + 4], ecx
mov rcx, r14
mov rdx, r15
mov r8, r12
call fcn.005f4c20
mov byte [r12 + r14], 0
mov rax, qword [rsp + 0x60]
mov qword [rax + 0x138], rbp
mov rbx, qword [rsp + 0x70]
mov word [rsi + 0x30], bx
movsx eax, bx
mov rcx, qword [rsp + 0x68]
cmp dword [rcx + 0xac], eax
jge 0x491d07
lea rdx, [0x00604c1a]
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.00419aa0
mov rax, qword [rdi]
jmp 0x48fa7f
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x491d07
mov ecx, dword [rsi + 4]
not ecx
or ecx, 0xfffffffc
cmp ecx, 0xffffffff
jne 0x48fa72
mov ecx, dword [rsi + 0x34]
test ecx, ecx
jle 0x48fa72
mov dword [rax + 0x54], ecx
jmp 0x491d07
mov rcx, rbx
call fcn.00404550
mov rdi, rax
test rax, rax
je 0x48fab8
mov rcx, rdi
xor edx, edx
mov r8, rbx
call fcn.005f4c10
mov rsi, qword [rsp + 0x70]
mov qword [rsi + 8], rdi
mov rdi, qword [rsp + 0x88]
mov r8, qword [rdi]
lea rdx, [0x0060618f]
mov rcx, r13
call fcn.00419c10
mov qword [rsi], rax
mov rcx, qword [rsi + 8]
test rcx, rcx
sete dl
test rax, rax
sete bl
or rax, rcx
je 0x48ae12
xor bl, dl
jne 0x48ae12
mov rdx, qword [rdi + 8]
movsx rax, word [rsi + 0x36]
shl rax, 3
lea r8, [rax + rax*2]
call fcn.005f4c20
cmp word [rsi + 0x36], 0
jle 0x490e13
xor edi, edi
test r13, r13
je 0x490d5c
mov rsi, qword [rsp + 0x70]
jmp 0x48fb62
mov qword [rbp], 0
xor eax, eax
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
mov byte [rbp + r8*8 + 0xe], al
add rdi, 1
movsx rax, word [rsi + 0x36]
cmp rdi, rax
jge 0x490e13
mov rax, qword [rsi + 8]
lea rcx, [rdi + rdi*2]
lea rbp, [rax + rcx*8]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rcx
mov rsi, qword [rax + rcx*8]
test rsi, rsi
je 0x48fb32
mov rcx, rsi
call fcn.005f4bd8
mov r15, rax
add r15, 1
mov rcx, r13
mov rdx, r15
call fcn.00429840
test rax, rax
je 0x48fb32
mov rbx, rax
mov rcx, rax
mov rdx, rsi
mov r8, r15
call fcn.005f4c20
mov qword [rbp], rbx
mov cl, byte [rbx]
test cl, cl
je 0x48fb3a
add rbx, 1
xor eax, eax
mov rsi, qword [rsp + 0x70]
lea rdx, [0x005fade0]
mov rbp, qword [rsp + 0x60]
mov r8, qword [rsp + 0x68]
movzx ecx, cl
add al, byte [rcx + rdx]
movzx ecx, byte [rbx]
add rbx, 1
test cl, cl
jne 0x48fbdb
jmp 0x48fb4b
mov dword [rsp + 0x20], eax
mov edx, 0x64
mov r8d, ebp
mov r9d, 1
call fcn.0047df60
lea rdx, [0x0060520d]
mov rcx, r14
mov r8, qword [rsp + 0x80]
call fcn.00419c10
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0xfffffffa
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x95
mov r8d, ebp
xor r9d, r9d
call fcn.004c62a0
mov eax, dword [r15 + 0x90]
test eax, eax
jle 0x48fc67
mov rcx, qword [r15 + 0x88]
add eax, 0xffffffff
lea rax, [rax + rax*2]
mov word [rcx + rax*8 + 2], 0
mov r8, qword [r15]
mov r9d, dword [r8 + 0x28]
test r9d, r9d
jle 0x490528
mov r11d, dword [r15 + 0xcc]
mov rcx, qword [r8 + 0x20]
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x11], 0
je 0x48fca4
mov ecx, dword [r15 + 0xd0]
mov ebx, ecx
and ebx, 1
xor ecx, 1
or ecx, ebx
mov dword [r15 + 0xd0], ecx
mov ecx, r11d
not ecx
cmp r9d, 1
jne 0x4904f9
and ecx, 0x2d68c511
mov edx, r11d
and edx, 0xd2973aee
or edx, ecx
xor edx, 0x2d68c510
and r11d, 1
or r11d, edx
jmp 0x490521
xor edi, edi
mov rcx, r12
mov rdx, rdi
call fcn.00408130
mov r13, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x88]
lea rdx, [0x0060308d]
call fcn.00419aa0
jmp 0x491d07
xor esi, esi
mov rax, qword [r12 + 0x30]
mov rcx, rax
xor rcx, 0xffffffffffffbfff
test rcx, rax
je 0x48fd65
cmp qword [r15 + 0x48], 0
sete al
test rsi, rsi
setne cl
cmp cl, al
je 0x48fd65
test rsi, rsi
je 0x48fd65
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea rdx, [0x00605ed0]
lea r8, [0x00605c9f]
mov rcx, qword [rsp + 0x60]
mov r9, qword [rsp + 0x88]
call fcn.004d54f0
jmp 0x490115
test rsi, rsi
sete al
setne dl
mov rcx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x70]
mov ebx, dword [rcx + rbx*8 + 8]
mov ecx, ebx
xor ecx, 0xfffffff0
test ecx, ebx
setne cl
sete bl
xor bl, dl
jne 0x490104
or al, cl
xor al, 1
jne 0x490104
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea rdx, [0x00605ed0]
lea r8, [0x00605cda]
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
mov r9, qword [rsp + 0x88]
call fcn.004d54f0
mov r13, r14
jmp 0x492b3c
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x90], r13
mov rcx, qword [rax + 0x200]
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x168]
mov qword [rsp + 0x28], rax
mov rdi, r10
mov qword [rsp + 0x20], r10
mov edx, 9
xor r9d, r9d
call rbx
cmp eax, 1
jne 0x49083f
lea rdx, [0x005ff140]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.00419aa0
mov dword [rsi + 0x18], 0x17
jmp 0x49086a
mov rax, qword [rsp + 0x68]
lea rsi, [rax + 8]
mov rcx, qword [rsi]
test rcx, rcx
je 0x490bb3
movabs rdx, 0xffffffff00000000
mov ebx, 0xffffffff
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov r8, qword [rax + 0x20]
lea rdi, [r8 + 0x18]
xor ebp, ebp
add rbp, 1
lea rax, [rdi + 0x20]
add rdx, rbx
add rdx, 1
cmp qword [rdi], rcx
mov rdi, rax
jne 0x48fe66
sar rdx, 0x1b
add r8, rdx
jmp 0x490bbc
mov byte [rbp], 0
mov eax, dword [r15 + 0x28]
lea esi, [rax - 1]
test eax, eax
jle 0x48ff5a
movsxd r9, esi
shl r9, 5
add r9, qword [r15 + 0x20]
lea r8, [0x005fd6fa]
lea rdx, [0x005fade0]
mov rbp, qword [r9]
test rbp, rbp
je 0x48fee1
xor ebx, ebx
jmp 0x48fece
movzx ecx, byte [rcx + rdx]
cmp cl, byte [rax + rdx]
jne 0x48fee1
add rbx, 1
movzx ecx, byte [rbp + rbx]
movzx eax, byte [rdi + rbx]
cmp cl, al
jne 0x48fec1
test cl, cl
jne 0x48feca
jmp 0x48ff5a
test esi, esi
je 0x48fef7
lea eax, [rsi - 1]
add r9, 0xffffffffffffffe0
test esi, esi
mov esi, eax
jg 0x48feb5
jmp 0x491bce
xor ebp, ebp
jmp 0x48ff08
movzx ecx, byte [rcx + rdx]
cmp cl, byte [rax + rdx]
jne 0x48fee5
add rbp, 1
movzx ecx, byte [rbp + r8]
movzx eax, byte [rdi + rbp]
cmp cl, al
jne 0x48fefb
test cl, cl
jne 0x48ff04
mov rcx, r15
mov rdx, rdi
call fcn.00408130
xor eax, eax
mov rdi, qword [rsp + 0x78]
mov r9, rdi
mov r12, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov ecx, dword [rsp + 0xb0]
mov edx, dword [rsp + 0x80]
mov esi, dword [rsp + 0xa0]
mov ebx, dword [rsp + 0x98]
jmp 0x48b12f
mov rcx, r15
mov rdx, rdi
call fcn.00408130
mov rdi, qword [rsp + 0x78]
mov r9, rdi
mov rax, rsi
test eax, eax
mov r12, qword [rsp + 0x60]
mov r8, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x68]
mov ecx, dword [rsp + 0xb0]
mov edx, dword [rsp + 0x80]
mov esi, dword [rsp + 0xa0]
mov ebx, dword [rsp + 0x98]
jns 0x48b12f
jmp 0x48d592
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x3f], 1
mov qword [rsp + 0x78], rdi
jne 0x4921c2
mov rax, qword [rsp + 0x70]
mov r14, qword [rax]
test r14, r14
je 0x4921c2
mov rcx, r14
call fcn.005f4bd8
mov r11d, eax
xor r11d, 0xc0000000
and r11d, eax
je 0x491b71
lea eax, [r11 + 1]
xor ecx, ecx
lea r8, [0x005fade0]
mov ebx, r11d
mov rsi, rdi
movzx edi, byte [r12 + rcx]
movzx edx, byte [r14 + rcx]
test rdi, rdi
je 0x491b60
movzx edi, byte [rdi + r8]
movzx edx, byte [rdx + r8]
cmp dil, dl
jne 0x491b66
add ebx, 0xffffffff
add eax, 0xffffffff
add rcx, 1
cmp eax, 1
mov rdi, rsi
jg 0x48fffb
jmp 0x491b71
mov dword [rsp + 0x20], 0
mov r15, qword [rsp + 0x68]
mov rcx, r15
mov edx, 0x76
call fcn.0047df60
mov rbx, qword [rsp + 0x60]
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x490095
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
movaps xmm0, xmmword [0x005fa490]
movups xmmword [rcx + rax*8], xmm0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4900b3
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 8
xor r8d, r8d
mov r9d, 1
call fcn.0047df60
cmp dword [rbx + 0x30], 0
je 0x4900c5
mov dword [rbx + 0x18], 1
jmp 0x491d07
mov rcx, r15
mov rdx, rbx
call fcn.00419f90
mov dword [rbx + 0x18], 0x65
jmp 0x491d07
xor ebp, ebp
mov rcx, qword [rsp + 0x70]
mov rdx, rbp
call fcn.00408130
lea rdx, [0x0060308d]
mov rcx, qword [rsp + 0x60]
mov r8, rsi
call fcn.00419aa0
jmp 0x4911d4
test rsi, rsi
mov r13, r14
mov rbx, qword [rsp + 0x60]
je 0x492b3c
mov qword [rsp + 0xd0], 0
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
mov rcx, r12
mov rdx, rsi
mov r8b, 1
mov r9b, 0x41
call fcn.004808c0
test eax, eax
je 0x4907b7
mov r13, r14
jmp 0x491d07
test eax, eax
jne 0x491d07
jmp 0x489425
mov byte [rdi], 0
movsx eax, word [r14 + 0x36]
test eax, eax
jle 0x4901b8
mov r9, qword [r14 + 8]
movsxd r8, eax
xor ecx, ecx
lea rbx, [0x005fade0]
mov r13, rcx
lea rcx, [rcx + rcx*2]
mov rdi, qword [r9 + rcx*8]
xor esi, esi
jmp 0x490194
movzx edx, byte [rdx + rbx]
cmp dl, byte [rcx + rbx]
jne 0x4901a7
add rsi, 1
movzx edx, byte [rdi + rsi]
movzx ecx, byte [r12 + rsi]
cmp dl, cl
jne 0x490187
test dl, dl
jne 0x490190
jmp 0x4901bb
mov rcx, r13
add rcx, 1
cmp rcx, r8
jl 0x490178
mov r13, rcx
jmp 0x4901bb
xor r13d, r13d
cmp r13d, eax
jne 0x4901e4
mov r13, qword [rsp + 0x90]
lea r8, [r13 - 0x28]
lea rdx, [0x00605ef6]
mov rcx, qword [rsp + 0x60]
call fcn.00419aa0
xor ebx, ebx
jmp 0x491ed7
xor edx, edx
cmp ebp, 1
sete dl
mov rcx, qword [rsp + 0x60]
mov byte [rcx + 0x1c], 1
lea rax, [0x005fadb4]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x78], edx
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x30], 0
lea rdx, [0x00605b07]
mov r8, qword [rsp + 0x70]
mov r9, r8
call fcn.004d54f0
cmp ebp, 1
jne 0x490655
lea rdx, [0x00606025]
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x70]
mov r9, r8
call fcn.004d54f0
jmp 0x4906a4
xor r9d, r9d
mov rdx, qword [rax + 0x18]
test rdx, rdx
je 0x490272
mov edx, dword [rdx + 0x28]
cmp edx, r9d
cmovge r9d, edx
jmp 0x490272
mov r12, qword [r12 + 0x50]
test r12, r12
je 0x49037d
mov rdx, qword [r12 + 0x30]
test rdx, rdx
je 0x490286
mov edx, dword [rdx + 0x28]
cmp edx, r9d
cmovge r9d, edx
mov rdx, qword [r12 + 0x40]
test rdx, rdx
je 0x49029a
mov edx, dword [rdx + 0x28]
cmp edx, r9d
cmovge r9d, edx
mov rdx, qword [r12 + 0x60]
test rdx, rdx
je 0x4902ae
mov edx, dword [rdx + 0x28]
cmp edx, r9d
cmovge r9d, edx
mov rdx, qword [r12 + 0x20]
test rdx, rdx
je 0x4902ef
mov ebx, dword [rdx]
test ebx, ebx
jle 0x4902ef
add rdx, 8
mov ebp, ebx
xor esi, esi
jmp 0x4902d8
add rsi, 1
movsxd rdi, ebp
add rdx, 0x20
cmp rsi, rdi
jge 0x4902ef
mov rdi, qword [rdx]
test rdi, rdi
je 0x4902c8
mov edi, dword [rdi + 0x28]
cmp edi, r9d
cmovg r9d, edi
cmovg ebp, ebx
jmp 0x4902c8
mov rdx, qword [r12 + 0x38]
test rdx, rdx
je 0x490330
mov esi, dword [rdx]
test esi, esi
jle 0x490330
add rdx, 8
xor ebx, ebx
mov ebp, esi
jmp 0x490319
add rbx, 1
movsxd rdi, ebp
add rdx, 0x20
cmp rbx, rdi
jge 0x490330
mov rdi, qword [rdx]
test rdi, rdi
je 0x490309
mov edi, dword [rdi + 0x28]
cmp edi, r9d
cmovg r9d, edi
cmovg ebp, esi
jmp 0x490309
mov rdx, qword [r12 + 0x48]
test rdx, rdx
je 0x490264
mov esi, dword [rdx]
test esi, esi
jle 0x490264
add rdx, 8
xor ebx, ebx
mov ebp, esi
jmp 0x490366
add rbx, 1
movsxd rdi, ebp
add rdx, 0x20
cmp rbx, rdi
jge 0x490264
mov rdi, qword [rdx]
test rdi, rdi
je 0x490352
mov edi, dword [rdi + 0x28]
cmp edi, r9d
cmovg r9d, edi
cmovg ebp, esi
jmp 0x490352
lea edx, [r9 + 1]
mov dword [rax + 0x28], edx
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
mov r8d, dword [rax + 0x94]
cmp r8d, r9d
jg 0x490aff
lea rdx, [0x00603afc]
jmp 0x490afa
mov ecx, eax
xor ecx, 2
test ecx, eax
je 0x490ecd
lea rdx, [0x00602fdd]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.00419aa0
mov dword [rsi + 0x18], 1
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.00408130
jmp 0x491d07
mov byte [rdi], 0
mov cl, byte [r15]
test cl, cl
je 0x49040d
mov rdx, r15
add rdx, 1
xor eax, eax
lea rbx, [0x005fade0]
movzx ecx, cl
add al, byte [rcx + rbx]
movzx ecx, byte [rdx]
add rdx, 1
test cl, cl
jne 0x4903fa
jmp 0x49040f
xor eax, eax
mov rcx, qword [rsp + 0x70]
movzx r9d, word [rcx + 0x36]
test r9w, r9w
jle 0x4904d7
mov rcx, qword [rsp + 0x70]
mov r8, qword [rcx + 8]
xor r12d, r12d
lea rbx, [0x005fade0]
mov rdx, r8
jmp 0x49044c
add rdx, 0x18
add r12, 1
cmp r12d, r9d
je 0x4904d7
cmp byte [rdx + 0xe], al
jne 0x49043b
mov rsi, qword [rdx]
xor edi, edi
jmp 0x490466
movzx ecx, byte [rcx + rbx]
cmp cl, byte [rbp + rbx]
jne 0x49043b
add rdi, 1
movzx ecx, byte [rsi + rdi]
movzx ebp, byte [r15 + rdi]
cmp cl, bpl
jne 0x490458
test cl, cl
jne 0x490462
mov eax, r12d
mov qword [rsp + 0x88], rax
lea rax, [rax + rax*2]
mov qword [rsp + 0x78], rax
movzx eax, word [r8 + rax*8 + 0x12]
mov ecx, eax
not ecx
or ecx, 0xfffffff6
cmp ecx, 0xffffffff
je 0x4908e4
mov ecx, eax
xor ecx, 0xfffe
test ecx, eax
lea rax, [0x005fd189]
lea r8, [0x00604546]
cmove r8, rax
lea rdx, [0x00605f0b]
mov rcx, qword [rsp + 0x60]
mov r9, r15
call fcn.00419aa0
jmp 0x494265
mov r13, qword [rsp + 0x90]
lea r8, [r13 + 8]
lea rdx, [0x00605ef6]
mov rcx, qword [rsp + 0x60]
call fcn.00419aa0
jmp 0x49426d
and ecx, 0xd8ff042
mov ebx, r11d
and ebx, 0xf2700fbd
or ebx, ecx
xor ebx, 0xd8ff041
and r11d, 3
or r11d, ebx
cmp r9d, 2
jne 0x490e51
mov dword [r15 + 0xcc], r11d
mov rax, qword [r15 + 0x18]
mov rcx, qword [rax + 0xa0]
test rcx, rcx
cmove rcx, rax
mov byte [rcx + 0x21], 1
mov r15, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x80]
cmp byte [r14 + 0xc5], 0
je 0x4905f5
mov rax, qword [r14 + 0x20]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rax + rcx + 0x18]
add rcx, 0x38
mov rdx, rsi
mov r8, r15
call fcn.004790f0
mov rsi, rax
test rax, rax
je 0x4905fc
cmp byte [r14 + 0x67], 0
jne 0x490d3c
cmp byte [r14 + 0x68], 0
jne 0x490d3c
mov byte [r14 + 0x67], 1
mov rdi, r14
cmp dword [r14 + 0xe4], 0
jle 0x4905b0
mov dword [rdi + 0x198], 1
mov rax, rdi
add dword [rdi + 0x1a0], 1
mov word [rdi + 0x1a4], 0
mov rcx, qword [rdi + 0x160]
test rcx, rcx
je 0x490cbc
lea rdx, [0x005fc480]
call fcn.00419aa0
mov r14, rdi
mov rax, qword [rdi + 0x160]
mov dword [rax + 0x18], 7
jmp 0x490d3c
xor ebx, ebx
jmp 0x490d41
mov r10, qword [r15 + 0x30]
cmp qword [r15 + 0x28], r10
jne 0x490d3c
mov r11, r15
mov rbp, qword [r15 + 8]
mov r8, qword [r10 + 0x18]
test r8, r8
je 0x49080e
mov bl, byte [rbp]
test bl, bl
je 0x490cc6
lea rdx, [rbp + 1]
xor eax, eax
lea rdi, [0x005fade0]
movzx ecx, bl
movzx ecx, byte [rcx + rdi]
add ecx, eax
imul eax, ecx, 0x9e3779b1
movzx ebx, byte [rdx]
add rdx, 1
test bl, bl
jne 0x490636
jmp 0x490cc8
mov dword [rsp + 0x20], 0
lea rdx, [0x00605bb6]
lea r9, [0x005fadb4]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
mov rdi, qword [rsp + 0x70]
mov r8, rdi
call fcn.004d54f0
lea rdx, [0x00606025]
mov rcx, rsi
mov r8, rdi
mov r9, rdi
call fcn.004d54f0
lea rdx, [0x006060b8]
mov rcx, rsi
call fcn.004d54f0
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx + 0xa0]
test rax, rax
cmove rax, rcx
mov byte [rax + 0x21], 1
mov rax, qword [rsp + 0x90]
mov rsi, qword [rax + 8]
test rsi, rsi
je 0x49075c
mov rax, qword [rsp + 0x90]
mov edi, dword [rax + 0x10]
lea rdx, [rdi + 1]
mov rcx, r15
call fcn.00429840
test rax, rax
je 0x49075c
mov rbx, rax
mov rcx, rax
mov rdx, rsi
mov r8, rdi
call fcn.005f4c20
mov byte [rbx + rdi], 0
movzx eax, byte [rbx]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x4914e7
cmp al, 0x5b
movzx eax, al
mov edi, 0x5d
cmovne edi, eax
mov ecx, 1
xor edx, edx
mov rsi, rbx
jmp 0x49073b
mov byte [rsi], al
add rdx, 1
add ecx, 1
add rsi, 1
movsxd rax, ecx
movzx eax, byte [rbx + rax]
cmp al, dil
jne 0x49072e
add ecx, 1
movsxd rax, ecx
cmp byte [rbx + rax], dil
jne 0x4914e4
mov byte [rsi], dil
jmp 0x490730
xor ebx, ebx
jmp 0x491ecf
mov r9, qword [r14]
mov rcx, qword [rcx + 0x200]
mov rdx, qword [rdx + 0x168]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 0
mov edx, 0x1a
mov r8, qword [rsp + 0x70]
call rax
cmp eax, 1
jne 0x490edf
lea rdx, [0x005ff140]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.00419aa0
mov dword [rsi + 0x18], 0x17
jmp 0x491780
mov rsi, qword [rsp + 0xd0]
test rsi, rsi
je 0x491447
mov eax, dword [rsi + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
jne 0x4907de
cmp dword [rsi + 0x20], 0
je 0x4907e6
mov rcx, rsi
call fcn.00449ce0
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x49190b
cmp qword [rcx + 0x300], 0
je 0x4918e8
mov rdx, rsi
call fcn.004297f0
jmp 0x492b34
lea rdx, [r10 + 0xc]
add r10, 0x10
jmp 0x490cdd
lea rdx, [0x005ff045]
jmp 0x491cd9
lea rbp, [0x00603b90]
jmp 0x49261a
lea rdx, [0x005ff0a4]
jmp 0x49160e
mov ecx, eax
not ecx
or ecx, 2
cmp ecx, 0xffffffff
je 0x491476
lea rdx, [0x00602fdd]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.00419aa0
mov dword [rsi + 0x18], 1
mov r13, qword [rsp + 0x90]
mov r14, qword [rsp + 0x68]
jmp 0x483e9d
add rax, rdx
lea rdx, [0x005ff045]
jmp 0x491756
add rax, rbp
lea rbp, [0x00603b90]
mov r14, r8
movzx edx, byte [rax]
jmp 0x49261d
add rax, rdx
lea rdx, [0x005ff0a4]
mov rcx, qword [rsp + 0x60]
movzx ebp, byte [rax]
jmp 0x491613
mov ecx, eax
xor ecx, 2
test ecx, eax
je 0x49164b
lea rdx, [0x00602fdd]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.00419aa0
mov dword [rsi + 0x18], 1
jmp 0x483e9d
cmp r9w, 1
jg 0x49140c
lea rdx, [0x00605f27]
mov rcx, qword [rsp + 0x60]
mov r8, r15
call fcn.00419aa0
jmp 0x494265
movabs rdx, 0x2165e8f27bc052fa
mov edi, eax
xor edi, 3
and edi, eax
xor r8d, r8d
mov r15, rdx
not r15
movabs r10, 0x7fffffffffffffe
mov r13, rdx
and r10, rdx
xor edx, edx
mov rbx, r8
shl rbx, 5
mov rbx, qword [r14 + rbx + 8]
mov ebp, dword [rbx + 4]
mov ebx, ebp
and ebx, edx
xor ebp, edx
or ebp, ebx
mov rdx, r8
not rdx
mov rax, r13
and rdx, r13
mov rbx, r8
and rbx, r15
or rbx, rdx
mov edx, r15d
and edx, 1
or rdx, r10
xor rdx, rbx
mov ebx, eax
or ebx, r15d
and ebx, r8d
and ebx, 1
or rbx, rdx
shl rbx, 5
mov rdx, qword [r14 + rbx + 8]
mov edx, dword [rdx + 4]
mov ebx, edx
and ebx, ebp
xor ebp, edx
or ebp, ebx
mov edx, r8d
and edx, 2
mov rbx, r8
xor rbx, 2
or rbx, rdx
shl rbx, 5
mov rdx, qword [r14 + rbx + 8]
mov edx, dword [rdx + 4]
mov ebx, edx
not ebx
mov esi, ebp
not esi
mov r9d, ebx
and r9d, 0x4bc3fa8b
and edx, 0xb43c0574
or edx, r9d
or ebx, esi
and esi, 0x4bc3fa8b
and ebp, 0xb43c0574
or ebp, esi
xor ebp, edx
not ebx
or ebx, ebp
mov edx, r8d
and edx, 3
mov rax, r8
xor rax, 3
or rax, rdx
shl rax, 5
mov rax, qword [r14 + rax + 8]
mov eax, dword [rax + 4]
mov edx, eax
not edx
mov ebp, ebx
not ebp
mov esi, edx
and esi, 0x8732bb51
and eax, 0x78cd44ae
or eax, esi
or edx, ebp
and ebp, 0x8732bb51
and ebx, 0x78cd44ae
or ebx, ebp
xor ebx, eax
not edx
or edx, ebx
add r8, 4
add rdi, 0xfffffffffffffffc
jne 0x490934
test r12, r12
je 0x490a89
mov rax, r8
shl rax, 5
lea rbp, [rax + r14]
add rbp, 8
mov rax, qword [rbp]
mov ebx, dword [rax + 4]
mov eax, ebx
not eax
mov edi, edx
not edi
mov esi, eax
and esi, 0xfa13bb77
and ebx, 0x5ec4488
or ebx, esi
or eax, edi
and edi, 0xfa13bb77
and edx, 0x5ec4488
or edx, edi
xor edx, ebx
not eax
or edx, eax
add r8, 1
add rbp, 0x20
add r12, 0xffffffffffffffff
jne 0x490a46
mov eax, edx
xor eax, 0xffbffdf7
and eax, edx
mov edx, eax
not edx
mov ebp, r11d
not ebp
mov ebx, edx
and ebx, 0x3dd65a42
and eax, 0xc229a5bd
or eax, ebx
or edx, ebp
and ebp, 0x3dd65a42
and r11d, 0xc229a5bd
or r11d, ebp
xor r11d, eax
not edx
or edx, r11d
mov r8, qword [rsp + 0x68]
mov dword [r8 + 4], edx
mov r13, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x60]
lea eax, [rcx + 1]
mov dword [r8 + 0x28], eax
mov rax, qword [rdi]
mov r8d, dword [rax + 0x94]
cmp r8d, ecx
jg 0x490aff
lea rdx, [0x00603afc]
mov rcx, rdi
call fcn.00419aa0
cmp dword [r13 - 0x40], 0
je 0x491d07
mov rbp, qword [r13 - 0x58]
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rdi]
mov edx, 0x48
call fcn.00429840
mov rsi, rax
test rax, rax
je 0x490b69
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x30], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi + 0x40], 0
mov byte [rsi], 0x13
mov word [rsi + 0x32], 0xffff
test rbp, rbp
je 0x490b7b
mov qword [rsi + 0x10], rbp
mov eax, dword [rbp + 4]
mov ecx, eax
xor ecx, 0xffbffdf7
and ecx, eax
mov dword [rsi + 4], ecx
mov eax, dword [rbp + 0x28]
jmp 0x490b7d
test rbp, rbp
je 0x490b92
mov rcx, qword [rdi]
mov rdx, rbp
call fcn.00468370
jmp 0x490b92
xor eax, eax
lea ecx, [rax + 1]
mov dword [rsi + 0x28], ecx
mov rcx, qword [rdi]
mov r8d, dword [rcx + 0x94]
cmp r8d, eax
jle 0x490b9b
mov qword [r13 - 0x58], rsi
jmp 0x491d07
lea rdx, [0x00603afc]
mov rcx, rdi
call fcn.00419aa0
mov qword [r13 - 0x58], rsi
jmp 0x491d07
mov rax, qword [rsp + 0x68]
lea r8, [rax + 0x10]
mov r9, qword [r8]
mov rdi, qword [rsp + 0x68]
mov r8, qword [rdi + 0x18]
mov rcx, qword [rsp + 0x60]
xor edx, edx
call fcn.004190c0
mov qword [rsp + 0xc8], rax
mov rdx, qword [rdi + 0x28]
test rdx, rdx
je 0x490c07
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
test rcx, rcx
je 0x490bfc
cmp qword [rcx + 0x300], 0
jne 0x490c02
add dword [rdx + 0x2c], 0xffffffff
jne 0x490c07
call fcn.0047f4d0
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xc8]
mov qword [rax + 0x28], rcx
test rcx, rcx
je 0x491036
mov rax, qword [rsp + 0xc8]
add dword [rax + 0x2c], 1
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x48]
not eax
or eax, 0xfffffffd
cmp eax, 0xffffffff
je 0x491017
mov rax, qword [rsp + 0x68]
mov r8, qword [rax + 0x60]
mov rax, qword [rsp + 0xc8]
mov r9, qword [rax + 0x10]
test r9, r9
je 0x490c9a
lea rcx, [0x005fade0]
mov rdx, qword [r9]
xor ebx, ebx
jmp 0x490c79
movzx eax, byte [rbp + rcx]
cmp al, byte [rdi + rcx]
jne 0x490c91
add rbx, 1
movzx ebp, byte [rdx + rbx]
movzx edi, byte [r8 + rbx]
cmp bpl, dil
jne 0x490c6b
test bpl, bpl
jne 0x490c75
jmp 0x49100e
mov r9, qword [r9 + 0x28]
test r9, r9
jne 0x490c64
lea rdx, [0x006038e9]
xor ebp, ebp
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
xor r9d, r9d
call fcn.00419aa0
mov byte [rdi + 0x1d], 1
jmp 0x491038
xor ebx, ebx
mov r15, rsi
mov r14, rdi
jmp 0x490d41
xor eax, eax
xor edx, edx
div dword [r10 + 8]
shl rdx, 4
lea r10, [r8 + rdx]
add r10, 8
add rdx, r8
mov r9d, dword [rdx]
lea r8, [0x0213b3c8]
test r9d, r9d
je 0x490d2c
lea rbx, [0x005fade0]
mov r10, qword [r10]
add r9d, 0xffffffff
mov rdi, qword [r10 + 0x18]
xor eax, eax
jmp 0x490d0f
movzx edx, byte [rdx + rbx]
cmp dl, byte [rcx + rbx]
jne 0x490d22
add rax, 1
movzx edx, byte [rdi + rax]
movzx ecx, byte [rbp + rax]
cmp dl, cl
jne 0x490d02
test dl, dl
jne 0x490d0b
jmp 0x490d29
test r9d, r9d
jne 0x490cf3
jmp 0x490d2c
mov r8, r10
mov rax, qword [r8 + 0x10]
mov rcx, qword [rax + 0x58]
mov qword [r11 + 0x40], rcx
mov qword [rax + 0x58], r11
xor ebx, ebx
mov r15, rsi
mov rcx, r14
mov rdx, r15
call fcn.00401e90
mov rcx, r14
mov rdx, rbx
call fcn.0047f940
jmp 0x491d07
mov rsi, qword [rsp + 0x70]
jmp 0x490d91
mov rax, qword [rsp + 0x68]
mov qword [rax], 0
xor eax, eax
mov rsi, qword [rsp + 0x60]
mov byte [rsi + rbp*8 + 0xe], al
add rdi, 1
mov rsi, qword [rsp + 0x70]
movsx rax, word [rsi + 0x36]
cmp rdi, rax
jge 0x490e13
mov rax, qword [rsi + 8]
lea rbp, [rdi + rdi*2]
lea rcx, [rax + rbp*8]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], rax
mov r15, qword [rax + rbp*8]
test r15, r15
je 0x490d63
mov rcx, r15
call fcn.005f4bd8
mov rsi, rax
add rsi, 1
mov rcx, rsi
call fcn.00404550
test rax, rax
je 0x490d63
mov rbx, rax
mov rcx, rax
mov rdx, r15
mov r8, rsi
call fcn.005f4c20
mov rax, qword [rsp + 0x68]
mov qword [rax], rbx
mov cl, byte [rbx]
test cl, cl
je 0x490d6f
add rbx, 1
xor eax, eax
lea rdx, [0x005fade0]
mov rsi, qword [rsp + 0x60]
movzx ecx, cl
add al, byte [rcx + rdx]
movzx ecx, byte [rbx]
add rbx, 1
test cl, cl
jne 0x490dfd
jmp 0x490d76
mov rdi, qword [rsp + 0x88]
mov rdx, qword [rdi + 0x50]
mov rcx, r13
xor r8d, r8d
call fcn.004d2fa0
mov qword [rsi + 0x50], rax
mov rax, qword [r13 + 0x20]
shl r12, 5
mov rax, qword [rax + r12 + 0x18]
mov qword [rsi + 0x60], rax
mov eax, dword [rdi + 0x40]
mov dword [rsi + 0x40], eax
mov dword [rsi + 0x2c], 1
jmp 0x48ae12
mov ecx, 2
mov ebx, 0x48
jmp 0x490e71
or r11d, r10d
add rcx, 1
add rbx, 0x20
cmp r9, rcx
je 0x490521
mov edi, 1
shl edi, cl
mov r10d, edi
and r10d, r11d
btc r11d, ecx
mov rdx, qword [r8 + 0x20]
mov rdx, qword [rdx + rbx]
cmp byte [rdx + 0x11], 0
je 0x490e5d
mov ebp, dword [r15 + 0xd0]
mov edx, ebp
not edx
mov esi, edi
not esi
mov eax, edx
and eax, 0x22dd8bbb
and ebp, 0xdd227444
or ebp, eax
or edx, esi
and esi, 0x22dd8bbb
and edi, 0xdd227444
or edi, esi
xor edi, ebp
not edx
or edx, edi
mov dword [r15 + 0xd0], edx
jmp 0x490e5d
test eax, eax
mov rsi, qword [rsp + 0x60]
jne 0x4903d0
jmp 0x48b0b4
mov ecx, eax
not ecx
or ecx, 2
cmp ecx, 0xffffffff
je 0x491778
lea rdx, [0x00602fdd]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.00419aa0
mov dword [rsi + 0x18], 1
jmp 0x491780
mov byte [rsi], 0
mov eax, dword [r12 + 0x28]
lea ecx, [rax - 1]
mov qword [rsp + 0x70], rcx
test eax, eax
jle 0x490fd9
movsxd r9, dword [rsp + 0x70]
shl r9, 5
add r9, qword [r12 + 0x20]
lea r8, [0x005fd6fa]
lea rdx, [0x005fade0]
mov rbp, qword [r9]
test rbp, rbp
je 0x490f71
xor ebx, ebx
jmp 0x490f5c
movzx eax, byte [rsi + rdx]
cmp al, byte [rcx + rdx]
jne 0x490f71
add rbx, 1
movzx esi, byte [rbp + rbx]
movzx ecx, byte [rdi + rbx]
cmp sil, cl
jne 0x490f4f
test sil, sil
jne 0x490f58
jmp 0x490fd9
cmp dword [rsp + 0x70], 0
je 0x490f92
mov rcx, qword [rsp + 0x70]
lea eax, [rcx - 1]
add r9, 0xffffffffffffffe0
test ecx, ecx
mov qword [rsp + 0x70], rax
jg 0x490f43
jmp 0x48fcd8
xor ebp, ebp
jmp 0x490fa3
movzx eax, byte [rbx + rdx]
cmp al, byte [rcx + rdx]
jne 0x490f78
add rbp, 1
movzx ebx, byte [rbp + r8]
movzx ecx, byte [rdi + rbp]
cmp bl, cl
jne 0x490f96
test bl, bl
jne 0x490f9f
mov rcx, r12
mov rdx, rdi
call fcn.00408130
xor eax, eax
mov qword [rsp + 0x70], rax
mov r13, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x68]
jmp 0x487f1e
mov rcx, r12
mov rdx, rdi
call fcn.00408130
cmp dword [rsp + 0x70], 0
mov r13, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x68]
jns 0x487f1e
jmp 0x48fcf8
mov rax, qword [rsp + 0x68]
mov qword [rax + 0x68], r9
mov rax, qword [rsp + 0xc8]
cmp byte [rax + 0x3f], 1
jne 0x491063
lea rdx, [0x00605258]
mov rcx, qword [rsp + 0x60]
call fcn.00419aa0
xor ebp, ebp
cmp byte [r15 + 0xc4], 1
jne 0x48f1fd
mov eax, dword [r15 + 0xc8]
mov ecx, eax
and ecx, 1
xor eax, 1
or eax, ecx
mov dword [r15 + 0xc8], eax
jmp 0x48f1fd
mov rax, qword [rsp + 0xb8]
mov r12, qword [rax]
test r12, r12
je 0x491745
mov rax, qword [rsp + 0xb8]
mov edi, dword [rax + 8]
lea rdx, [rdi + 1]
mov rcx, r15
call fcn.00429840
test rax, rax
je 0x491745
mov rbp, rax
mov rcx, rax
mov rdx, r12
mov r8, rdi
call fcn.005f4c20
mov byte [rbp + rdi], 0
movzx eax, byte [rbp]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
jns 0x49208e
cmp al, 0x5b
movzx eax, al
mov edi, 0x5d
cmovne edi, eax
mov ecx, 1
xor edx, edx
mov rbx, rbp
jmp 0x4910e8
mov byte [rbx], al
add rdx, 1
add ecx, 1
add rbx, 1
movsxd rax, ecx
movzx eax, byte [rbp + rax]
cmp al, dil
jne 0x4910db
add ecx, 1
movsxd rax, ecx
cmp byte [rbp + rax], dil
jne 0x49208b
mov byte [rbx], dil
jmp 0x4910dd
mov byte [rdi], 0
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x28]
lea r13d, [rax - 1]
test eax, eax
jle 0x4911be
movsxd r9, r13d
shl r9, 5
mov rax, qword [rsp + 0x70]
add r9, qword [rax + 0x20]
lea r8, [0x005fd6fa]
lea r10, [0x005fade0]
mov rbx, qword [r9]
test rbx, rbx
je 0x491170
xor ecx, ecx
jmp 0x49115b
movzx edx, byte [rdi + r10]
cmp dl, byte [rax + r10]
jne 0x491170
add rcx, 1
movzx edi, byte [rbx + rcx]
movzx eax, byte [rbp + rcx]
cmp dil, al
jne 0x49114c
test dil, dil
jne 0x491157
jmp 0x4911be
test r13d, r13d
je 0x49118a
lea eax, [r13 - 1]
add r9, 0xffffffffffffffe0
test r13d, r13d
mov r13d, eax
jg 0x491140
jmp 0x4900de
xor ebx, ebx
jmp 0x49119d
movzx ecx, byte [rcx + r10]
cmp cl, byte [rax + r10]
jne 0x491175
add rbx, 1
movzx ecx, byte [rbx + r8]
movzx eax, byte [rbp + rbx]
cmp cl, al
jne 0x49118e
test cl, cl
jne 0x491199
mov rcx, qword [rsp + 0x70]
mov rdx, rbp
call fcn.00408130
jmp 0x4911d4
mov rcx, qword [rsp + 0x70]
mov rdx, rbp
call fcn.00408130
test r13d, r13d
js 0x4900eb
mov r13, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x88]
mov rcx, qword [rbx + 0x60]
test rcx, rcx
je 0x491216
mov rdx, qword [r14 + 0x20]
add rdx, 0x18
mov eax, 0xffffffff
xor ebp, ebp
add rbp, 1
add eax, 1
lea rbx, [rdx + 0x20]
cmp qword [rdx], rcx
mov rdx, rbx
jne 0x491201
jmp 0x49121b
mov eax, 0xffff8000
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rdi]
mov qword [rsp + 0xd0], rdi
mov rcx, qword [rcx + 0x20]
cdqe
mov rdx, rax
shl rdx, 5
mov rbp, qword [rcx + rdx]
mov qword [rsp + 0x118], rbp
mov rcx, qword [rcx + rdx + 0x18]
mov qword [rsp + 0x108], rcx
lea rcx, [0x00603035]
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], rsi
cmp eax, 1
sete byte [rsp + 0x110]
lea rcx, [rsp + 0xd8]
mov qword [rsp + 0xd8], rdi
lea rax, [0x004e0ac0]
mov qword [rsp + 0xe0], rax
lea rax, [0x004e0b30]
mov qword [rsp + 0xe8], rax
lea rax, [0x004cf1c0]
mov qword [rsp + 0xf0], rax
mov dword [rsp + 0xf8], 0
mov word [rsp + 0xfc], 0
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x100], rax
mov rdx, r15
call fcn.004cec80
test eax, eax
jne 0x484822
mov eax, dword [r15 + 4]
mov ecx, eax
not ecx
and ecx, 0xedb3b869
mov edx, eax
and edx, 0x124c4796
or edx, ecx
xor edx, 0xed93b869
and eax, 0x200000
or eax, edx
mov dword [r15 + 4], eax
cmp byte [rdi + 0x124], 1
jbe 0x49131f
mov rax, r15
xor r15d, r15d
jmp 0x491330
mov rcx, r14
mov rdx, r15
mov r8d, 1
call fcn.004d2d20
mov rsi, qword [rsp + 0x68]
mov qword [rsi + 0x40], rax
mov rcx, r14
mov rdx, r12
mov r8d, 1
call fcn.004d2fa0
mov qword [rsi + 0x20], rax
mov byte [rsi + 0x3f], 2
cmp byte [r14 + 0x67], 0
je 0x491363
mov rdi, qword [rsp + 0x60]
jmp 0x484822
mov rax, qword [rsp + 0x60]
movups xmm0, xmmword [rax + 0x110]
movaps xmmword [rsp + 0x150], xmm0
mov rcx, qword [rsp + 0x150]
cmp byte [rcx], 0x3b
je 0x491396
mov eax, dword [rsp + 0x158]
add rcx, rax
mov qword [rsp + 0x150], rcx
mov dword [rsp + 0x158], 0
mov rax, qword [r13 - 0xb8]
sub ecx, eax
movsxd rcx, ecx
add rax, rcx
lea rdi, [0x005fb0a0]
add rcx, 0xffffffffffffffff
movzx ebp, byte [rax - 1]
add rax, 0xffffffffffffffff
movzx edx, byte [rbp + rdi]
mov ebx, edx
xor bl, 0xfe
test bl, dl
jne 0x4913b7
mov qword [rsp + 0x150], rax
mov dword [rsp + 0x158], 1
mov qword [rsp + 0x20], 0
lea r8, [rsp + 0x150]
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
xor edx, edx
xor r9d, r9d
call fcn.00496e40
jmp 0x484822
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x60]
mov rax, qword [r14 + 0x20]
test rcx, rcx
je 0x49199b
lea rdx, [rax + 0x18]
mov r13d, 0xffffffff
xor ebx, ebx
add rbx, 1
add r13d, 1
lea rbp, [rdx + 0x20]
cmp qword [rdx], rcx
mov rdx, rbp
jne 0x49142e
jmp 0x4919a1
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea rdx, [0x00605ed0]
lea r8, [0x00605d0f]
mov rcx, qword [rsp + 0x60]
mov r9, qword [rsp + 0x88]
call fcn.004d54f0
jmp 0x492b34
test eax, eax
mov r13, qword [rsp + 0x90]
mov rax, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
jne 0x483e9d
xor ecx, ecx
cmp ebp, 1
sete dl
mov rax, qword [rax]
mov rbx, qword [rax + 0x1f8]
test rbx, rbx
je 0x49226f
mov cl, dl
lea edx, [rcx + rcx]
add edx, 0xa
mov r13, qword [rsp + 0x90]
mov r14, qword [rsp + 0x68]
mov r10, rdi
cmp byte [rax + 0xc5], 0
mov rdi, qword [rsp + 0x60]
jne 0x48cddb
jmp 0x48cd84
mov rsi, qword [rsp + 0x60]
jmp 0x48ae2c
mov byte [rsi], 0
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 8]
movzx eax, byte [rax]
lea rcx, [0x005fb0a0]
movzx esi, byte [rax + rcx]
and esi, 0xffffff80
mov rax, qword [r14]
mov qword [rsp + 0x48], rax
mov ecx, dword [rsp + 0x78]
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], esi
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x80], r13
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], rax
lea rdx, [0x006061a2]
mov r13, qword [rsp + 0x60]
mov rcx, r13
mov rdi, qword [rsp + 0x70]
mov r8, rdi
mov r9, rdi
call fcn.004d54f0
mov r9, qword [r14]
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], rbx
mov rax, qword [rsp + 0x80]
mov dword [rsp + 0x20], eax
lea rdx, [0x00606258]
mov rcx, r13
mov r8, rdi
call fcn.004d54f0
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x491e6c
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov rdx, qword [rsp + 0x88]
mov rax, qword [rax + rdx + 0x18]
mov eax, dword [rax]
add eax, 1
movsxd rdx, dword [rcx + 0x90]
cmp dword [rcx + 0x94], edx
jle 0x49165d
lea edi, [rdx + 1]
mov dword [rcx + 0x90], edi
mov rcx, qword [rcx + 0x88]
lea rdx, [rdx + rdx*2]
mov dword [rcx + rdx*8], 0x64
mov dword [rcx + rdx*8 + 4], ebp
mov dword [rcx + rdx*8 + 8], 1
mov dword [rcx + rdx*8 + 0xc], eax
mov qword [rcx + rdx*8 + 0x10], 0
jmp 0x491674
lea rdx, [0x005ff046]
jmp 0x491cd9
lea rbp, [0x00603b91]
jmp 0x49261a
lea rdx, [0x005ff0a5]
mov rcx, qword [rsp + 0x60]
movzx eax, byte [rdx]
lea rdx, [0x005fade0]
movzx eax, byte [rax + rdx]
cmp ebp, eax
jne 0x491632
mov dword [r13 - 0x10], 0x280
jmp 0x491d07
mov dword [r13 - 0x10], 0
lea rdx, [0x00602946]
call fcn.00419aa0
jmp 0x491d07
test eax, eax
mov rdi, qword [rsp + 0x60]
jne 0x483e9d
jmp 0x48cddb
mov dword [rsp + 0x20], eax
mov edx, 0x64
mov r8d, ebp
mov r9d, 1
call fcn.0047df60
mov rax, qword [rsp + 0x60]
mov r14, qword [rax + 0x10]
mov dword [rsp + 0x30], 0xfffffffa
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x95
mov r8d, ebp
xor r9d, r9d
call fcn.004c62a0
mov eax, dword [r14 + 0x90]
test eax, eax
jle 0x4916c9
mov rcx, qword [r14 + 0x88]
add eax, 0xffffffff
lea rax, [rax + rax*2]
mov word [rcx + rax*8 + 2], 1
mov r8, qword [r14]
mov r9d, dword [r8 + 0x28]
test r9d, r9d
jle 0x4917b9
mov r13d, dword [r14 + 0xcc]
mov rcx, qword [r8 + 0x20]
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x11], 0
je 0x49171a
mov edx, dword [r14 + 0xd0]
mov eax, edx
not eax
and eax, 0x7fc4a1a0
mov ecx, edx
and ecx, 0x803b5e5f
or ecx, eax
xor ecx, 0x7fc4a1a1
and edx, 1
or edx, ecx
mov dword [r14 + 0xd0], edx
mov ecx, r13d
not ecx
cmp r9d, 1
jne 0x49178a
and ecx, 0x74e4f64d
mov edx, r13d
and edx, 0x8b1b09b2
or edx, ecx
xor edx, 0x74e4f64c
and r13d, 1
or r13d, edx
jmp 0x4917b2
xor ebp, ebp
jmp 0x48f1fd
add rax, rdx
lea rdx, [0x005ff046]
mov rcx, qword [rsp + 0x60]
movzx edi, byte [rax]
jmp 0x491cde
add rax, rbp
lea rbp, [0x00603b91]
mov r14, r8
movzx edx, byte [rax]
jmp 0x49261d
test eax, eax
je 0x48e42b
xor ebx, ebx
xor r12d, r12d
jmp 0x491ed7
and ecx, 0xcf6d79ca
mov edx, r13d
and edx, 0x30928635
or edx, ecx
xor edx, 0xcf6d79c9
and r13d, 3
or r13d, edx
cmp r9d, 2
jne 0x491db4
mov dword [r14 + 0xcc], r13d
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax + 0xa0]
test rcx, rcx
cmove rcx, rax
mov byte [rcx + 0x21], 1
cmp ebp, 1
jne 0x49180d
mov rcx, qword [rsp + 0x60]
mov byte [rcx + 0x1c], 1
lea rax, [0x00605ade]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x30], 1
lea rdx, [0x00605b07]
mov r8, qword [rsp + 0x70]
mov r9, r8
jmp 0x491eca
mov rax, qword [rsp + 0x60]
mov r14, qword [rax + 0x10]
mov dword [rsp + 0x30], 0xfffffffa
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x95
mov r8d, 1
xor r9d, r9d
call fcn.004c62a0
mov eax, dword [r14 + 0x90]
test eax, eax
jle 0x491865
mov rcx, qword [r14 + 0x88]
add eax, 0xffffffff
lea rax, [rax + rax*2]
mov word [rcx + rax*8 + 2], 1
mov r8, qword [r14]
mov r9d, dword [r8 + 0x28]
test r9d, r9d
jle 0x491e56
mov r13d, dword [r14 + 0xcc]
mov rcx, qword [r8 + 0x20]
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x11], 0
je 0x4918b6
mov edx, dword [r14 + 0xd0]
mov eax, edx
not eax
and eax, 0x7bec0dbd
mov ecx, edx
and ecx, 0x8413f242
or ecx, eax
xor ecx, 0x7bec0dbc
and edx, 1
or edx, ecx
mov dword [r14 + 0xd0], edx
mov ecx, r13d
cmp r9d, 1
jne 0x491e3b
not ecx
and ecx, 0x63790248
mov edx, r13d
and edx, 0x9c86fdb7
or edx, ecx
xor edx, 0x63790249
and r13d, 1
or r13d, edx
jmp 0x491e4f
cmp qword [rcx + 0x1f0], rsi
jbe 0x49190b
cmp qword [rcx + 0x1e0], rsi
jbe 0x492355
cmp qword [rcx + 0x1e8], rsi
jbe 0x492b23
cmp dword [0x005f6010], 0
je 0x491b52
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x49192a
call qword [0x005f6090]
mov rcx, rsi
call qword [0x005f6048]
cdqe
movabs rcx, 0xf41bddf4e9576613
mov rdx, qword [0x0213b040]
add rdx, rcx
sub rdx, rax
sub rdx, rcx
mov qword [0x0213b040], rdx
movabs rax, 0x740a2de73ad48a46
mov rcx, rax
not rcx
add rcx, qword [0x0213b088]
add rcx, rax
mov qword [0x0213b088], rcx
mov rcx, rsi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x492b34
call qword [0x005f60a0]
jmp 0x492b34
mov r13d, 0xffff8000
movsxd rcx, r13d
shl rcx, 5
mov qword [rsp + 0xa8], rcx
mov rax, qword [rax + rcx]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x1f8]
test rax, rax
je 0x4919eb
cmp byte [rcx + 0xc5], 0
jne 0x4919eb
mov rdx, qword [rsp + 0x60]
cmp byte [rdx + 0x124], 0
je 0x4925b6
xor edx, edx
cmp r13d, 1
sete dl
mov rcx, qword [rsp + 0x60]
mov byte [rcx + 0x1c], 1
lea rax, [0x005fadb4]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0xb0], edx
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x30], 0
lea rdx, [0x00605b07]
mov r8, qword [rsp + 0x80]
mov r9, r8
call fcn.004d54f0
cmp r13d, 1
jne 0x491a57
lea rdx, [0x00606025]
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x80]
mov r9, r8
call fcn.004d54f0
jmp 0x491aa9
mov dword [rsp + 0x20], 0
lea rdx, [0x00605bb6]
lea r9, [0x005fadb4]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
mov rdi, qword [rsp + 0x80]
mov r8, rdi
call fcn.004d54f0
lea rdx, [0x00606025]
mov rcx, rsi
mov r8, rdi
mov r9, rdi
call fcn.004d54f0
lea rdx, [0x006060b8]
mov rcx, rsi
call fcn.004d54f0
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
lea rdx, [0x00605f57]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
mov r8, qword [rsp + 0x80]
mov r9d, r13d
call fcn.004d54f0
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x492439
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov rdx, qword [rsp + 0xa8]
mov rax, qword [rax + rdx + 0x18]
mov eax, dword [rax]
add eax, 1
movsxd rdx, dword [rcx + 0x90]
cmp dword [rcx + 0x94], edx
jle 0x491bd8
lea ebp, [rdx + 1]
mov dword [rcx + 0x90], ebp
mov rcx, qword [rcx + 0x88]
lea rdx, [rdx + rdx*2]
mov dword [rcx + rdx*8], 0x64
mov dword [rcx + rdx*8 + 4], r13d
mov dword [rcx + rdx*8 + 8], 1
mov dword [rcx + rdx*8 + 0xc], eax
mov qword [rcx + rdx*8 + 0x10], 0
jmp 0x491bef
mov rcx, rsi
call qword [0x005f6038]
jmp 0x492b34
mov dl, byte [rdx + r8]
xor edi, edi
movzx eax, dl
cmp edi, eax
jne 0x4921c2
cmp byte [r12 + r11], 0x5f
jne 0x4921c2
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x48]
mov rcx, qword [rax]
mov r8, qword [r15 + 0x230]
test r8, r8
je 0x491ee1
mov bl, byte [rcx]
test bl, bl
je 0x492123
lea rdx, [rcx + 1]
xor eax, eax
lea rdi, [0x005fade0]
movzx ebx, bl
movzx ebx, byte [rbx + rdi]
add ebx, eax
imul eax, ebx, 0x9e3779b1
movzx ebx, byte [rdx]
add rdx, 1
test bl, bl
jne 0x491baf
jmp 0x492125
mov r12, qword [rsp + 0x60]
jmp 0x48d57a
mov dword [rsp + 0x20], eax
mov edx, 0x64
mov r8d, r13d
mov r9d, 1
call fcn.0047df60
mov rax, qword [rsp + 0x60]
mov rsi, qword [rax + 0x10]
mov dword [rsp + 0x30], 0xfffffffa
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x95
mov r8d, r13d
xor r9d, r9d
call fcn.004c62a0
mov qword [rsp + 0x98], rsi
mov eax, dword [rsi + 0x90]
test eax, eax
jle 0x491c53
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx + 0x88]
add eax, 0xffffffff
lea rax, [rax + rax*2]
mov word [rcx + rax*8 + 2], 2
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov qword [rsp + 0xa0], rax
mov r9d, dword [rax + 0x28]
test r9d, r9d
jle 0x491f42
mov rax, qword [rsp + 0x98]
mov r11d, dword [rax + 0xcc]
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax + 0x20]
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x11], 0
je 0x491cb6
mov rax, qword [rsp + 0x98]
mov ecx, dword [rax + 0xd0]
mov edx, ecx
and edx, 1
xor ecx, 1
or ecx, edx
mov dword [rax + 0xd0], ecx
mov ecx, r11d
cmp r9d, 1
jne 0x491f09
and ecx, 1
xor r11d, 1
or r11d, ecx
jmp 0x491f33
lea rdx, [0x005ff047]
mov rcx, qword [rsp + 0x60]
movzx eax, byte [rdx]
lea rdx, [0x005fade0]
movzx eax, byte [rax + rdx]
mov ebp, 0x10000
cmp edi, eax
je 0x491d03
lea rdx, [0x00602946]
call fcn.00419aa0
xor ebp, ebp
mov dword [r13 + 8], ebp
mov eax, dword [rsp + 0xc4]
lea rcx, [0x00602aa0]
movzx ecx, word [rcx + rax*2]
lea rdx, [0x005ffc40]
movsx rdx, byte [rax + rdx]
lea rax, [rdx + rdx*2]
movzx eax, word [r13 + rax*8]
lea rbp, [0x00606400]
movsx rax, word [rbp + rax*2]
add rax, rcx
lea rbp, [0x00601440]
movzx eax, word [rbp + rax*2]
movabs rbp, 0xbf9b65c7792943dd
sub rdx, rbp
lea rdx, [rdx + rdx*2]
lea rbp, [rbp + rbp*2]
shl rbp, 3
lea rdx, [rdx*8]
add rdx, rbp
lea rbp, [r13 + rdx + 0x18]
mov rbx, qword [rsp + 0x1c8]
mov qword [rbx], rbp
mov word [r13 + rdx + 0x18], ax
mov word [r13 + rdx + 0x1a], cx
movaps xmm6, xmmword [rsp + 0x1d0]
add rsp, 0x1e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rbp, [0x00603b92]
jmp 0x49261a
mov ecx, 2
mov r10d, 0x48
jmp 0x491dd5
or r13d, edx
add rcx, 1
add r10, 0x20
cmp r9, rcx
je 0x4917b2
mov r11d, 1
shl r11d, cl
mov edx, 0xfffffffe
rol edx, cl
mov eax, r13d
not eax
mov esi, 0x74be8eeb
btr esi, ecx
mov edi, r11d
and edi, 0x8b417114
or edi, esi
or edx, eax
and eax, 0x74be8eeb
and r13d, 0x8b417114
or r13d, eax
xor r13d, edi
not edx
mov rax, qword [r8 + 0x20]
mov rax, qword [rax + r10]
cmp byte [rax + 0x11], 0
je 0x491dc1
mov eax, dword [r14 + 0xd0]
mov esi, eax
and esi, r11d
xor eax, r11d
or eax, esi
mov dword [r14 + 0xd0], eax
jmp 0x491dc1
and ecx, 3
xor r13d, 3
or r13d, ecx
cmp r9d, 2
jne 0x4922ce
mov dword [r14 + 0xcc], r13d
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax + 0xa0]
test rcx, rcx
cmove rcx, rax
mov byte [rcx + 0x21], 1
mov rcx, qword [rsp + 0x60]
mov byte [rcx + 0x1c], 1
lea rax, [0x00605ade]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x30], 1
lea rdx, [0x00605b07]
mov r8, qword [rsp + 0x70]
mov r9, r8
call fcn.004d54f0
cmp ebp, 1
je 0x491ecf
mov dword [rsp + 0x20], 1
lea rdx, [0x00605bb6]
lea r9, [0x00605ade]
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x70]
call fcn.004d54f0
mov r13, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x68]
jmp 0x4884c6
lea rdx, [r15 + 0x224]
lea r9, [r15 + 0x228]
jmp 0x49213d
add rax, rbp
lea rbp, [0x00603b92]
mov r14, r8
movzx edx, byte [rax]
jmp 0x49261d
not ecx
and ecx, 0x59498d67
mov edx, r11d
and edx, 0xa6b67298
or edx, ecx
xor edx, 0x59498d64
and r11d, 3
or r11d, edx
cmp r9d, 2
jne 0x49236b
mov rax, qword [rsp + 0x98]
mov dword [rax + 0xcc], r11d
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0xa0]
test rcx, rcx
cmove rcx, rax
mov byte [rcx + 0x21], 1
cmp r13d, 1
jne 0x491fa5
mov rcx, qword [rsp + 0x60]
mov byte [rcx + 0x1c], 1
lea rax, [0x00605fd0]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x30], 1
lea rdx, [0x00605b07]
mov r8, qword [rsp + 0x80]
mov r9, r8
jmp 0x4924a1
mov rax, qword [rsp + 0x60]
mov rsi, qword [rax + 0x10]
mov dword [rsp + 0x30], 0xfffffffa
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x95
mov r8d, 1
xor r9d, r9d
call fcn.004c62a0
mov qword [rsp + 0x98], rsi
mov eax, dword [rsi + 0x90]
test eax, eax
jle 0x49200c
mov rcx, qword [rsp + 0x98]
mov rcx, qword [rcx + 0x88]
add eax, 0xffffffff
lea rax, [rax + rax*2]
mov word [rcx + rax*8 + 2], 2
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov qword [rsp + 0xa0], rax
mov r9d, dword [rax + 0x28]
test r9d, r9d
jle 0x49241b
mov rax, qword [rsp + 0x98]
mov r11d, dword [rax + 0xcc]
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax + 0x20]
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x11], 0
je 0x49206f
mov rax, qword [rsp + 0x98]
mov ecx, dword [rax + 0xd0]
mov edx, ecx
and edx, 1
xor ecx, 1
or ecx, edx
mov dword [rax + 0xd0], ecx
mov ecx, r11d
cmp r9d, 1
jne 0x4923f8
and ecx, 1
xor r11d, 1
or r11d, ecx
jmp 0x49240c
mov byte [rbx], 0
mov rax, qword [rsp + 0xc8]
mov r9, qword [rax]
lea r8, [0x005fb667]
mov rcx, qword [rsp + 0x60]
mov rdx, rbp
call fcn.004d4a80
test eax, eax
jne 0x48f1fd
mov rax, qword [rsp + 0x60]
mov r8b, byte [rax + 0x124]
cmp r8b, 1
ja 0x4936ed
mov rax, qword [r15 + 0x20]
mov rcx, qword [rsp + 0x160]
mov r10, qword [rax + rcx + 0x18]
mov r9, qword [r10 + 0x48]
test r9, r9
je 0x49332a
mov dl, byte [rbp]
test dl, dl
je 0x4935e8
mov rcx, rbp
add rcx, 1
xor eax, eax
lea rdi, [0x005fade0]
movzx edx, dl
movzx edx, byte [rdx + rdi]
add edx, eax
imul eax, edx, 0x9e3779b1
movzx edx, byte [rcx]
add rcx, 1
test dl, dl
jne 0x492104
jmp 0x4935ea
xor eax, eax
xor edx, edx
div dword [r15 + 0x220]
shl rdx, 4
lea r9, [r8 + rdx]
add r9, 8
add rdx, r8
mov r10d, dword [rdx]
lea r8, [0x0213b3c8]
test r10d, r10d
je 0x49218c
lea rdi, [0x005fade0]
mov r9, qword [r9]
add r10d, 0xffffffff
mov rdx, qword [r9 + 0x18]
xor eax, eax
jmp 0x49216f
movzx ebx, byte [rbx + rdi]
cmp bl, byte [rsi + rdi]
jne 0x492182
add rax, 1
movzx ebx, byte [rdx + rax]
movzx esi, byte [rcx + rax]
cmp bl, sil
jne 0x492162
test bl, bl
jne 0x49216b
jmp 0x492189
test r10d, r10d
jne 0x492153
jmp 0x49218c
mov r8, r9
mov rax, qword [r8 + 0x10]
test rax, rax
mov r14, qword [rsp + 0x68]
je 0x4921c2
mov rax, qword [rax]
cmp dword [rax], 3
jl 0x4921c2
mov rax, qword [rax + 0xb8]
test rax, rax
je 0x4921c2
mov rcx, r12
add rcx, r11
add rcx, 1
call rax
test eax, eax
jne 0x48e3d3
mov qword [rsp + 0x90], r13
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
call fcn.00520f10
test eax, eax
jne 0x492262
lea r8, [0x005fd549]
mov rcx, qword [rsp + 0x60]
mov rdx, r12
mov r9, r12
call fcn.004d4a80
test eax, eax
jne 0x492262
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x3f], 2
mov r9, qword [rax]
jne 0x492220
lea rdx, [0x00605797]
mov rcx, qword [rsp + 0x60]
mov r8, r9
call fcn.00419aa0
jmp 0x492262
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x1f8]
test rax, rax
je 0x49224f
cmp byte [rcx + 0xc5], 0
jne 0x49224f
mov rdx, qword [rsp + 0x60]
cmp byte [rdx + 0x124], 0
je 0x493337
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
call fcn.004ddca0
test eax, eax
je 0x492286
mov r13, qword [rsp + 0x90]
jmp 0x48d56e
mov r13, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
jmp 0x48cddb
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x3f], 1
jne 0x4928b2
mov rax, qword [rsp + 0x70]
mov r14, qword [rax + 0x50]
test r14, r14
je 0x4922b1
cmp qword [r14], r15
je 0x4922b4
mov r14, qword [r14 + 0x28]
test r14, r14
jne 0x4922a3
xor r14d, r14d
mov rax, qword [r14 + 0x10]
mov rax, qword [rax]
mov rax, qword [rax + 0x98]
test rax, rax
cmove r14, rax
jmp 0x4928b5
mov ecx, 2
mov r10d, 0x48
jmp 0x4922ef
or r13d, edx
add rcx, 1
add r10, 0x20
cmp r9, rcx
je 0x491e4f
mov r11d, 1
shl r11d, cl
mov edx, 0xfffffffe
rol edx, cl
mov eax, r13d
not eax
mov esi, 0x9b83b650
btr esi, ecx
mov edi, r11d
and edi, 0x647c49af
or edi, esi
or edx, eax
and eax, 0x9b83b650
and r13d, 0x647c49af
or r13d, eax
xor r13d, edi
not edx
mov rax, qword [r8 + 0x20]
mov rax, qword [rax + r10]
cmp byte [rax + 0x11], 0
je 0x4922db
mov eax, dword [r14 + 0xd0]
mov esi, eax
and esi, r11d
xor eax, r11d
or eax, esi
mov dword [r14 + 0xd0], eax
jmp 0x4922db
mov rax, qword [rcx + 0x1d8]
mov qword [rsi], rax
mov qword [rcx + 0x1d8], rsi
jmp 0x492b34
mov ecx, 2
mov edi, 0x48
mov r8, qword [rsp + 0x98]
jmp 0x492393
or r11d, r10d
add rcx, 1
add rdi, 0x20
cmp r9, rcx
je 0x491f33
mov edx, 1
shl edx, cl
mov r10d, edx
and r10d, r11d
btc r11d, ecx
mov rax, qword [rsp + 0xa0]
mov rbp, qword [rax + 0x20]
mov rbp, qword [rbp + rdi]
cmp byte [rbp + 0x11], 0
je 0x49237f
mov ebx, dword [r8 + 0xd0]
mov ebp, ebx
not ebp
mov esi, edx
not esi
mov eax, ebp
and eax, 0xe0175c33
and ebx, 0x1fe8a3cc
or ebx, eax
or ebp, esi
and esi, 0xe0175c33
and edx, 0x1fe8a3cc
or edx, esi
xor edx, ebx
not ebp
or ebp, edx
mov dword [r8 + 0xd0], ebp
jmp 0x49237f
and ecx, 3
xor r11d, 3
or r11d, ecx
cmp r9d, 2
jne 0x49322b
mov rax, qword [rsp + 0x98]
mov dword [rax + 0xcc], r11d
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0xa0]
test rcx, rcx
cmove rcx, rax
mov byte [rcx + 0x21], 1
mov rcx, qword [rsp + 0x60]
mov byte [rcx + 0x1c], 1
lea rax, [0x00605fd0]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x30], 1
lea rdx, [0x00605b07]
mov r8, qword [rsp + 0x80]
mov r9, r8
call fcn.004d54f0
cmp r13d, 1
je 0x4924a6
mov dword [rsp + 0x20], 1
lea rdx, [0x00605bb6]
lea r9, [0x00605fd0]
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x80]
call fcn.004d54f0
mov rax, qword [rsp + 0x60]
cmp dword [rax + 0x30], 0
jne 0x494265
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0x78]
movzx eax, word [rax + rcx*8 + 0x12]
mov ecx, eax
xor ecx, 0xffdf
test cx, ax
jne 0x494265
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.004c6120
mov qword [rsp + 0x78], rax
mov eax, dword [rsi + 0x34]
mov qword [rsp + 0x80], rax
add eax, 1
mov dword [rsi + 0x34], eax
mov rsi, qword [rsi + 0x10]
cmp r13d, 1
je 0x492546
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rax + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x492546
mov rax, qword [rsp + 0x70]
mov r8d, dword [rax + 0x28]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x60]
mov edx, r13d
mov r9b, 1
call fcn.004c63a0
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x30], 0
js 0x492aae
mov rax, qword [rsp + 0x70]
mov r9d, dword [rax + 0x28]
movsx edi, word [rax + 0x38]
mov eax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x4932e8
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [rsi + 0x90], edx
mov rdx, qword [rsi + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x71
mov rbx, qword [rsp + 0x80]
mov dword [rdx + rcx*8 + 4], ebx
mov dword [rdx + rcx*8 + 8], r9d
mov dword [rdx + rcx*8 + 0xc], r13d
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x493302
mov rdx, qword [rsp + 0x70]
mov r9, qword [rdx]
mov rcx, qword [rcx + 0x200]
mov rdx, qword [rsp + 0x60]
mov rdx, qword [rdx + 0x168]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r15
mov edx, 0x1a
mov r8, qword [rsp + 0x80]
call rax
cmp eax, 1
jne 0x4932b8
lea rdx, [0x005ff140]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.00419aa0
mov dword [rsi + 0x18], 0x17
jmp 0x494265
lea rbp, [0x00603b93]
mov r14, r8
movzx eax, byte [rbp]
lea rbp, [0x005fade0]
movzx eax, byte [rax + rbp]
cmp edx, eax
jne 0x49459e
lea eax, [r12 - 7]
movzx eax, byte [r14 + rax]
lea r9, [0x005fb0a0]
mov al, byte [rax + r9]
not al
or al, 0xfe
mov r11, rsi
cmp al, 0xff
je 0x49269c
movabs rdi, 0xb18262dd3bff99c9
add r12d, 0xfffffff8
mov rdx, rdi
not rdx
cmp r12d, 0xffffffff
je 0x4927e6
add rcx, rdi
add rcx, rdx
mov ebp, r12d
movzx ebp, byte [r14 + rbp]
movzx eax, byte [rbp + r9]
mov ebx, eax
xor bl, 0xfe
add r12d, 0xffffffff
test bl, al
jne 0x492668
cmp ecx, 9
jb 0x49282b
mov r12d, ecx
mov r8d, 0xffffffff
add rcx, r8
add rcx, 0xfffffffffffffff8
mov r10, rcx
xor r10, r8
not r10
and r10, rcx
mov rdi, r14
movzx ecx, byte [r14 + r10]
xor esi, esi
test rcx, rcx
je 0x49280c
lea rbp, [0x005fade0]
mov edx, ecx
not dl
or dl, 0x20
cmp dl, 0xb8
jne 0x492818
movzx ecx, byte [rdi + r10 + 1]
test rcx, rcx
je 0x492836
mov eax, ecx
not al
or al, 0x20
cmp al, 0xba
jne 0x492842
movzx ecx, byte [rdi + r10 + 2]
test rcx, rcx
je 0x492855
mov eax, ecx
not al
or al, 0x20
cmp al, 0xb1
jne 0x492861
movzx ecx, byte [rdi + r10 + 3]
test rcx, rcx
je 0x492874
mov eax, ecx
not al
or al, 0x20
cmp al, 0xba
jne 0x492880
movzx ecx, byte [rdi + r10 + 4]
test rcx, rcx
je 0x492893
mov eax, ecx
xor al, 0x20
and al, cl
cmp al, 0x52
jne 0x49289f
movzx ecx, byte [rdi + r10 + 5]
test rcx, rcx
je 0x4935dc
mov eax, ecx
xor al, 0x20
and al, cl
cmp al, 0x41
jne 0x493827
movzx ecx, byte [rdi + r10 + 6]
test rcx, rcx
je 0x4943fa
mov eax, ecx
xor al, 0x20
and al, cl
cmp al, 0x54
jne 0x494406
movzx ecx, byte [rdi + r10 + 7]
test rcx, rcx
je 0x4944c6
mov eax, ecx
not al
or al, 0x20
cmp al, 0xba
jne 0x4944cf
movzx ecx, byte [rdi + r10 + 8]
test rcx, rcx
je 0x4944fd
mov eax, ecx
not al
or al, 0x20
cmp al, 0xbb
mov r14, rdi
mov rsi, r11
je 0x49451c
mov r11, rsi
add rbp, rcx
lea rbx, [0x00603b9d]
movzx esi, byte [rbp]
jmp 0x494504
xor r12d, r12d
mov byte [rsp + 0x98], 0x41
mov byte [rsp + 0xa0], 1
mov dword [rsp + 0x80], 0
mov rsi, r11
jmp 0x494bfb
lea rbx, [0x00603b95]
jmp 0x494504
add rbp, rcx
lea rbx, [0x00603b95]
movzx esi, byte [rbp]
jmp 0x494504
mov r12d, ecx
mov rsi, r11
jmp 0x494594
lea rbx, [0x00603b96]
jmp 0x494504
add rbp, rcx
lea rbx, [0x00603b96]
movzx esi, byte [rbp]
jmp 0x494504
lea rbx, [0x00603b97]
jmp 0x494504
add rbp, rcx
lea rbx, [0x00603b97]
movzx esi, byte [rbp]
jmp 0x494504
lea rbx, [0x00603b98]
jmp 0x494504
add rbp, rcx
lea rbx, [0x00603b98]
movzx esi, byte [rbp]
jmp 0x494504
lea rbx, [0x00603b99]
jmp 0x494504
add rbp, rcx
lea rbx, [0x00603b99]
movzx esi, byte [rbp]
jmp 0x494504
xor r14d, r14d
mov rcx, qword [rsp + 0x60]
call fcn.004c6120
mov qword [rsp + 0x80], rax
test rax, rax
je 0x492262
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx + 0xa0]
test rax, rax
cmove rax, rcx
mov byte [rax + 0x21], 1
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax]
mov al, byte [rdx]
test al, al
sete cl
mov qword [rsp + 0x98], rdx
cmp rdx, 0xffffffffffffffff
setne dl
xor esi, esi
cmp dl, cl
je 0x492957
cmp qword [rsp + 0x98], 0xffffffffffffffff
je 0x492957
xor esi, esi
mov rcx, qword [rsp + 0x98]
cmp al, 0xc0
jb 0x49293a
movzx eax, byte [rcx + 1]
add rcx, 1
mov edx, eax
xor dl, 0x3f
and dl, al
cmp dl, 0x80
je 0x492924
jmp 0x492940
add rcx, 1
mov al, byte [rcx]
add esi, 1
test al, al
setne dl
cmp rcx, 0xffffffffffffffff
sete bl
cmp dl, bl
je 0x492957
test al, al
jne 0x492920
xor eax, eax
cmp ebp, 1
sete al
mov r13, qword [rsp + 0x98]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r13
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0x30], eax
lea rdx, [0x006057b2]
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
mov rbx, qword [rsp + 0x78]
mov r8, rbx
mov r9, rbx
call fcn.004d54f0
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x30], esi
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea rdx, [0x0060586a]
mov rcx, rdi
mov r8, rbx
mov r9, r12
call fcn.004d54f0
lea rdx, [0x00603255]
mov rcx, r15
mov r8, rbx
call fcn.00426380
test rax, rax
je 0x492a05
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
lea rdx, [0x0060599b]
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x78]
mov r9, r12
call fcn.004d54f0
cmp ebp, 1
je 0x492a3c
mov qword [rsp + 0x38], r12
mov r8, qword [rsp + 0x78]
mov qword [rsp + 0x30], r8
mov r9, qword [rsp + 0x98]
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r12
lea rdx, [0x006059d5]
mov rcx, qword [rsp + 0x60]
call fcn.004d54f0
test r14, r14
je 0x493477
mov rax, qword [rsp + 0x60]
mov esi, dword [rax + 0x38]
add esi, 1
mov dword [rax + 0x38], esi
mov rcx, qword [rsp + 0x80]
mov eax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x4933e0
movsxd rcx, eax
lea edx, [rcx + 1]
mov rbx, qword [rsp + 0x80]
mov dword [rbx + 0x90], edx
mov rdx, qword [rbx + 0x88]
lea rcx, [rcx + rcx*2]
mov qword [rdx + rcx*8], 0x75
mov dword [rdx + rcx*8 + 8], esi
mov dword [rdx + rcx*8 + 0xc], 0
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x493400
mov rax, qword [rsp + 0x70]
add rax, 0x10
mov rdi, qword [rax]
mov eax, dword [rdi + 0x64]
mov ecx, eax
xor ecx, 0xfffffffc
and ecx, eax
lea rax, [rdi + 0x28]
cmp ecx, 2
jne 0x492ab7
mov r9d, dword [rdi + 0x58]
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x49338d
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x71
mov rdx, qword [rsp + 0x80]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], r13d
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4933a7
mov rax, qword [rcx + 0x1c8]
mov qword [rsi], rax
mov qword [rcx + 0x1c8], rsi
mov r13, r14
mov rbx, qword [rsp + 0x60]
mov r14, qword [r13 - 0x10]
test r14, r14
je 0x492bef
mov edi, dword [r13 - 8]
lea rdx, [rdi + 1]
mov rcx, r12
call fcn.00429840
test rax, rax
je 0x492bef
mov rsi, rax
mov rcx, rax
mov rdx, r14
mov r8, rdi
call fcn.005f4c20
mov byte [rsi + rdi], 0
mov eax, dword [r13 - 8]
add eax, 0xffffffff
je 0x492bb0
mov eax, eax
add rax, rsi
lea rcx, [0x005fb0a0]
jmp 0x492b9a
mov byte [rax], 0
add rax, 0xffffffffffffffff
cmp rax, rsi
jbe 0x492bb0
movzx edx, byte [rax]
cmp rdx, 0x3b
je 0x492b8e
movzx ebx, byte [rdx + rcx]
mov edx, ebx
xor dl, 0xfe
test dl, bl
jne 0x492b8e
mov r9d, dword [r15 + 0x40]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r9d
mov qword [rsp + 0x20], rsi
lea rdx, [0x00605d58]
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
mov r8, qword [rsp + 0x88]
call fcn.004d54f0
mov rcx, r12
mov rdx, rsi
call fcn.00408130
mov rcx, rbx
call fcn.004c6120
test rax, rax
je 0x491d07
mov rsi, rax
mov rcx, qword [rsp + 0x60]
mov al, byte [rcx + 0x1f]
test al, al
je 0x492c21
add al, 0xff
mov byte [rcx + 0x1f], al
movzx eax, al
mov r12d, dword [rcx + rax*4 + 0xd8]
jmp 0x492c2d
mov r12d, dword [rcx + 0x38]
add r12d, 1
mov dword [rcx + 0x38], r12d
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x492c73
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x63
mov dword [rcx + rax*8 + 4], ebp
mov dword [rcx + rax*8 + 8], r12d
mov dword [rcx + rax*8 + 0xc], 2
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x492c8e
mov dword [rsp + 0x20], 2
mov rcx, rsi
mov edx, 0x63
mov r8d, ebp
mov r9d, r12d
call fcn.0047df60
mov r8d, 1
mov ecx, ebp
shl r8d, cl
mov edx, dword [rsi + 0xcc]
mov ebx, edx
not ebx
mov edi, 0xfffffffe
rol edi, cl
or edi, ebx
and ebx, 0x91331ca1
and edx, 0x6ecce35e
or edx, ebx
mov ecx, 0x91331ca1
btr ecx, ebp
mov eax, r8d
and eax, 0x6ecce35e
or eax, ecx
xor eax, edx
not edi
or edi, eax
mov dword [rsi + 0xcc], edi
cmp ebp, 1
je 0x492d35
mov rax, qword [rsi]
mov rax, qword [rax + 0x20]
mov rcx, qword [rsp + 0x80]
mov rax, qword [rax + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x492d35
mov eax, dword [rsi + 0xd0]
mov ecx, eax
not ecx
mov edx, r8d
not edx
mov ebx, ecx
and ebx, 0x1f0b6253
and eax, 0xe0f49dac
or eax, ebx
or ecx, edx
and edx, 0x1f0b6253
and r8d, 0xe0f49dac
or r8d, edx
xor r8d, eax
not ecx
or ecx, r8d
mov dword [rsi + 0xd0], ecx
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x492d79
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x56
mov dword [rcx + rax*8 + 4], r12d
mov edx, 0xfffffffe
mov qword [rcx + rax*8 + 8], rdx
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x492d97
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x56
mov r8d, r12d
mov r9d, 0xfffffffe
call fcn.0047df60
movsxd rax, dword [rsi + 0x90]
lea r9d, [rax + 2]
cmp dword [rsi + 0x94], eax
jle 0x492de2
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x31
mov dword [rcx + rax*8 + 4], r12d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x492dfa
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x31
mov r8d, r12d
call fcn.0047df60
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x492e42
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x64
mov dword [rcx + rax*8 + 4], ebp
movabs rdx, 0x300000002
mov qword [rcx + rax*8 + 8], rdx
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x492e60
mov dword [rsp + 0x20], 3
mov rcx, rsi
mov edx, 0x64
mov r8d, ebp
mov r9d, 2
call fcn.0047df60
test r12d, r12d
mov rdx, qword [rsp + 0x60]
je 0x492e82
movzx eax, byte [rdx + 0x1f]
cmp rax, 7
ja 0x492e82
lea ecx, [rax + 1]
mov byte [rdx + 0x1f], cl
mov dword [rdx + rax*4 + 0xd8], r12d
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x49316a
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov rdx, qword [rsp + 0x80]
mov rax, qword [rax + rdx + 0x18]
mov eax, dword [rax]
add eax, 1
movsxd rdx, dword [rcx + 0x90]
cmp dword [rcx + 0x94], edx
jle 0x492ef2
lea ebx, [rdx + 1]
mov dword [rcx + 0x90], ebx
mov rcx, qword [rcx + 0x88]
lea rdx, [rdx + rdx*2]
mov dword [rcx + rdx*8], 0x64
mov dword [rcx + rdx*8 + 4], ebp
mov dword [rcx + rdx*8 + 8], 1
mov dword [rcx + rdx*8 + 0xc], eax
mov qword [rcx + rdx*8 + 0x10], 0
jmp 0x492f09
mov dword [rsp + 0x20], eax
mov edx, 0x64
mov r8d, ebp
mov r9d, 1
call fcn.0047df60
mov rax, qword [rsp + 0x60]
mov r14, qword [rax + 0x10]
mov dword [rsp + 0x30], 0xfffffffa
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x95
mov r8d, ebp
xor r9d, r9d
call fcn.004c62a0
mov eax, dword [r14 + 0x90]
test eax, eax
jle 0x492f5e
mov rcx, qword [r14 + 0x88]
add eax, 0xffffffff
lea rax, [rax + rax*2]
mov word [rcx + rax*8 + 2], 3
mov r8, qword [r14]
mov r9d, dword [r8 + 0x28]
test r9d, r9d
jle 0x492fd7
mov esi, dword [r14 + 0xcc]
mov rcx, qword [r8 + 0x20]
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x11], 0
je 0x492f97
mov ecx, dword [r14 + 0xd0]
mov edx, ecx
and edx, 1
xor ecx, 1
or ecx, edx
mov dword [r14 + 0xd0], ecx
mov ecx, esi
cmp r9d, 1
jne 0x492fbe
not ecx
and ecx, 0x853ad8e7
mov edx, esi
and edx, 0x7ac52718
or edx, ecx
xor edx, 0x853ad8e6
and esi, 1
or esi, edx
jmp 0x492fd0
and ecx, 3
xor esi, 3
or esi, ecx
cmp r9d, 2
jne 0x4930a4
mov dword [r14 + 0xcc], esi
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax + 0xa0]
test rcx, rcx
cmove rcx, rax
mov byte [rcx + 0x21], 1
cmp ebp, 1
je 0x49316a
mov rax, qword [rsp + 0x60]
mov r14, qword [rax + 0x10]
mov dword [rsp + 0x30], 0xfffffffa
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x95
mov r8d, 1
xor r9d, r9d
call fcn.004c62a0
mov eax, dword [r14 + 0x90]
test eax, eax
jle 0x49304e
mov rcx, qword [r14 + 0x88]
add eax, 0xffffffff
lea rax, [rax + rax*2]
mov word [rcx + rax*8 + 2], 3
mov r8, qword [r14]
mov r9d, dword [r8 + 0x28]
test r9d, r9d
jle 0x493154
mov eax, dword [r14 + 0xcc]
mov rcx, qword [r8 + 0x20]
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x11], 0
je 0x49308b
mov ecx, dword [r14 + 0xd0]
mov edx, ecx
and edx, 1
xor ecx, 1
or ecx, edx
mov dword [r14 + 0xd0], ecx
mov ecx, eax
cmp r9d, 1
jne 0x493126
and ecx, 1
xor eax, 1
or eax, ecx
jmp 0x49314d
mov ecx, 2
mov r10d, 0x48
jmp 0x4930c4
or esi, edx
add rcx, 1
add r10, 0x20
cmp r9, rcx
je 0x492fd0
mov r11d, 1
shl r11d, cl
mov edx, 0xfffffffe
rol edx, cl
mov eax, esi
not eax
mov edi, 0xf870e215
btr edi, ecx
mov ebx, r11d
and ebx, 0x78f1dea
or ebx, edi
or edx, eax
and eax, 0xf870e215
and esi, 0x78f1dea
or esi, eax
xor esi, ebx
not edx
mov rax, qword [r8 + 0x20]
mov rax, qword [rax + r10]
cmp byte [rax + 0x11], 0
je 0x4930b1
mov eax, dword [r14 + 0xd0]
mov edi, eax
and edi, r11d
xor eax, r11d
or eax, edi
mov dword [r14 + 0xd0], eax
jmp 0x4930b1
not ecx
and ecx, 0xdcf77a36
mov edx, eax
and edx, 0x230885c9
or edx, ecx
xor edx, 0xdcf77a35
and eax, 3
or eax, edx
cmp r9d, 2
jne 0x4931d7
mov dword [r14 + 0xcc], eax
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax + 0xa0]
test rcx, rcx
cmove rcx, rax
mov byte [rcx + 0x21], 1
cmp qword [r15 + 0x20], 0
je 0x493194
lea rdx, [0x00605dea]
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x78]
mov r9, qword [rsp + 0x88]
call fcn.004d54f0
jmp 0x491d07
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
mov eax, dword [rax + rcx*8 + 8]
not eax
or eax, 0xfffffff0
cmp eax, 0xffffffff
je 0x491d07
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
lea rax, [rax + rcx*8]
add rax, 0x12
movzx eax, word [rax]
not eax
or eax, 0xff9f
cmp ax, 0xffff
jne 0x493171
jmp 0x491d07
mov ecx, 2
mov ebx, 0x48
jmp 0x4931f6
or eax, edx
add rcx, 1
add rbx, 0x20
cmp r9, rcx
je 0x49314d
mov edi, 1
shl edi, cl
mov edx, edi
and edx, eax
btc eax, ecx
mov rbp, qword [r8 + 0x20]
mov rbp, qword [rbp + rbx]
cmp byte [rbp + 0x11], 0
je 0x4931e3
mov ebp, dword [r14 + 0xd0]
mov esi, ebp
and esi, edi
xor ebp, edi
or ebp, esi
mov dword [r14 + 0xd0], ebp
jmp 0x4931e3
mov ecx, 2
mov edi, 0x48
mov r8, qword [rsp + 0x98]
jmp 0x493253
or r11d, r10d
add rcx, 1
add rdi, 0x20
cmp r9, rcx
je 0x49240c
mov edx, 1
shl edx, cl
mov r10d, edx
and r10d, r11d
btc r11d, ecx
mov rax, qword [rsp + 0xa0]
mov rbp, qword [rax + 0x20]
mov rbp, qword [rbp + rdi]
cmp byte [rbp + 0x11], 0
je 0x49323f
mov esi, dword [r8 + 0xd0]
mov ebp, esi
not ebp
mov ebx, edx
not ebx
mov eax, ebp
and eax, 0x11e16668
and esi, 0xee1e9997
or esi, eax
or ebp, ebx
and ebx, 0x11e16668
and edx, 0xee1e9997
or edx, ebx
xor edx, esi
not ebp
or ebp, edx
mov dword [r8 + 0xd0], ebp
jmp 0x49323f
mov ecx, eax
not ecx
or ecx, 2
cmp ecx, 0xffffffff
je 0x49383a
lea rdx, [0x00602fdd]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.00419aa0
mov dword [rsi + 0x18], 1
jmp 0x494265
mov dword [rsp + 0x20], r13d
mov rcx, rsi
mov edx, 0x71
mov r8, qword [rsp + 0x80]
call fcn.0047df60
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
jne 0x4939df
mov rcx, qword [rsi + 0x88]
cdqe
lea rax, [rax + rax*2]
mov byte [rcx + rax*8 + 1], 0xfd
mov dword [rcx + rax*8 + 0x10], edi
jmp 0x4939df
lea rdx, [r10 + 0x3c]
add r10, 0x40
jmp 0x4935ff
mov rcx, qword [rcx + 0x200]
mov rdx, qword [rsp + 0x60]
mov rdx, qword [rdx + 0x168]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 0
mov edx, 0x1a
mov r8, qword [rsp + 0x78]
call rax
cmp eax, 1
jne 0x493847
lea rdx, [0x005ff140]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.00419aa0
mov dword [rsi + 0x18], 0x17
jmp 0x492262
mov dword [rsp + 0x20], r13d
mov rcx, rsi
mov edx, 0x71
mov r8, qword [rsp + 0x80]
call fcn.0047df60
mov rcx, qword [rsp + 0x60]
mov rsi, qword [rcx + 0x10]
mov rdx, rdi
call fcn.004c65a0
test rax, rax
je 0x4939df
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
je 0x4939be
mov edx, 0xfffffff8
mov r8, rax
call fcn.00444fc0
jmp 0x4939df
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x75
xor r8d, r8d
mov r9d, esi
call fcn.0047df60
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx]
cmp byte [rcx + 0x67], 0
jne 0x49344a
test eax, eax
jns 0x493426
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x90]
add eax, 0xffffffff
cdqe
lea rdx, [rax + rax*2]
shl rdx, 3
mov rcx, qword [rsp + 0x80]
add rdx, qword [rcx + 0x88]
mov r8, r12
xor r9d, r9d
call fcn.0047e190
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x30], 0xfffffff5
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0xb0
mov r8d, esi
xor r9d, r9d
call fcn.004c62a0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x49438b
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov rdx, qword [rsp + 0x88]
mov rax, qword [rax + rdx + 0x18]
mov eax, dword [rax]
add eax, 1
movsxd rdx, dword [rcx + 0x90]
cmp dword [rcx + 0x94], edx
jle 0x4934ec
lea ebx, [rdx + 1]
mov dword [rcx + 0x90], ebx
mov rcx, qword [rcx + 0x88]
lea rdx, [rdx + rdx*2]
mov dword [rcx + rdx*8], 0x64
mov dword [rcx + rdx*8 + 4], ebp
mov dword [rcx + rdx*8 + 8], 1
mov dword [rcx + rdx*8 + 0xc], eax
mov qword [rcx + rdx*8 + 0x10], 0
jmp 0x493503
mov dword [rsp + 0x20], eax
mov edx, 0x64
mov r8d, ebp
mov r9d, 1
call fcn.0047df60
mov rax, qword [rsp + 0x60]
mov r14, qword [rax + 0x10]
mov dword [rsp + 0x30], 0xfffffffa
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x95
mov r8d, ebp
xor r9d, r9d
call fcn.004c62a0
mov eax, dword [r14 + 0x90]
test eax, eax
jle 0x493558
mov rcx, qword [r14 + 0x88]
add eax, 0xffffffff
lea rax, [rax + rax*2]
mov word [rcx + rax*8 + 2], 1
mov r8, qword [r14]
mov r9d, dword [r8 + 0x28]
test r9d, r9d
jle 0x49388f
mov r11d, dword [r14 + 0xcc]
mov rcx, qword [r8 + 0x20]
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x11], 0
je 0x4935aa
mov edx, dword [r14 + 0xd0]
mov ebx, edx
not ebx
and ebx, 0x2dba0a82
mov ecx, edx
and ecx, 0xd245f57d
or ecx, ebx
xor ecx, 0x2dba0a83
and edx, 1
or edx, ecx
mov dword [r14 + 0xd0], edx
mov ecx, r11d
cmp r9d, 1
jne 0x493874
not ecx
and ecx, 0x2bcfe5b4
mov edx, r11d
and edx, 0xd4301a4b
or edx, ecx
xor edx, 0x2bcfe5b5
and r11d, 1
or r11d, edx
jmp 0x493888
lea rbx, [0x00603b9a]
jmp 0x494504
xor eax, eax
xor edx, edx
div dword [r10 + 0x38]
shl rdx, 4
lea r10, [r9 + rdx]
add r10, 8
add rdx, r9
mov r11d, dword [rdx]
lea r9, [0x0213b3c8]
test r11d, r11d
je 0x49364e
lea rdi, [0x005fade0]
mov r10, qword [r10]
add r11d, 0xffffffff
mov rcx, qword [r10 + 0x18]
xor eax, eax
jmp 0x493631
movzx edx, byte [rdx + rdi]
cmp dl, byte [rbx + rdi]
jne 0x493644
add rax, 1
movzx edx, byte [rcx + rax]
movzx ebx, byte [rbp + rax]
cmp dl, bl
jne 0x493624
test dl, dl
jne 0x49362d
jmp 0x49364b
test r11d, r11d
jne 0x493615
jmp 0x49364e
mov r9, r10
cmp qword [r9 + 0x10], 0
je 0x4936ed
cmp dword [rsp + 0x98], 0
je 0x493804
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx + 0xa0]
test rax, rax
cmove rax, rcx
mov edx, 1
mov rcx, qword [rsp + 0xa8]
shl edx, cl
mov ebx, 0xfffffffe
rol ebx, cl
mov edi, dword [rax + 0x74]
mov ecx, edi
not ecx
or ebx, ecx
cmp ebx, 0xffffffff
jne 0x48f1fd
mov ebx, edx
not ebx
mov r8d, ecx
and r8d, 0x21488ab
and edi, 0xfdeb7754
or edi, r8d
or ecx, ebx
and ebx, 0x21488ab
and edx, 0xfdeb7754
or edx, ebx
xor edx, edi
not ecx
or ecx, edx
mov dword [rax + 0x74], ecx
cmp dword [rsp + 0xa8], 1
jne 0x48f1fd
mov rcx, rax
call fcn.004306d0
jmp 0x48f1fd
mov rax, qword [rsp + 0xc8]
mov r9, qword [rax]
test r9, r9
je 0x495267
movzx ecx, byte [r9]
xor edx, edx
test rcx, rcx
je 0x4937e6
lea rax, [0x005fade0]
mov ebx, ecx
not bl
or bl, 0x20
cmp bl, 0xac
jne 0x4937f2
movzx ecx, byte [r9 + 1]
test rcx, rcx
je 0x49427e
mov ebx, ecx
not bl
or bl, 0x20
cmp bl, 0xae
jne 0x49428a
movzx ecx, byte [r9 + 2]
test rcx, rcx
je 0x4944a8
mov ebx, ecx
not bl
or bl, 0x20
cmp bl, 0xb3
jne 0x4944b4
movzx ecx, byte [r9 + 3]
test rcx, rcx
je 0x4944df
mov ebx, ecx
not bl
or bl, 0x20
cmp bl, 0xb6
jne 0x4944eb
movzx ecx, byte [r9 + 4]
test rcx, rcx
je 0x495203
mov ebx, ecx
not bl
or bl, 0x20
cmp bl, 0xab
jne 0x49520c
movzx ecx, byte [r9 + 5]
test rcx, rcx
je 0x49521b
mov ebx, ecx
xor bl, 0x20
and bl, cl
cmp bl, 0x45
jne 0x495224
movzx ecx, byte [r9 + 6]
test rcx, rcx
je 0x495233
cmp cl, 0x5f
je 0x49524c
add rax, rcx
lea rbx, [0x006030a7]
movzx edx, byte [rax]
jmp 0x49523a
lea rbx, [0x006030a1]
jmp 0x49523a
add rax, rcx
lea rbx, [0x006030a1]
movzx edx, byte [rax]
jmp 0x49523a
lea rdx, [0x00605281]
mov r12, qword [rsp + 0x60]
mov rcx, r12
mov r8, qword [rsp + 0xb8]
call fcn.00419aa0
xor esi, esi
jmp 0x48f204
add rbp, rcx
lea rbx, [0x00603b9a]
movzx esi, byte [rbp]
jmp 0x494504
test eax, eax
jne 0x494265
jmp 0x4919eb
mov ecx, eax
xor ecx, 2
test ecx, eax
je 0x494419
lea rdx, [0x00602fdd]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.00419aa0
mov dword [rsi + 0x18], 1
jmp 0x492262
and ecx, 3
xor r11d, 3
or r11d, ecx
cmp r9d, 2
jne 0x49429c
mov dword [r14 + 0xcc], r11d
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax + 0xa0]
test rcx, rcx
cmove rcx, rax
mov byte [rcx + 0x21], 1
cmp ebp, 1
jne 0x4938e6
mov rcx, qword [rsp + 0x60]
mov byte [rcx + 0x1c], 1
lea rax, [0x00605ade]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x30], 0
lea rdx, [0x00605b07]
mov r8, qword [rsp + 0x78]
mov r9, r8
jmp 0x4943f0
mov rax, qword [rsp + 0x60]
mov r14, qword [rax + 0x10]
mov dword [rsp + 0x30], 0xfffffffa
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x95
mov r8d, 1
xor r9d, r9d
call fcn.004c62a0
mov eax, dword [r14 + 0x90]
test eax, eax
jle 0x49393e
mov rcx, qword [r14 + 0x88]
add eax, 0xffffffff
lea rax, [rax + rax*2]
mov word [rcx + rax*8 + 2], 1
mov r8, qword [r14]
mov r9d, dword [r8 + 0x28]
test r9d, r9d
jle 0x494375
mov esi, dword [r14 + 0xcc]
mov rcx, qword [r8 + 0x20]
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x11], 0
je 0x493990
mov edx, dword [r14 + 0xd0]
mov ebx, edx
not ebx
and ebx, 0x2283ccd7
mov ecx, edx
and ecx, 0xdd7c3328
or ecx, ebx
xor ecx, 0x2283ccd6
and edx, 1
or edx, ecx
mov dword [r14 + 0xd0], edx
mov ecx, esi
not ecx
cmp r9d, 1
jne 0x494349
and ecx, 0x5aa8ac0
mov edx, esi
and edx, 0xfa55753f
or edx, ecx
xor edx, 0x5aa8ac1
and esi, 1
or esi, edx
jmp 0x49436e
mov rcx, qword [rsi + 0x88]
mov edx, dword [rsi + 0x90]
add edx, 0xffffffff
movsxd rdx, edx
lea rdx, [rdx + rdx*2]
mov byte [rcx + rdx*8 + 1], 0xf8
mov qword [rcx + rdx*8 + 0x10], rax
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx + 0x90]
mov qword [rsp + 0xa0], rax
cmp dword [rcx + 0x94], eax
jle 0x493a38
movsxd rax, dword [rsp + 0xa0]
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x78]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x23
mov rdx, qword [rsp + 0x80]
mov dword [rcx + rax*8 + 4], edx
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x493a62
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x78]
mov edx, 0x23
mov r8, qword [rsp + 0x80]
xor r9d, r9d
call fcn.0047df60
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x60]
mov ecx, dword [rax + 0x38]
mov qword [rsp + 0x98], rcx
add ecx, 1
mov dword [rsp + 0xb8], ecx
mov dword [rax + 0x38], ecx
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x30], 0
js 0x493aef
mov rcx, qword [rsp + 0x78]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x493bef
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x78]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x87
mov rdx, qword [rsp + 0x80]
mov dword [rcx + rax*8 + 4], edx
mov edx, dword [rsp + 0xb8]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x493c16
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x10]
xor ebp, ebp
test rax, rax
je 0x493b1f
mov r13, rax
mov eax, dword [r13 + 0x64]
not eax
or eax, 0xfffffffc
cmp eax, 0xfffffffd
je 0x493b22
mov rax, r13
mov rax, qword [r13 + 0x28]
mov r13, rax
test rax, rax
jne 0x493b02
xor r13d, r13d
mov rcx, r13
movzx edx, word [r13 + 0x60]
add edx, dword [rsp + 0xb8]
mov rax, qword [rsp + 0x60]
mov dword [rax + 0x38], edx
cmp word [r13 + 0x5e], 0
je 0x494277
mov rax, qword [rsp + 0x98]
lea esi, [rax + 2]
xor r9d, r9d
mov rbx, qword [rsp + 0x80]
jmp 0x493b9f
lea edx, [rcx + 1]
mov rbp, qword [rsp + 0x78]
mov dword [rbp + 0x90], edx
mov rdx, qword [rbp + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x5e
mov dword [rdx + rcx*8 + 4], ebx
mov dword [rdx + rcx*8 + 8], r9d
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
movzx eax, word [r13 + 0x5e]
mov r9d, edi
cmp edi, eax
jae 0x493be2
lea edi, [r9 + 1]
lea eax, [rsi + r9]
mov rdx, qword [rsp + 0x78]
movsxd rcx, dword [rdx + 0x90]
cmp dword [rdx + 0x94], ecx
jg 0x493b5d
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x78]
mov edx, 0x5e
mov r8, qword [rsp + 0x80]
call fcn.0047df60
movzx eax, word [r13 + 0x5e]
mov r9d, edi
cmp edi, eax
jb 0x493b9f
mov rbp, rax
mov rax, qword [rsp + 0x60]
mov ebx, dword [rax + 0x38]
jmp 0x493c31
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x78]
mov edx, 0x87
mov r8, qword [rsp + 0x80]
mov r9d, dword [rsp + 0xb8]
call fcn.0047df60
mov rax, qword [rsp + 0x70]
movsx ecx, word [rax + 0x36]
mov rax, qword [rsp + 0x60]
add ecx, dword [rax + 0x38]
mov ebx, ecx
mov dword [rax + 0x38], ecx
xor ebp, ebp
xor r13d, r13d
add ebx, 1
mov rax, qword [rsp + 0x60]
mov dword [rsp + 0xa8], ebx
mov dword [rax + 0x38], ebx
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x36]
test ax, ax
jle 0x493ee8
mov rcx, qword [rsp + 0x98]
add ecx, 2
mov qword [rsp + 0xb0], rcx
test r13, r13
je 0x493dcf
xor esi, esi
xor edi, edi
jmp 0x493cb6
mov dword [rsp + 0x20], r9d
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x80]
mov r9d, esi
call fcn.004cdfb0
add ebp, 1
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x36]
add rsi, 1
add edi, 1
movsx rcx, ax
cmp rsi, rcx
jge 0x493ee8
cmp rsi, qword [rsp + 0x88]
je 0x493ca2
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx + 8]
lea rdx, [rsi + rsi*2]
movzx ecx, word [rcx + rdx*8 + 0x12]
not ecx
or ecx, 0xffdf
cmp cx, 0xffff
jne 0x493ca2
movzx ecx, word [r13 + 0x60]
test rcx, rcx
je 0x493ca2
mov rdx, qword [r13 + 8]
xor ebx, ebx
cmp word [rdx + rbx*2], di
je 0x493d03
add rbx, 1
cmp rcx, rbx
jne 0x493cf0
mov bx, 0xffff
movsx r9d, bx
xor ebx, ebx
cmp word [rdx + rbx*2], r12w
je 0x493d1d
add rbx, 1
cmp rcx, rbx
jne 0x493d09
mov bx, 0xffff
movzx ecx, word [r13 + 0x5e]
cmp r9d, ecx
jl 0x493ca2
xor eax, eax
cmp r9w, bx
setg al
add r9d, dword [rsp + 0xb0]
sub r9d, eax
mov rax, qword [rsp + 0x70]
movsx rax, word [rax + 0x34]
mov ecx, 0xffffffff
xor rcx, rax
not rcx
and rcx, rax
cmp rsi, rcx
jne 0x493c77
mov rcx, qword [rsp + 0x78]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x493db0
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x78]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x4b
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x493c96
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x78]
mov edx, 0x4b
xor r8d, r8d
call fcn.0047df60
jmp 0x493c96
mov edi, 0x12
movabs rbx, 0x9698be1b75c7f079
xor esi, esi
jmp 0x493e26
mov dword [rsp + 0x20], r9d
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x80]
mov r9d, esi
call fcn.004cdfb0
add ebp, 1
mov rax, qword [rsp + 0x70]
movzx eax, word [rax + 0x36]
add rsi, 1
movsx rcx, ax
add rdi, 0x18
add r12, 0xffffffffffffffff
cmp rsi, rcx
jge 0x493ee8
test r12, r12
je 0x493e0d
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx + 8]
movzx ecx, word [rcx + rdi]
not ecx
or ecx, 0xffdf
cmp cx, 0xffff
jne 0x493e0d
mov rax, qword [rsp + 0xb0]
lea r9d, [rax + rbp]
mov rax, qword [rsp + 0x70]
movsx eax, word [rax + 0x34]
not eax
mov ecx, 0xffffffff
not ecx
or ecx, eax
mov eax, ebx
not eax
or eax, ebx
not ecx
and ecx, eax
cmp rsi, rcx
jne 0x493de2
mov rcx, qword [rsp + 0x78]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x493ec9
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x78]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x4b
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x493e01
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x78]
mov edx, 0x4b
xor r8d, r8d
call fcn.0047df60
jmp 0x493e01
test ebp, ebp
je 0x493f04
mov rax, qword [rsp + 0x98]
add eax, 2
mov qword [rsp + 0x98], rax
jmp 0x493f9b
mov rax, qword [rsp + 0x60]
add dword [rax + 0x38], 1
mov rax, qword [rsp + 0x98]
add eax, 2
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x78]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x493f74
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x78]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x4b
mov rdx, qword [rsp + 0x98]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x493f96
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x78]
mov edx, 0x4b
xor r8d, r8d
mov r9, qword [rsp + 0x98]
call fcn.0047df60
mov ebp, 1
mov rcx, qword [rsp + 0x78]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x493ff5
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x78]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x61
mov rdx, qword [rsp + 0x98]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], ebp
mov edx, dword [rsp + 0xa8]
mov dword [rcx + rax*8 + 0xc], edx
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x49401a
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x78]
mov edx, 0x61
mov r8, qword [rsp + 0x98]
mov r9d, ebp
call fcn.0047df60
test r13, r13
je 0x49408f
movzx esi, word [r13 + 0x5e]
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x4940f7
movsxd rcx, eax
lea edx, [rcx + 1]
mov rbp, qword [rsp + 0x78]
mov dword [rbp + 0x90], edx
mov rdx, qword [rbp + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x8a
mov rbx, qword [rsp + 0x80]
mov dword [rdx + rcx*8 + 4], ebx
mov ebx, dword [rsp + 0xa8]
mov dword [rdx + rcx*8 + 8], ebx
mov rbx, qword [rsp + 0x98]
mov dword [rdx + rcx*8 + 0xc], ebx
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x494122
mov rcx, qword [rsp + 0x78]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x49414d
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x78]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], pe_nt_image_headers64
mov rdx, qword [rsp + 0x80]
mov dword [rcx + rax*8 + 4], edx
mov edx, dword [rsp + 0xa8]
mov dword [rcx + rax*8 + 8], edx
mov edx, dword [rsp + 0xb8]
mov dword [rcx + rax*8 + 0xc], edx
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x494177
mov rax, qword [rsp + 0x98]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x78]
mov edx, 0x8a
mov r8, qword [rsp + 0x80]
mov r9d, dword [rsp + 0xa8]
call fcn.0047df60
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx]
cmp byte [rcx + 0x67], 0
jne 0x494177
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x88]
cdqe
lea rax, [rax + rax*2]
mov byte [rcx + rax*8 + 1], 0xfd
mov dword [rcx + rax*8 + 0x10], esi
jmp 0x494177
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x78]
mov edx, pe_nt_image_headers64
mov r8, qword [rsp + 0x80]
mov r9d, dword [rsp + 0xa8]
call fcn.0047df60
mov rax, qword [rsp + 0x78]
movsxd rax, dword [rax + 0x90]
test rax, rax
jle 0x4941a2
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x88]
lea edx, [rax - 1]
lea rdx, [rdx + rdx*2]
mov word [rcx + rdx*8 + 2], 2
mov rcx, qword [rsp + 0xa0]
lea r9d, [rcx + 1]
mov rcx, qword [rsp + 0x78]
cmp dword [rcx + 0x94], eax
jle 0x4941ff
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x78]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x26
mov rdx, qword [rsp + 0x80]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x49421e
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x78]
mov edx, 0x26
mov r8, qword [rsp + 0x80]
call fcn.0047df60
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx + 0x90]
mov rcx, qword [rcx]
cmp byte [rcx + 0x67], 0
je 0x49423b
lea rcx, [0x0213b3e8]
jmp 0x494262
lea ecx, [rax - 1]
mov rdx, qword [rsp + 0xa0]
test edx, edx
cmovns ecx, edx
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
mov rdx, qword [rsp + 0x78]
add rcx, qword [rdx + 0x88]
mov dword [rcx + 8], eax
mov r13, qword [rsp + 0x90]
mov r12, qword [rsp + 0x68]
jmp 0x4832e0
mov ebx, edx
jmp 0x493c31
lea rbx, [0x006030a2]
jmp 0x49523a
add rax, rcx
lea rbx, [0x006030a2]
movzx edx, byte [rax]
jmp 0x49523a
mov ecx, 2
mov r10d, 0x48
jmp 0x4942bd
or r11d, edx
add rcx, 1
add r10, 0x20
cmp r9, rcx
je 0x493888
mov esi, 1
shl esi, cl
mov edx, 0xfffffffe
rol edx, cl
mov eax, r11d
not eax
mov edi, 0x9e2cd4d
btr edi, ecx
mov ebx, esi
and ebx, 0xf61d32b2
or ebx, edi
or edx, eax
and eax, 0x9e2cd4d
and r11d, 0xf61d32b2
or r11d, eax
xor r11d, ebx
not edx
mov rax, qword [r8 + 0x20]
mov rax, qword [rax + r10]
cmp byte [rax + 0x11], 0
je 0x4942a9
mov eax, dword [r14 + 0xd0]
mov edi, eax
not edi
mov ebx, esi
not ebx
mov r13d, edi
and r13d, 0x9c4e5073
and eax, 0x63b1af8c
or eax, r13d
or edi, ebx
and ebx, 0x9c4e5073
and esi, 0x63b1af8c
or esi, ebx
xor esi, eax
not edi
or edi, esi
mov dword [r14 + 0xd0], edi
jmp 0x4942a9
and ecx, 0x40e348c0
mov edx, esi
and edx, 0xbf1cb73f
or edx, ecx
xor edx, 0x40e348c3
and esi, 3
or esi, edx
cmp r9d, 2
jne 0x494426
mov dword [r14 + 0xcc], esi
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax + 0xa0]
test rcx, rcx
cmove rcx, rax
mov byte [rcx + 0x21], 1
mov rcx, qword [rsp + 0x60]
mov byte [rcx + 0x1c], 1
lea rax, [0x00605ade]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x30], 0
lea rdx, [0x00605b07]
mov r8, qword [rsp + 0x78]
mov r9, r8
call fcn.004d54f0
cmp ebp, 1
je 0x492262
mov dword [rsp + 0x20], 0
lea rdx, [0x00605bb6]
lea r9, [0x00605ade]
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x78]
call fcn.004d54f0
jmp 0x492262
lea rbx, [0x00603b9b]
jmp 0x494504
add rbp, rcx
lea rbx, [0x00603b9b]
movzx esi, byte [rbp]
jmp 0x494504
test eax, eax
jne 0x492262
jmp 0x49224f
mov ecx, 2
mov r10d, 0x48
jmp 0x494446
or esi, edx
add rcx, 1
add r10, 0x20
cmp r9, rcx
je 0x49436e
mov r11d, 1
shl r11d, cl
mov edx, 0xfffffffe
rol edx, cl
mov eax, esi
not eax
mov edi, 0xfae3a39d
btr edi, ecx
mov ebx, r11d
and ebx, 0x51c5c62
or ebx, edi
or edx, eax
and eax, 0xfae3a39d
and esi, 0x51c5c62
or esi, eax
xor esi, ebx
not edx
mov rax, qword [r8 + 0x20]
mov rax, qword [rax + r10]
cmp byte [rax + 0x11], 0
je 0x494433
mov eax, dword [r14 + 0xd0]
mov edi, eax
and edi, r11d
xor eax, r11d
or eax, edi
mov dword [r14 + 0xd0], eax
jmp 0x494433
lea rbx, [0x006030a3]
jmp 0x49523a
add rax, rcx
lea rbx, [0x006030a3]
movzx edx, byte [rax]
jmp 0x49523a
lea rbx, [0x00603b9c]
jmp 0x494504
add rbp, rcx
lea rbx, [0x00603b9c]
movzx esi, byte [rbp]
jmp 0x494504
lea rbx, [0x006030a4]
jmp 0x49523a
add rax, rcx
lea rbx, [0x006030a4]
movzx edx, byte [rax]
jmp 0x49523a
lea rbx, [0x00603b9d]
movzx ecx, byte [rbx]
lea rdx, [0x005fade0]
movzx ecx, byte [rcx + rdx]
cmp esi, ecx
mov r14, rdi
mov rsi, r11
jne 0x494594
mov r15, rsi
movabs r11, 0xc3c7caca2d060d9d
movabs rbx, 0x86729bf6f5fc2eac
lea rdi, [r10 + r8]
xor r12d, r12d
mov rbp, r11
not rbp
xor esi, esi
mov rcx, r10
cmp r10, rsi
je 0x494b7d
lea rax, [rcx + rbx]
add rax, r8
sub rax, rbx
mov edx, 0xffffffff
xor rdx, rax
not rdx
and rdx, rax
movzx eax, byte [r14 + rdx]
movzx eax, byte [rax + r9]
mov edx, eax
xor dl, 0xfe
add rcx, r11
add rcx, rbp
add rdi, 0xffffffffffffffff
add rsi, 1
test dl, al
jne 0x494545
sub r10d, esi
add r10d, 1
mov r12d, r10d
mov rsi, r15
cmp r12d, 3
jb 0x4946aa
movzx ecx, byte [r14]
lea rax, [0x005fb0a0]
cmp byte [rcx + rax], 0
jns 0x4945d6
lea ecx, [r12 - 1]
mov edx, 1
movzx ebp, byte [r14 + rdx]
cmp byte [rbp + rax], 0
js 0x4945d6
add rdx, 1
cmp rcx, rdx
jne 0x4945b9
add r12d, 0xfffffffe
add r14, 1
test r12d, r12d
jle 0x4946ca
cmp r12d, 7
mov r8, r14
je 0x4946ea
cmp r12d, 4
je 0x494843
mov dword [rsp + 0x80], 0
mov byte [rsp + 0xa0], 1
mov byte [rsp + 0x98], 0x41
cmp r12d, 3
jne 0x494bfb
mov r9, rsi
mov rdi, r13
mov rax, qword [0x005f6ea0]
test rax, rax
je 0x49491b
movzx ebp, byte [r14]
movzx edx, byte [rax]
lea rcx, [0x005fade0]
add rdx, rcx
test rbp, rbp
je 0x49492c
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
jne 0x4946a2
movzx ebp, byte [r14 + 1]
movzx edx, byte [rax + 1]
add rdx, rcx
test rbp, rbp
je 0x49492c
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
jne 0x4946a2
mov rbp, r8
movzx ebp, byte [r8 + 2]
movzx edx, byte [rax + 2]
add rdx, rcx
test rbp, rbp
je 0x49492c
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
xor eax, eax
cmp bl, dl
mov r13, rdi
mov r14, r8
je 0x494bbb
movzx ecx, bl
jmp 0x494930
mov byte [rsp + 0x98], 0x41
mov byte [rsp + 0xa0], 1
mov dword [rsp + 0x80], 0
jmp 0x494bfb
mov dword [rsp + 0x80], 0
mov byte [rsp + 0xa0], 1
mov byte [rsp + 0x98], 0x41
jmp 0x494bfb
mov dword [rsp + 0x80], 0
mov byte [rsp + 0xa0], 1
mov byte [rsp + 0x98], 0x41
mov rax, qword [0x005f6eb8]
mov r12d, 7
test rax, rax
je 0x494bfb
mov r9, rsi
movzx ebp, byte [r14]
movzx edx, byte [rax]
lea rcx, [0x005fade0]
add rdx, rcx
test rbp, rbp
je 0x4949d2
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
jne 0x494838
mov rdi, r13
movzx ebp, byte [r14 + 1]
movzx edx, byte [rax + 1]
add rdx, rcx
test rbp, rbp
je 0x4949d5
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
mov r13, rdi
jne 0x494838
mov rbp, r8
movzx ebp, byte [r8 + 2]
movzx edx, byte [rax + 2]
add rdx, rcx
test rbp, rbp
je 0x4949d5
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
mov r13, rdi
jne 0x494838
mov rbp, r8
movzx ebp, byte [r8 + 3]
movzx edx, byte [rax + 3]
add rdx, rcx
test rbp, rbp
je 0x4949d5
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
mov r13, rdi
jne 0x494838
mov rbp, r8
movzx ebp, byte [r8 + 4]
movzx edx, byte [rax + 4]
add rdx, rcx
test rbp, rbp
je 0x4949d5
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
mov r13, rdi
jne 0x494838
mov rbp, r8
movzx ebp, byte [r8 + 5]
movzx edx, byte [rax + 5]
add rdx, rcx
test rbp, rbp
je 0x4949d5
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
mov r13, rdi
jne 0x494838
mov rbp, r8
movzx ebp, byte [r8 + 6]
movzx edx, byte [rax + 6]
add rdx, rcx
test rbp, rbp
je 0x4949d5
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
mov eax, 3
cmp bl, dl
mov r13, rdi
mov r14, r8
je 0x494bbb
mov rdi, r13
movzx ecx, bl
jmp 0x4949d9
mov dword [rsp + 0x80], 0
mov byte [rsp + 0xa0], 1
mov byte [rsp + 0x98], 0x41
mov r9, rsi
mov rax, qword [0x005f6ea8]
test rax, rax
je 0x494a03
movzx ebp, byte [r14]
movzx edx, byte [rax]
lea rcx, [0x005fade0]
add rdx, rcx
test rbp, rbp
je 0x4949e6
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
jne 0x494910
mov rdi, r13
movzx ebp, byte [r14 + 1]
movzx edx, byte [rax + 1]
add rdx, rcx
test rbp, rbp
je 0x4949e9
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
mov r13, rdi
jne 0x494910
mov rbp, r8
movzx ebp, byte [r8 + 2]
movzx edx, byte [rax + 2]
add rdx, rcx
test rbp, rbp
je 0x4949e9
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
mov r13, rdi
jne 0x494910
mov rbp, r8
movzx ebp, byte [r8 + 3]
movzx edx, byte [rax + 3]
add rdx, rcx
test rbp, rbp
je 0x4949e9
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
mov eax, 1
cmp bl, dl
mov r13, rdi
mov r14, r8
je 0x494bbb
mov rdi, r13
movzx ecx, bl
jmp 0x4949ed
mov rax, qword [0x005f6eb0]
test rax, rax
jne 0x494953
jmp 0x495137
mov dl, byte [rdx]
xor ecx, ecx
movzx edx, dl
xor eax, eax
cmp ecx, edx
mov r13, rdi
mov r14, r8
je 0x494bbb
mov rax, qword [0x005f6eb0]
test rax, rax
je 0x49512c
movzx ebp, byte [r14]
movzx edx, byte [rax]
lea rcx, [0x005fade0]
add rdx, rcx
test rbp, rbp
je 0x494b69
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
jne 0x4949ca
mov rsi, r8
movzx ebp, byte [r8 + 1]
movzx edx, byte [rax + 1]
add rdx, rcx
test rbp, rbp
je 0x494b69
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
jne 0x4949ca
mov rbp, r8
movzx ebp, byte [r8 + 2]
movzx edx, byte [rax + 2]
add rdx, rcx
test rbp, rbp
je 0x494b69
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
mov eax, 2
cmp bl, dl
mov r13, rdi
mov r14, r8
je 0x494bbb
movzx ecx, bl
jmp 0x494b6d
mov rdi, r13
mov dl, byte [rdx]
xor ecx, ecx
movzx edx, dl
mov eax, 3
jmp 0x494bb1
mov rdi, r13
mov dl, byte [rdx]
xor ecx, ecx
movzx edx, dl
mov eax, 1
cmp ecx, edx
mov r13, rdi
mov r14, r8
je 0x494bbb
mov rax, qword [0x005f6ec0]
test rax, rax
je 0x494abe
mov rdi, r13
movzx ebp, byte [r14]
movzx edx, byte [rax]
lea rcx, [0x005fade0]
add rdx, rcx
test rbp, rbp
je 0x494aa4
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
jne 0x494a9f
mov rbp, r8
movzx ebp, byte [r8 + 1]
movzx edx, byte [rax + 1]
add rdx, rcx
test rbp, rbp
je 0x494aa4
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
jne 0x494a9f
mov rbp, r8
movzx ebp, byte [r8 + 2]
movzx edx, byte [rax + 2]
add rdx, rcx
test rbp, rbp
je 0x494aa4
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
jne 0x494a9f
mov rbp, r8
movzx ebp, byte [r8 + 3]
movzx edx, byte [rax + 3]
add rdx, rcx
test rbp, rbp
je 0x494aa4
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
mov eax, 4
cmp bl, dl
mov r13, rdi
mov r14, r8
je 0x494bbb
movzx ecx, bl
jmp 0x494aa8
mov dl, byte [rdx]
xor ecx, ecx
movzx edx, dl
mov eax, 4
cmp ecx, edx
mov r13, rdi
mov r14, r8
je 0x494bbb
mov rdi, r13
mov rax, qword [0x005f6ec8]
mov r12d, 4
test rax, rax
je 0x494b9d
movzx ebp, byte [r8]
movzx edx, byte [rax]
lea rcx, [0x005fade0]
add rdx, rcx
test rbp, rbp
je 0x494ba5
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
jne 0x494b64
mov rbp, r8
movzx ebp, byte [r8 + 1]
movzx edx, byte [rax + 1]
add rdx, rcx
test rbp, rbp
je 0x494ba5
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
jne 0x494b64
mov rbp, r8
movzx ebp, byte [r8 + 2]
movzx edx, byte [rax + 2]
add rdx, rcx
test rbp, rbp
je 0x494ba5
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
cmp bl, dl
jne 0x494b64
mov rbp, r8
movzx ebp, byte [r8 + 3]
movzx edx, byte [rax + 3]
add rdx, rcx
test rbp, rbp
je 0x494ba5
mov bl, byte [rbp + rcx]
mov dl, byte [rdx]
mov eax, 5
cmp bl, dl
mov r13, rdi
mov r14, r8
je 0x494bbb
movzx ecx, bl
jmp 0x494ba9
mov dl, byte [rdx]
xor ecx, ecx
movzx edx, dl
mov r12d, 3
mov eax, 2
jmp 0x494bb1
mov byte [rsp + 0x98], 0x41
mov byte [rsp + 0xa0], 1
mov dword [rsp + 0x80], 0
mov rsi, r15
jmp 0x494bfb
mov r13, rdi
mov r14, r8
jmp 0x494bf8
mov dl, byte [rdx]
xor ecx, ecx
movzx edx, dl
mov eax, 5
cmp ecx, edx
mov r13, rdi
mov r14, r8
jne 0x494bf8
mov ecx, eax
lea rdx, [0x00603b9f]
mov cl, byte [rcx + rdx]
mov byte [rsp + 0x98], cl
mov ecx, eax
xor ecx, 4
and ecx, eax
cmp ecx, 1
sete cl
shl cl, 2
or cl, 1
mov byte [rsp + 0xa0], cl
shl eax, 4
add eax, 0x10
xor r12d, r12d
mov dword [rsp + 0x80], eax
mov rsi, r9
mov ebp, dword [rsp + 0x70]
mov eax, r12d
mov qword [rsp + 0xa8], rax
add rax, rbp
movabs rcx, 0xf61b3947a7e676d4
sub rax, rcx
cmp r12d, 1
sbb rax, 0xffffffffffffffff
lea rdx, [rax + rcx]
add rdx, 1
test rsi, rsi
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0x78], rsi
je 0x494c46
mov rcx, rsi
call fcn.00429840
jmp 0x494c4e
mov rcx, rdx
call fcn.00404550
mov r15, rax
test rax, rax
je 0x491d07
mov rdi, qword [rsp + 0x60]
mov al, byte [rdi + 0x124]
cmp al, 3
ja 0x494e18
cmp al, 2
je 0x494e18
mov rcx, r15
mov rdx, qword [rsp + 0x88]
mov r8, rbp
call fcn.005f4c20
mov byte [r15 + rbp], 0
movzx eax, byte [r15]
lea r10, [0x005fb0a0]
cmp byte [rax + r10], 0
jns 0x494cf0
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
mov edx, 0xffffffff
xor ebp, ebp
mov rsi, r15
jmp 0x494cca
mov byte [rsi], bl
add rbp, 1
add ecx, 1
add rsi, 1
movsxd rbx, ecx
movzx ebx, byte [r15 + rbx]
cmp bl, al
jne 0x494cbd
sub ecx, edx
movsxd rbx, ecx
cmp byte [r15 + rbx], al
jne 0x494ce5
mov byte [rsi], al
jmp 0x494cbf
mov byte [rsi], 0
mov al, byte [r15]
mov rdi, qword [rsp + 0x60]
test al, al
je 0x494d16
lea rcx, [r15 + 1]
xor r14d, r14d
lea rdx, [0x005fade0]
movzx eax, al
add r14b, byte [rax + rdx]
movzx eax, byte [rcx]
add rcx, 1
test al, al
jne 0x494d02
jmp 0x494d19
xor r14d, r14d
mov rax, qword [rsp + 0x68]
movzx r8d, word [rax + 0x36]
lea rbp, [rax + 8]
test r8w, r8w
jle 0x494da6
mov r11, rbp
mov r9, qword [rbp]
xor ecx, ecx
lea rdx, [0x005fade0]
jmp 0x494d4c
add rcx, 1
cmp rcx, r8
je 0x49511a
lea rbp, [rcx + rcx*2]
cmp byte [r9 + rbp*8 + 0xe], r14b
jne 0x494d3f
mov rsi, qword [r9 + rbp*8]
xor ebx, ebx
jmp 0x494d6d
movzx eax, byte [rdi + rdx]
cmp al, byte [rbp + rdx]
jne 0x494d3f
add rbx, 1
movzx edi, byte [r15 + rbx]
movzx ebp, byte [rsi + rbx]
cmp dil, bpl
jne 0x494d5f
test dil, dil
jne 0x494d69
lea rdx, [0x00603ba5]
mov rcx, qword [rsp + 0x60]
mov r8, r15
call fcn.00419aa0
mov rcx, qword [rsp + 0x78]
mov rdx, r15
call fcn.00408130
jmp 0x491d07
mov r9, qword [rbp]
mov rsi, qword [rsp + 0x78]
movsx rax, r8w
lea rcx, [rax*8]
lea rcx, [rcx + rcx*2]
movabs rdx, 0xa05226abb9581563
sub rcx, rdx
lea r8, [rcx + rdx]
add r8, 0x18
test r9, r9
je 0x494e2c
cmp qword [rsi + 0x1f0], r9
jbe 0x494e90
cmp qword [rsi + 0x1e0], r9
jbe 0x494e87
cmp qword [rsi + 0x1e8], r9
ja 0x494e90
movzx ecx, word [rsi + 0x1a6]
cmp r8, rcx
ja 0x494e90
mov rbx, r10
jmp 0x494eb4
mov rcx, qword [rdi]
test rcx, rcx
je 0x494e3c
mov edx, 0x20
call fcn.00429840
jmp 0x494e46
mov rbx, r10
mov rcx, rsi
mov rdx, r8
call fcn.00429840
jmp 0x494e9e
mov ecx, 0x20
call fcn.00404550
test rax, rax
je 0x494c75
mov qword [rax], r15
mov rcx, qword [rsp + 0x88]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x70]
mov dword [rax + 0x10], ecx
mov ecx, dword [rsp + 0xb8]
mov dword [rax + 0x14], ecx
mov rcx, qword [rdi + 0x190]
mov qword [rax + 0x18], rcx
mov qword [rdi + 0x190], rax
jmp 0x494c75
cmp r8, 0x81
jb 0x494e10
mov rbx, r10
mov rcx, rsi
mov rdx, r9
call fcn.00429900
mov r9, rax
test rax, rax
je 0x494f7b
mov rax, qword [rsp + 0x68]
movsx rax, word [rax + 0x36]
mov qword [rbp], r9
lea rdx, [rax + rax*2]
xorps xmm0, xmm0
movups xmmword [r9 + rdx*8 + 8], xmm0
mov qword [r9 + rdx*8], r15
mov byte [r9 + rdx*8 + 0xe], r14b
test r12d, r12d
je 0x494f83
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x70], r9
mov rcx, r15
call fcn.005f4bd8
mov r14, rax
and r14d, 0x3fffffff
lea rsi, [r15 + r14]
lea r12, [r15 + r14]
add r12, 1
mov rcx, r12
mov rdx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xa8]
mov r8, rdi
call fcn.005f4c20
mov byte [rdi + rsi + 1], 0
movzx edi, byte [r15 + r14 + 1]
cmp byte [rdi + rbx], 0
jns 0x494fbd
cmp dil, 0x5b
movzx ecx, dil
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
mov ebp, 0xffffffff
xor ebx, ebx
mov rdi, r12
jmp 0x494f60
mov byte [rdi], dl
add rbx, 1
add ecx, 1
add rdi, 1
movsxd rdx, ecx
movzx edx, byte [r12 + rdx]
cmp dl, al
jne 0x494f53
sub ecx, ebp
movsxd rdx, ecx
cmp byte [r12 + rdx], al
jne 0x494fb6
mov byte [rdi], al
jmp 0x494f55
mov rcx, rsi
jmp 0x494d99
lea rax, [r9 + rdx*8]
add rax, 8
mov cl, byte [rsp + 0x98]
mov byte [r9 + rdx*8 + 0xc], cl
mov ecx, dword [rsp + 0x80]
mov dword [rax], ecx
mov al, byte [rsp + 0xa0]
mov byte [r9 + rdx*8 + 0xd], al
mov rdx, qword [rsp + 0x68]
jmp 0x4951ed
mov byte [rdi], 0
mov dil, byte [r12]
test dil, dil
je 0x495102
lea rax, [r14 + r15]
add rax, 2
xor ecx, ecx
mov sil, 0x43
lea r8, [0x005fade0]
xor edx, edx
jmp 0x495001
cmp edx, 0x7265616c
je 0x495032
cmp edx, 0x74657874
jne 0x495055
mov sil, 0x42
movzx edi, byte [rax]
test dil, dil
je 0x4950a3
add rax, 1
mov ebx, edx
shl ebx, 8
movzx ebp, dil
movzx edx, byte [rbp + r8]
or edx, ebx
cmp edx, 0x646f7561
jle 0x49503d
cmp edx, 0x7265616b
jg 0x494fde
cmp edx, 0x646f7562
je 0x495032
cmp edx, 0x666c6f61
jne 0x495055
cmp sil, 0x43
jne 0x494ff1
mov sil, 0x45
jmp 0x494ff1
cmp edx, 0x626c6f62
je 0x49506c
cmp edx, 0x63686172
je 0x495098
cmp edx, 0x636c6f62
je 0x494fee
mov ebp, edx
xor ebp, 0xff000000
and ebp, edx
cmp ebp, 0x696e74
jne 0x494ff1
jmp 0x495145
cmp sil, 0x43
je 0x49507c
cmp sil, 0x45
jne 0x494ff1
movzx edi, byte [rax]
cmp dil, 0x28
cmove rcx, rax
mov sil, 0x41
test dil, dil
jne 0x494ffd
jmp 0x49518b
mov sil, 0x42
mov rcx, rax
jmp 0x494ff1
mov dword [rsp + 0xd0], 0
mov eax, 1
cmp sil, 0x42
mov rdi, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
ja 0x4951c1
test rcx, rcx
je 0x4951a2
mov dl, byte [rcx]
mov eax, 1
test dl, dl
je 0x4951b2
movzx edx, dl
add rdx, 0xffffffffffffffd0
cmp rdx, 0xa
jb 0x49515a
movzx edx, byte [rcx + 1]
add rcx, 1
test dl, dl
jne 0x4950e4
jmp 0x4951b2
mov dword [rsp + 0xd0], 0
mov eax, 1
mov sil, 0x43
jmp 0x4951b2
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x78]
mov rbp, r11
jmp 0x494daf
mov dword [rsp + 0x80], 0
mov r12d, 3
mov r13, rdi
jmp 0x494bf8
mov dword [rsp + 0xd0], 0
mov eax, 1
mov sil, 0x44
jmp 0x4951b2
lea rdx, [rsp + 0xd0]
call fcn.0047a900
mov eax, dword [rsp + 0xd0]
lea ecx, [rax + 3]
test eax, eax
cmovns ecx, eax
sar ecx, 2
add ecx, 1
cmp eax, 0x3fb
mov eax, 0xff
cmovle eax, ecx
jmp 0x4951b2
mov dword [rsp + 0xd0], 0
mov sil, 0x41
test rcx, rcx
jne 0x4950d5
mov dword [rsp + 0xd0], 0x10
mov eax, 5
mov rdi, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov dword [rsp + 0xd0], eax
mov rbx, qword [rsp + 0x88]
mov byte [rbp + rbx*8 + 0xd], al
mov byte [rbp + rbx*8 + 0xc], sil
movzx eax, word [rbp + rbx*8 + 0x12]
mov ecx, eax
and ecx, 4
xor eax, 4
or eax, ecx
mov word [rbp + rbx*8 + 0x12], ax
add word [rdx + 0x36], 1
add word [rdx + 0x38], 1
mov dword [rdi + 0x68], 0
jmp 0x491d07
lea rbx, [0x006030a5]
jmp 0x49523a
add rax, rcx
lea rbx, [0x006030a5]
movzx edx, byte [rax]
jmp 0x49523a
lea rbx, [0x006030a6]
jmp 0x49523a
add rax, rcx
lea rbx, [0x006030a6]
movzx edx, byte [rax]
jmp 0x49523a
lea rbx, [0x006030a7]
movzx eax, byte [rbx]
lea rcx, [0x005fade0]
movzx eax, byte [rax + rcx]
cmp edx, eax
jne 0x495267
lea rdx, [0x0060529b]
mov r12, qword [rsp + 0x60]
mov rcx, r12
call fcn.00419aa0
xor esi, esi
jmp 0x48f204
mov rax, qword [rsp + 0xc8]
mov al, byte [rax + 0x3f]
cmp al, 2
setne cl
cmp dword [rsp + 0x80], 0x41
setne dl
cmp dl, cl
je 0x4952c3
cmp dword [rsp + 0x80], 0x41
je 0x4952c3
cmp dword [rsp + 0x80], 0x21
lea rax, [0x006052e6]
lea r8, [0x006052ed]
cmove r8, rax
lea rdx, [0x006052c1]
mov rcx, qword [rsp + 0x60]
mov r9, rsi
call fcn.00419aa0
jmp 0x491038
cmp dword [rsp + 0x80], 0x41
jne 0x4952f0
cmp al, 2
je 0x4952f0
mov al, 1
test al, al
je 0x4952f0
lea rdx, [0x006052f3]
mov rcx, qword [rsp + 0x60]
mov r8, rsi
call fcn.00419aa0
jmp 0x491038
cmp r8b, 1
jbe 0x495325
mov eax, dword [rsp + 0x80]
cmp eax, 0x41
mov edi, 0x21
cmovne edi, eax
test r15, r15
jne 0x49543c
mov ecx, 0x48
call fcn.00404550
mov rsi, rax
mov bl, 1
jmp 0x49544e
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rax + 0x60]
mov r10, qword [r15 + 0x20]
test rcx, rcx
je 0x49535a
lea rdx, [r10 + 0x18]
mov ebx, 0xffffffff
xor edi, edi
add rdi, 1
add ebx, 1
lea rax, [rdx + 0x20]
cmp qword [rdx], rcx
mov rdx, rax
jne 0x495345
jmp 0x49535f
mov ebx, 0xffff8000
movsxd rcx, ebx
shl rcx, 5
mov rsi, qword [r10 + rcx]
mov qword [rsp + 0x98], rsi
cmp dword [rsp + 0xa0], 0
je 0x495380
mov rsi, qword [r10 + 0x20]
mov edi, dword [rsp + 0xa0]
test edi, edi
setne al
cmp ebx, 1
sete cl
xor cl, al
xor cl, 1
cmp ebx, 1
movzx eax, cl
lea eax, [rax + rax + 5]
mov edx, 5
cmovne edx, eax
test edi, edi
cmove edx, eax
mov rax, qword [rsp + 0x60]
mov rdi, qword [rax]
mov r10, qword [rdi + 0x1f8]
test r10, r10
je 0x49542a
mov r11b, byte [rdi + 0xc5]
mov ecx, r11d
not cl
mov eax, r8d
not al
mov r12d, ecx
and r12b, 0x66
and r11b, 0x99
or r11b, r12b
or cl, al
and al, 0x66
and r8b, 0x99
or r8b, al
xor r8b, r11b
not cl
or cl, r8b
je 0x49556d
cmp ebx, 1
lea rax, [0x005fd54f]
lea r8, [0x005fd407]
cmove r8, rax
cmp byte [rdi + 0xc5], 0
jne 0x49542a
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x124], 0
je 0x49561b
mov eax, dword [rsp + 0x80]
cmp eax, 0x41
mov edi, 0x21
cmovne edi, eax
mov edx, 0x48
mov rcx, r15
call fcn.00429840
mov rsi, rax
xor ebx, ebx
test rsi, rsi
je 0x48f1fd
xorps xmm0, xmm0
mov rax, rsi
movups xmmword [rsi + 0x38], xmm0
movups xmmword [rsi + 0x28], xmm0
movups xmmword [rsi + 0x18], xmm0
movups xmmword [rsi + 8], xmm0
mov qword [rsi], rbp
mov rax, qword [rsp + 0x68]
mov rbp, qword [rax + 0x18]
test rbp, rbp
je 0x4954cc
mov rcx, rbp
call fcn.005f4bd8
movabs rcx, 0x90f834704475cce3
sub rax, rcx
lea r12, [rax + rcx]
add r12, 1
test bl, bl
je 0x4954a9
mov rcx, r12
call fcn.00404550
jmp 0x4954b4
mov rcx, r15
mov rdx, r12
call fcn.00429840
mov rbx, rax
test rax, rax
je 0x4954cc
mov rcx, rbx
mov rdx, rbp
mov r8, r12
call fcn.005f4c20
jmp 0x4954ce
xor ebx, ebx
mov rdx, rsi
mov qword [rsi + 8], rbx
mov rax, qword [r15 + 0x20]
mov rcx, qword [rsp + 0x160]
mov rax, qword [rax + rcx + 0x18]
mov qword [rsi + 0x28], rax
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax + 0x60]
mov qword [rsi + 0x30], rax
mov eax, dword [rsp + 0xb0]
mov byte [rsi + 0x10], al
cmp edi, 0x21
sete al
mov cl, 2
sub cl, al
mov byte [rsi + 0x11], cl
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x124], 2
jb 0x49554d
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x190]
test rax, rax
je 0x4955c0
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx + 0x18]
cmp qword [rax], rcx
je 0x4955bd
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x49553d
jmp 0x4955c0
cmp qword [rsp + 0x70], 0
je 0x4955b9
mov rcx, r15
mov rdx, qword [rsp + 0x70]
mov r8d, 1
xor r9d, r9d
call fcn.004d3ed0
jmp 0x4955cc
mov rcx, qword [rdi + 0x200]
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x168]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
mov r8, rbp
call r10
cmp eax, 1
jne 0x4955eb
lea rdx, [0x005ff140]
mov r12, qword [rsp + 0x60]
mov rcx, r12
call fcn.00419aa0
mov dword [r12 + 0x18], 0x17
xor esi, esi
jmp 0x48f204
xor eax, eax
jmp 0x4955cc
mov qword [rax], rbx
mov rax, qword [rsp + 0x70]
xor ecx, ecx
mov qword [rsp + 0x70], rcx
mov qword [rsi + 0x18], rax
mov qword [rsi + 0x20], r14
mov r12, qword [rsp + 0x60]
mov qword [r12 + 0x160], rsi
xor ebp, ebp
xor r14d, r14d
jmp 0x48f204
mov ecx, eax
not ecx
or ecx, 2
cmp ecx, 0xffffffff
je 0x49566d
lea rdx, [0x00602fdd]
mov r12, qword [rsp + 0x60]
mov rcx, r12
call fcn.00419aa0
mov dword [r12 + 0x18], 1
xor esi, esi
jmp 0x48f204
mov rcx, qword [rdi + 0x200]
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x168]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x20], rax
mov edx, 0x12
xor r9d, r9d
call r10
cmp eax, 1
je 0x495595
mov ecx, eax
not ecx
or ecx, 2
cmp ecx, 0xffffffff
jne 0x4955f7
test eax, eax
jne 0x48f1fd
jmp 0x49542a
test eax, eax
jne 0x48f1fd
cmp ebx, 1
mov rax, qword [rsp + 0x60]
mov rdi, qword [rax]
mov r10, qword [rdi + 0x1f8]
lea rax, [0x005fd54f]
lea r8, [0x005fd407]
cmove r8, rax
test r10, r10
jne 0x49540f
jmp 0x49542a