Function at 0x180078758
Capabilities:
Encode data using base64

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb8]
sub rsp, 0x1b8
mov rax, qword [0x180163140]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov r15, r9
mov qword [rbp + 0x20], r9
mov r14, r8
mov rdi, rcx
mov qword [rsp + 0x78], rcx
mov r10, qword [rbp + 0x120]
mov qword [rsp + 0x68], r10
mov rax, qword [rbp + 0x128]
mov qword [rbp - 0x68], rax
and qword [rbp - 0x70], 0
mov byte [rsp + 0x74], 0
xor r12d, r12d
mov byte [rsp + 0x58], r12b
mov rbx, qword [rcx + 0xa8]
cmp edx, 0x67f
sbb eax, eax
and eax, edx
mov r11d, eax
mov qword [rbp - 0x78], r11
lea r9, [0x180000000]
mov eax, dword [r9 + rax*8 + 0x103900]
shr rax, 0xe
and eax, 0x3ff
lea rax, [rax*8 + 0x102b20]
add rax, r9
mov qword [rbp - 0x58], rax
mov ecx, dword [r10]
and ecx, 7
mov eax, dword [r15]
and eax, 7
lea ecx, [rax + rcx*8]
mov eax, dword [r8]
and eax, 7
lea esi, [rax + rcx*8]
mov r13d, dword [rdi + 0x54]
mov rax, qword [rdi + 0xa0]
mov rdx, rax
sub rdx, rbx
sub rax, rbx
xor ecx, ecx
cmp rax, 0x10
setb cl
xor eax, eax
test r11d, r11d
sete al
or ecx, eax
or r13d, ecx
or r13d, dword [rdi + 0x24]
mov dword [rsp + 0x5c], r13d
test r13d, 0x3e001
je 0x180078a35
mov rcx, qword [rdi + 0x30]
test rcx, rcx
jne 0x180078873
xor r8d, r8d
lea edx, [rcx + 5]
mov rcx, rdi
call fcn.180060d5c
jmp 0x180078d0b
test r11d, r11d
je 0x180078cd4
cmp rdx, 0x10
jae 0x1800788b2
mov rdx, qword [rdi + 0x90]
add rdx, 0x48
mov r8d, 0x10
call fcn.1800612fc
test eax, eax
je 0x1800788ab
xor r8d, r8d
mov edx, eax
mov rcx, rdi
call fcn.180060d5c
jmp 0x1800788b4
mov rbx, qword [rdi + 0xa8]
xor eax, eax
test eax, eax
jne 0x180078cd9
lea r8d, [rax + 1]
test byte [rdi + 0x10], r8b
je 0x18007894a
movups xmm0, xmmword [r14]
movdqu xmmword [rbp + 0x40], xmm0
movups xmm1, xmmword [r15]
movdqu xmmword [rbp + 0x50], xmm1
mov rax, qword [rsp + 0x68]
movups xmm0, xmmword [rax]
movdqu xmmword [rbp + 0x60], xmm0
mov rax, qword [rbp - 0x68]
movups xmm1, xmmword [rax]
movdqu xmmword [rbp + 0x70], xmm1
movups xmm0, xmmword [rax + 0x10]
movdqu xmmword [rbp + 0x80], xmm0
movups xmm1, xmmword [rax + 0x20]
movdqu xmmword [rbp + 0x90], xmm1
mov r10, qword [rdi + 0x88]
mov rax, qword [rbp - 0x78]
mov dword [rbp + 0x28], eax
mov dword [rbp + 0x2c], r13d
mov rax, qword [rdi + 0x58]
mov qword [rbp + 0x30], rax
and dword [rsp + 0x20], 0
lea r9d, [r8 + 5]
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x28]
mov cl, byte [rdi + 0x48]
call r10
test eax, eax
jne 0x180078cd9
lea r8d, [rax + 1]
mov r11, qword [rbp - 0x78]
lea r9, [0x180000000]
mov eax, dword [r9 + r11*8 + 0x103900]
shr rax, 0xe
and eax, 0x3ff
mov edx, dword [r9 + rax*8 + 0x102b20]
mov eax, r13d
shr eax, 0xd
test r8b, al
je 0x1800789ed
mov ecx, r13d
and ecx, 0x30000
mov eax, edx
shr eax, 0x10
test r8b, al
jne 0x180078998
test ecx, ecx
jne 0x18007899c
lea eax, [rcx + 0x21]
jmp 0x180078cd9
test ecx, ecx
je 0x1800789e7
mov ecx, r13d
shr ecx, 0x10
test r8b, cl
je 0x1800789bb
mov eax, edx
shr eax, 0x11
test r8b, al
jne 0x1800789bb
mov eax, 0x22
jmp 0x180078cd9
mov eax, r13d
shr eax, 0x11
test r8b, al
je 0x1800789da
mov eax, edx
shr eax, 0x12
test r8b, al
jne 0x1800789da
mov eax, 0x23
jmp 0x180078cd9
not cl
and cl, r8b
or cl, 0xf2
mov byte [rbx], cl
add rbx, r8
mov byte [rbx], 0xf0
add rbx, r8
test r13d, 0xc000
je 0x180078a30
shr edx, 0xe
test r8b, dl
je 0x180078c59
mov eax, dword [rdi + 0x58]
test eax, eax
je 0x180078a1e
shr eax, 8
test al, 0xf
jne 0x180078c59
cmp dword [rdi + 0x5c], r8d
jne 0x180078c59
mov eax, r13d
shr eax, 0xf
not al
and al, r8b
or al, 0xf2
mov byte [rbx], al
add rbx, r8
mov r10, qword [rsp + 0x68]
movzx eax, byte [r9 + r11*8 + 0x103906]
mov ecx, dword [r9 + rax*4 + 0x106f20]
mov eax, ecx
shr eax, 0x12
and eax, 7
mov dword [rsp + 0x54], eax
and dword [rsp + 0x60], 0
lea rax, [0x180000000]
movzx edx, byte [rax + r11*8 + 0x103905]
or edx, ecx
mov dword [rsp + 0x50], edx
movzx ecx, byte [rax + r11*8 + 0x103904]
or qword [rbp - 0x38], 0xffffffffffffffff
mov edi, 2
lea r9d, [rdi + 1]
mov r8d, 0x40000000
cmp ecx, 0x50
ja 0x18007c864
je 0x18007c7c1
cmp ecx, 0x28
ja 0x18007a3d3
je 0x18007a3a4
cmp ecx, 0x14
ja 0x180079215
je 0x1800791e0
cmp ecx, 0xa
ja 0x180078e59
je 0x180078e10
cmp ecx, 5
ja 0x180078d2e
je 0x180078cb3
test ecx, ecx
je 0x18007906d
sub ecx, 1
je 0x180078b4a
sub ecx, 1
je 0x180078c9b
sub ecx, 1
je 0x180078c60
cmp ecx, 1
jne 0x180078cd4
mov rcx, r14
call fcn.180078458
test al, al
je 0x180078cd4
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.18001413c
movzx eax, al
lea r9, [0x180000000]
movzx edi, byte [rax + r9 + 0x102590]
mov rcx, qword [rsp + 0x78]
call fcn.1800786dc
test edi, eax
mov byte [rbx], 0x67
mov eax, 0
setne al
add rbx, rax
mov edi, 1
mov esi, dword [rsp + 0x58]
mov eax, dword [rsp + 0x50]
shr eax, 0x15
and eax, 7
lea rcx, [0x180000000]
mov al, byte [rax + rcx + 0x102520]
mov byte [rbx], al
mov eax, 0
setne al
add rax, rbx
mov edx, dword [rsp + 0x50]
or edx, r13d
shr edx, 0x18
cmp edx, 0x80
ja 0x18007d03e
and edx, 0x7f
mov cl, dl
or cl, 0x40
mov byte [rax], cl
xor ecx, ecx
test edx, edx
setne cl
add rcx, rax
mov r9d, dword [rsp + 0x50]
mov r8d, r9d
shr r8, 8
and r8d, 0x1f
lea rbx, [0x180000000]
mov dl, byte [rbx + r8*4 + 0x102450]
mov al, byte [rbx + r8*4 + 0x102451]
mov byte [rcx], al
xor eax, eax
test dl, dl
setne al
add rax, rcx
mov dl, byte [rbx + r8*4 + 0x102450]
mov cl, byte [rbx + r8*4 + 0x102452]
mov byte [rax], cl
xor ebx, ebx
cmp dl, dil
seta bl
add rbx, rax
mov byte [rbx], r9b
inc rbx
cmp sil, 4
mov al, sil
jb 0x180078c0f
mov dword [rbx], r12d
add rbx, 4
shr r12, 0x20
lea eax, [rsi - 4]
test al, al
je 0x180079071
mov byte [rbx], r12b
inc rbx
shr r12, 8
add al, 0xff
je 0x180079071
mov byte [rbx], r12b
inc rbx
shr r12, 8
add al, 0xff
je 0x180079071
mov byte [rbx], r12b
inc rbx
cmp al, dil
je 0x180079071
shr r12, 8
mov byte [rbx], r12b
inc rbx
jmp 0x180079071
mov eax, 0x24
jmp 0x180078cd9
mov rcx, r14
call fcn.180078470
test al, al
je 0x180078cd4
lea rcx, [rsp + 0x50]
call fcn.180078708
mov dword [rsp + 0x60], eax
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.18007fb08
movzx r12d, al
mov edi, 1
mov sil, dil
jmp 0x18007ce90
lea rcx, [rsp + 0x50]
call fcn.180078708
mov dword [rsp + 0x60], eax
mov edi, 1
jmp 0x18007ce8c
test esi, esi
je 0x180078b4a
mov eax, 1
cmp esi, eax
jne 0x180078cd4
mov rcx, r14
call fcn.180014138
test eax, eax
je 0x180078b4a
mov eax, 0x1a
mov rcx, qword [rbp - 0x68]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r14
mov r9d, dword [rsp + 0x5c]
mov r8d, dword [rbp - 0x78]
mov edx, eax
mov rcx, qword [rsp + 0x78]
call fcn.180082998
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.1800a40a0
add rsp, 0x1b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
sub ecx, 6
je 0x180078de7
sub ecx, 1
je 0x180078d8f
sub ecx, 1
je 0x180078d4b
cmp ecx, 1
jne 0x180078cd4
jmp 0x180078e20
cmp esi, r9d
jne 0x180078d71
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.18007fb08
movzx r12d, al
mov edi, 1
mov sil, dil
jmp 0x180078b53
cmp esi, 0x19
jne 0x180078cd4
mov rcx, r14
call fcn.180014138
test eax, eax
jne 0x180078cd4
mov rcx, r15
jmp 0x180078d53
test esi, esi
je 0x180078b4a
mov r12, r14
cmp esi, edi
jne 0x180078cd4
mov rcx, r14
call fcn.180078464
test al, al
je 0x180078cd4
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.180014138
test eax, eax
jne 0x180078cd4
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.180078520
test al, al
je 0x18007b664
jmp 0x180078cd4
test esi, esi
je 0x180078b4a
cmp esi, 9
jne 0x180078cd4
mov rcx, r14
call fcn.180014138
cmp eax, edi
jne 0x180078cd4
mov rcx, r15
jmp 0x180078cc7
mov eax, dword [r14]
and al, 7
mov r8d, 1
cmp al, r8b
jne 0x180078e34
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
mov eax, dword [r14 + 4]
mov dword [rsp + 0x60], eax
mov eax, 1
cmp esi, eax
je 0x18007ce89
mov r13, r14
cmp esi, edi
je 0x18007cf78
jmp 0x180078cd4
sub ecx, 0xb
je 0x180078e34
sub ecx, 1
je 0x18007a256
sub ecx, 1
je 0x18007a152
sub ecx, 1
je 0x1800791dc
sub ecx, 1
je 0x1800791af
sub ecx, 1
je 0x18007911d
sub ecx, 1
je 0x18007910b
sub ecx, 1
je 0x180078f08
cmp ecx, 1
jne 0x180078cd4
cmp esi, 0x49
jne 0x180078eda
mov edx, edi
mov rcx, r15
call fcn.180078670
test al, al
je 0x180078cd4
xor edx, edx
mov rcx, qword [rsp + 0x68]
call fcn.180078670
test al, al
je 0x180078cd4
mov rcx, r14
call fcn.180014138
jmp 0x180078ca5
mov edi, 1
cmp esi, edi
jne 0x180078cd4
mov rcx, r14
call fcn.1800785e4
test al, al
je 0x180078cd4
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x60], eax
jmp 0x18007ce8c
cmp esi, edi
jne 0x180078cd4
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.180078514
mov eax, eax
lea r12, [0x180000000]
movzx esi, byte [rax + r12 + 0x102590]
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.180078520
test al, al
jne 0x180078cd4
test dil, sil
jne 0x180078cd4
mov eax, dword [rsp + 0x50]
shr eax, 0x15
and eax, 7
mov al, byte [rax + r12 + 0x102520]
mov byte [rbx], al
mov eax, 0
setne al
add rbx, rax
mov edx, r13d
lea rcx, [rsp + 0x50]
call fcn.180078714
mov edx, dword [rsp + 0x60]
shr edx, 2
mov ecx, dword [rsp + 0x54]
and ecx, 8
or edx, ecx
shr edx, 1
or edx, eax
cmp edx, 0x80
ja 0x18007d03e
and edx, 0x7f
mov al, dl
or al, 0x40
mov byte [rbx], al
xor edi, edi
test edx, edx
setne dil
add rdi, rbx
and dword [rsp + 0x54], 7
and dword [rsp + 0x60], 7
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.1800786d0
mov ecx, eax
mov al, byte [rcx + r12 + 0x1029d0]
mov byte [rdi], al
xor ebx, ebx
test al, al
setne bl
add rbx, rdi
mov rcx, qword [rsp + 0x78]
call fcn.1800786dc
test esi, eax
mov byte [rbx], 0x67
mov ecx, 0
setne cl
add rcx, rbx
mov r9d, dword [rsp + 0x50]
mov r8d, r9d
shr r8, 8
and r8d, 0x1f
mov dl, byte [r12 + r8*4 + 0x102450]
mov al, byte [r12 + r8*4 + 0x102451]
mov byte [rcx], al
xor eax, eax
test dl, dl
setne al
add rax, rcx
mov dl, byte [r12 + r8*4 + 0x102450]
mov cl, byte [r12 + r8*4 + 0x102452]
mov byte [rax], cl
xor ecx, ecx
lea r8d, [rcx + 1]
cmp dl, r8b
seta cl
add rcx, rax
mov byte [rcx], r9b
mov al, byte [rsp + 0x54]
shl al, 3
sub al, 0x40
add al, byte [rsp + 0x60]
mov byte [rcx + 1], al
lea rbx, [rcx + 2]
mov esi, dword [rsp + 0x58]
mov eax, 1
mov r10, qword [rsp + 0x78]
test al, r13b
je 0x1800790cb
cmp qword [r10 + 0x38], 0
je 0x1800790cb
movzx eax, sil
movzx ecx, byte [rsp + 0x74]
mov qword [rsp + 0x48], rbx
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], ecx
mov rax, qword [rbp - 0x68]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
mov r9, r14
mov r8d, r13d
mov edx, dword [rbp - 0x78]
mov rcx, r10
call fcn.180082784
mov r10, qword [rsp + 0x78]
and dword [r10 + 0x54], 0
and dword [r10 + 0x58], 0
and dword [r10 + 0x5c], 0
and qword [r10 + 0x60], 0
mov rcx, qword [r10 + 0x90]
mov rax, rbx
sub rax, qword [r10 + 0x98]
mov qword [r10 + 0xa8], rbx
cmp qword [rcx + 0x50], rax
cmovae rax, qword [rcx + 0x50]
mov qword [rcx + 0x50], rax
xor eax, eax
jmp 0x180078d0b
mov edi, 1
cmp esi, edi
jne 0x180078cd4
jmp 0x180078ef7
test esi, esi
je 0x180078b4a
mov edx, 0x11f
lea rcx, [rsp + 0x50]
call fcn.180078720
and dword [rsp + 0x54], 0
mov eax, 1
cmp esi, eax
jne 0x18007915b
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
jmp 0x180078ecd
cmp esi, edi
jne 0x18007917b
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
mov r13, r14
jmp 0x18007cf78
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r15
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
cmp esi, 9
je 0x180078ecd
cmp esi, 0xa
jne 0x180078cd4
jmp 0x180079173
cmp esi, 0x4a
jne 0x1800791dc
mov edx, edi
mov rcx, r15
call fcn.180078670
test al, al
je 0x180078cd4
xor edx, edx
mov rcx, qword [rsp + 0x68]
call fcn.180078670
test al, al
je 0x180078cd4
jmp 0x180079173
cmp esi, edi
jmp 0x1800791a7
movzx eax, byte [r14 + 3]
and eax, 0xf
lea r9, [0x180000000]
mov eax, dword [r9 + rax*4 + 0x149a30]
or dword [rsp + 0x50], eax
cmp esi, 9
jne 0x180079968
mov eax, dword [r14 + 4]
mov dword [rsp + 0x54], eax
mov eax, dword [r15 + 4]
jmp 0x180078ca5
cmp ecx, 0x1e
ja 0x180079a42
je 0x180079a16
sub ecx, 0x15
je 0x18007997e
sub ecx, 1
je 0x1800791fb
sub ecx, 1
je 0x180079915
sub ecx, 1
je 0x180079929
sub ecx, 1
je 0x180079532
sub ecx, 1
je 0x1800794f0
sub ecx, 1
je 0x180079418
sub ecx, 1
je 0x1800793dd
cmp ecx, 1
jne 0x180078cd4
test esi, 0x1c0
je 0x18007929e
mov rcx, r10
call fcn.18007849c
test al, al
je 0x180078cd4
mov rcx, qword [rsp + 0x68]
call fcn.180014138
test eax, eax
jne 0x180078cd4
and esi, 0x3f
cmp esi, 9
jne 0x180079367
mov rcx, r15
call fcn.180078488
mov edi, eax
mov rcx, r14
call fcn.180078488
cmp eax, edi
jne 0x18007c330
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r14
call fcn.180078488
lea edi, [rsi - 8]
cmp eax, edi
jne 0x18007ce8c
mov rcx, r14
call fcn.1800785b4
mov edi, 0x40000000
test al, al
jne 0x180079321
cmp dword [rsp + 0x60], 4
sbb eax, eax
not eax
and eax, edi
or r13d, eax
jmp 0x18007932b
bts r13d, 0x1f
add dword [rsp + 0x60], 4
mov rcx, r15
call fcn.1800785b4
mov esi, dword [rsp + 0x58]
test al, al
jne 0x180079353
cmp dword [rsp + 0x54], 4
sbb eax, eax
not eax
and eax, edi
or r13d, eax
mov dword [rsp + 0x5c], r13d
jmp 0x180079865
bts r13d, 0x1f
mov dword [rsp + 0x5c], r13d
add dword [rsp + 0x54], 4
jmp 0x180079865
cmp esi, 0xa
jne 0x180078cd4
mov rcx, r15
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
mov rcx, r15
call fcn.180014138
mov r13, r14
mov dword [rsp + 0x54], eax
mov rcx, r15
call fcn.180078488
mov r8d, 1
cmp eax, r8d
jne 0x18007cf78
mov rcx, r15
call fcn.1800785b4
test al, al
jne 0x1800793cd
cmp dword [rsp + 0x54], 4
sbb eax, eax
not eax
and eax, 0x40000000
or dword [rsp + 0x5c], eax
jmp 0x18007cf78
bts dword [rsp + 0x5c], 0x1f
add dword [rsp + 0x54], 4
jmp 0x18007cf78
mov eax, 1
cmp esi, eax
je 0x180078ecd
mov r13, r14
cmp esi, edi
je 0x18007cf78
mov edx, 0xe8
lea rcx, [rsp + 0x50]
call fcn.180078720
and dword [rsp + 0x54], 0
mov r9d, 3
mov r11, qword [rbp - 0x78]
jmp 0x180079b57
mov rcx, r15
cmp esi, 9
jne 0x180079442
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x54], eax
jmp 0x180078ecd
cmp esi, 0xa
jne 0x180079469
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x54], eax
jmp 0x180079173
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov edi, 1
mov byte [rsp + 0x58], dil
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx edx, byte [rcx + rax*8 + 0x103907]
mov edx, dword [rcx + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
lea rcx, [rsp + 0x50]
call fcn.1800786d0
mov dword [rsp + 0x54], eax
cmp esi, 0x19
je 0x180078ef7
cmp esi, 0x1a
jne 0x180078cd4
mov rcx, r14
call fcn.180078488
test eax, eax
je 0x18007bec9
jmp 0x180079173
mov edi, 1
cmp esi, edi
jne 0x180078cd4
mov rcx, r14
call fcn.180078488
cmp eax, edi
je 0x180078cd4
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
jmp 0x18007c3da
cmp esi, 9
jne 0x180079623
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
mov rcx, r15
call fcn.180078488
mov edi, eax
mov rcx, r14
call fcn.180078488
cmp eax, edi
jne 0x18007c330
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r14
call fcn.180078488
lea edi, [rsi - 8]
cmp eax, edi
jne 0x1800795eb
mov rcx, r14
call fcn.1800785b4
mov edi, 0x40000000
test al, al
jne 0x1800795b1
cmp dword [rsp + 0x60], 4
sbb eax, eax
not eax
and eax, edi
or r13d, eax
jmp 0x1800795bb
bts r13d, 0x1f
add dword [rsp + 0x60], 4
mov rcx, r15
call fcn.1800785b4
test al, al
jne 0x1800795d7
cmp dword [rsp + 0x54], 4
sbb eax, eax
not eax
and eax, edi
or r13d, eax
jmp 0x1800795e1
bts r13d, 0x1f
add dword [rsp + 0x54], 4
mov dword [rsp + 0x5c], r13d
mov edi, 1
mov edx, 0x200
mov ecx, r13d
call fcn.18007fb30
test al, al
je 0x18007ce8c
mov edx, 2
lea rcx, [rsp + 0x50]
call fcn.1800786f0
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x54]
call fcn.18007fb1c
jmp 0x18007ce8c
cmp esi, 0x11
jne 0x180079674
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.1800786f0
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov r13, r15
mov rcx, r14
call fcn.180078488
lea r8d, [rsi - 0x10]
cmp eax, r8d
jne 0x18007cf78
mov rcx, r14
jmp 0x1800793ad
cmp esi, 0xa
je 0x180079370
mov edx, 0x80
lea rcx, [rsp + 0x50]
call fcn.180078720
cmp esi, 0x19
jne 0x18007986f
mov rcx, r14
call fcn.180078488
mov dword [rbp - 0x60], eax
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov eax, dword [rbp - 0x60]
mov esi, 1
cmp eax, esi
jne 0x180079701
mov rcx, r14
call fcn.1800785b4
test al, al
jne 0x1800796ea
cmp dword [rsp + 0x60], 4
sbb eax, eax
not eax
and eax, 0x40000000
or r13d, eax
jmp 0x1800796f4
bts r13d, 0x1f
add dword [rsp + 0x60], 4
mov dword [rsp + 0x5c], r13d
mov r8, rsi
jmp 0x1800797cd
cmp eax, edi
jne 0x180079716
mov edx, 0x200000
lea rcx, [rsp + 0x50]
call fcn.180078738
jmp 0x180079786
cmp eax, 4
jne 0x180079720
movsxd r12, r12d
jmp 0x180079786
cmp eax, 8
jne 0x180079786
cmp dword [rbp - 0x78], 0x15
jne 0x18007973c
mov rcx, r12
call fcn.18007fb78
test al, al
je 0x18007973c
mov dil, sil
jmp 0x18007973f
xor dil, dil
mov rcx, r12
call fcn.18007faf4
test al, al
jne 0x18007975a
test dil, dil
jne 0x18007976f
mov ecx, gethostbyname
jmp 0x18007f052
test dil, dil
je 0x180079779
mov edx, esi
mov rcx, qword [rsp + 0x78]
call fcn.1800785ac
test al, al
je 0x180079779
mov edx, 4
mov dword [rbp - 0x60], edx
jmp 0x18007977c
mov edx, dword [rbp - 0x60]
lea rcx, [rsp + 0x50]
call fcn.18007fb60
mov dword [rbp - 0xc], 4
lea rdx, [rbp - 0xc]
lea rcx, [rbp - 0x60]
call fcn.18007fb28
mov esi, eax
mov rcx, r12
call fcn.18007fae0
test al, al
je 0x1800797c7
mov edx, 0x20
mov ecx, r13d
call fcn.18007fb30
movzx esi, sil
test al, al
mov r8d, 1
cmove esi, r8d
jmp 0x1800797cd
mov r8d, 1
cmp dword [rsp + 0x60], 0
jne 0x18007983e
mov eax, dword [rbp - 0x60]
cmp eax, r8d
je 0x1800797e1
cmp sil, r8b
je 0x18007984a
mov edx, 0x20
mov ecx, r13d
call fcn.18007fb30
test al, al
jne 0x18007983e
mov edx, 0x8200000
lea rcx, [rsp + 0x50]
call fcn.180078730
xor edx, edx
lea edi, [rdx + 1]
cmp dword [rbp - 0x60], edi
setne dl
add edx, 4
mov eax, dword [rsp + 0x54]
shl eax, 3
or edx, eax
lea rcx, [rsp + 0x50]
call fcn.180078738
mov dword [rbp - 8], 4
lea rdx, [rbp - 8]
lea rcx, [rbp - 0x60]
call fcn.18007fb28
mov sil, al
jmp 0x180078b53
mov eax, dword [rbp - 0x60]
mov r8d, 1
cmp sil, r8b
mov ecx, 3
cmovne ecx, r8d
xor edx, edx
cmp eax, r8d
cmovne edx, ecx
lea rcx, [rsp + 0x50]
call fcn.1800786f0
mov edi, 1
jmp 0x18007ce90
cmp esi, 0x1a
jne 0x180078cd4
mov rcx, r14
call fcn.180078488
mov dword [rbp - 0x48], eax
test eax, eax
je 0x18007bec9
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov dword [rbp - 4], 4
lea rdx, [rbp - 4]
lea rcx, [rbp - 0x48]
call fcn.18007fb28
mov dil, al
mov dword [rsp + 0x58], edi
cmp dword [rbp - 0x48], 4
jne 0x1800798c2
movsxd r12, r12d
mov rcx, r12
call fcn.18007fae0
test al, al
je 0x1800798ed
mov edx, 0x20
mov ecx, r13d
call fcn.18007fb30
movzx edi, dil
test al, al
mov eax, 1
cmove edi, eax
mov dword [rsp + 0x58], edi
mov eax, 3
lea ecx, [rax - 2]
cmp dil, cl
cmovne eax, ecx
xor edx, edx
cmp dword [rbp - 0x48], ecx
cmovne edx, eax
lea rcx, [rsp + 0x50]
call fcn.1800786f0
mov edx, dword [rbp - 0x48]
jmp 0x180079169
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
cmp esi, 9
jne 0x18007994b
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x54], eax
jmp 0x180078ca9
cmp esi, 0xa
jne 0x180078cd4
mov r13, r14
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x54], eax
jmp 0x18007cf78
cmp esi, 0x11
jne 0x180078cd4
mov eax, dword [r14 + 4]
mov dword [rsp + 0x54], eax
jmp 0x18007cf75
cmp esi, 9
jne 0x1800799ce
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, r14
call fcn.180078488
cmp eax, edi
jne 0x1800799b5
mov byte [rbx], 0x66
lea edi, [rsi - 8]
add rbx, rdi
jmp 0x18007ce8c
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb60
jmp 0x180078ca9
cmp esi, 0x11
jne 0x180078cd4
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov r13, r15
mov rcx, r14
call fcn.180078488
cmp eax, edi
jne 0x1800799fd
mov byte [rbx], 0x66
inc rbx
jmp 0x18007cf78
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb60
jmp 0x18007cf78
cmp esi, 0x4a
jne 0x1800791dc
mov rdi, qword [rbp - 0x68]
mov eax, dword [rdi]
and al, 7
lea r8d, [rsi - 0x49]
cmp al, r8b
jne 0x180078cd4
lea rcx, [rdi + 0x10]
call fcn.180078458
jmp 0x1800791d2
sub ecx, 0x1f
je 0x18007a2e4
sub ecx, 1
je 0x18007a2a0
sub ecx, 1
je 0x180079ea9
sub ecx, 1
je 0x180079de0
sub ecx, 1
je 0x180079d4c
sub ecx, 1
je 0x180079c54
sub ecx, 1
je 0x180079c33
sub ecx, 1
je 0x180079b0a
cmp ecx, 1
jne 0x180078cd4
mov r13, r14
mov rcx, r14
call fcn.180078458
test al, al
je 0x180079404
mov r13d, 1
mov edx, r13d
mov rcx, r14
call fcn.1800784bc
test al, al
je 0x180078cd4
mov rsi, qword [rsp + 0x78]
mov rcx, rsi
call fcn.18007859c
test al, al
je 0x180079adc
mov rcx, r14
call fcn.180078488
cmp eax, edi
je 0x180079af5
mov rcx, rsi
call fcn.1800785a4
test al, al
je 0x180079afa
mov rcx, r14
call fcn.180078488
cmp eax, 4
jne 0x180079afa
mov rax, r13
jmp 0x180079afc
xor eax, eax
mov byte [rbx], 0x67
add rbx, rax
mov r13, r15
jmp 0x180079404
mov edx, 0xc0
mov ecx, r13d
call fcn.18007fb30
test al, al
je 0x180079b45
mov edx, 0x10
mov rcx, qword [rsp + 0x78]
call fcn.1800785ac
test al, al
je 0x180079b45
mov edx, 0x40
mov ecx, r13d
call fcn.18007fb30
shl al, 4
add al, 0x2e
mov byte [rbx], al
inc rbx
and dword [rsp + 0x54], 0
mov r9d, 3
mov r11, qword [rbp - 0x78]
mov r13, r14
mov edi, dword [rsp + 0x50]
or edi, dword [rsp + 0x5c]
shr edi, 0x18
cmp edi, 0x80
ja 0x18007d03e
and edi, 0x7f
mov al, dil
or al, 0x40
mov byte [rbx], al
xor eax, eax
test edi, edi
setne al
add rbx, rax
mov rax, rbx
mov rdx, qword [rsp + 0x78]
sub rax, qword [rdx + 0x98]
mov qword [rbp - 0x50], rax
lea rcx, [0x180000000]
movzx eax, byte [rcx + r11*8 + 0x103907]
mov eax, dword [rcx + rax*4 + 0x106d00]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x50]
and eax, 0x1f00
xor esi, esi
cmp eax, 0x100
sete sil
mov eax, dword [rsp + 0x54]
neg eax
sbb ecx, ecx
neg ecx
add ecx, 5
add esi, ecx
mov dword [rbp - 0x80], esi
mov eax, dword [r13]
and eax, 7
cmp eax, 4
jne 0x18007b1b2
mov edx, dword [r13 + 4]
mov r13, qword [rsp + 0x78]
mov rcx, qword [r13 + 0x30]
call fcn.180060fc8
mov rsi, rax
test rax, rax
je 0x18007f552
mov rdx, qword [r13 + 0x90]
mov rcx, rax
call fcn.180078584
test al, al
je 0x18007b108
mov rcx, rsi
call fcn.180060fc0
mov rdi, rax
sub edi, dword [rbp - 0x50]
mov esi, dword [rbp - 0x80]
sub edi, esi
jmp 0x18007b24b
cmp esi, r9d
jne 0x180078cd4
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
jmp 0x180078d64
mov eax, 1
cmp esi, eax
jne 0x180079d1b
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, r14
call fcn.180078488
mov edi, 1
cmp eax, edi
jne 0x180079cb0
mov eax, dword [r14]
mov esi, dword [rsp + 0x58]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x18007a1a5
cmp dword [rsp + 0x60], 4
sbb eax, eax
not eax
and eax, 0x40000000
or r13d, eax
mov dword [rsp + 0x5c], r13d
jmp 0x18007ce90
mov rcx, qword [rsp + 0x78]
call fcn.18007859c
test al, al
je 0x180079d02
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax*8 + 0x103907]
mov edx, dword [rsp + 0x60]
and edx, 7
add edx, dword [rcx + rax*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb84
jmp 0x180078b4f
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
jmp 0x18007ce8c
cmp esi, edi
jne 0x180078cd4
mov rcx, r14
call fcn.180078488
test eax, eax
je 0x18007bec9
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
jmp 0x180079173
cmp esi, 0xa
jne 0x180078cd4
mov rcx, r14
call fcn.180078464
test al, al
je 0x180078cd4
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.180014138
cmp eax, 7
jne 0x180078cd4
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.180078520
test al, al
jne 0x180078cd4
mov rcx, r15
call fcn.180014138
cmp eax, edi
jne 0x180078cd4
mov rcx, r14
call fcn.180078488
mov edi, eax
test eax, eax
je 0x18007bec9
mov r12, r14
xor edx, edx
lea eax, [rsi - 9]
cmp edi, eax
setne dl
lea rcx, [rsp + 0x50]
call fcn.1800786f0
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.18007fb84
jmp 0x18007b65f
cmp esi, 0x19
jne 0x180079e5f
mov rcx, r14
call fcn.180014138
test eax, eax
jne 0x180078cd4
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007fb08
movzx r12d, al
mov esi, 1
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax*8 + 0x103907]
mov edi, dword [rcx + rax*4 + 0x106d00]
mov rcx, r14
call fcn.180078488
xor edx, edx
cmp eax, esi
setne dl
add edx, edi
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb84
mov rdi, rsi
jmp 0x180078b53
cmp esi, 9
jne 0x180078cd4
mov rcx, r14
call fcn.180014138
test eax, eax
jne 0x180078cd4
mov rcx, r15
call fcn.180014138
cmp eax, edi
jne 0x180078cd4
mov rcx, r14
call fcn.180078488
xor edx, edx
lea edi, [rsi - 8]
cmp eax, edi
setne dl
lea rcx, [rsp + 0x50]
call fcn.1800786f0
jmp 0x180079ce9
cmp esi, 0xc9
jne 0x180079f46
lea edx, [rsi - 0x5e]
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
mov rcx, qword [rsp + 0x68]
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov esi, 1
mov rcx, rax
call fcn.18007fae0
test al, al
je 0x180079f0b
lea edx, [rsi + 0x1f]
mov ecx, r13d
call fcn.18007fb30
test al, al
je 0x180079f29
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.180078728
mov rcx, r14
call fcn.180078488
mov esi, 4
cmp eax, edi
cmove esi, edi
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x60], eax
jmp 0x180079865
cmp esi, 0xd1
jne 0x180079fed
lea edx, [rsi - 0x66]
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
mov rcx, qword [rsp + 0x68]
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov eax, 1
mov byte [rsp + 0x58], al
mov rcx, r14
call fcn.180078488
cmp eax, 4
jne 0x180079fa1
movsxd r12, r12d
mov rcx, r12
call fcn.18007fae0
test al, al
je 0x180079fbe
mov edx, 0x20
mov ecx, r13d
call fcn.18007fb30
test al, al
je 0x180079fe0
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.180078728
mov rcx, r14
call fcn.180078488
mov ecx, 4
cmp eax, edi
cmove ecx, edi
mov byte [rsp + 0x58], cl
mov rcx, r14
call fcn.180014138
jmp 0x180079975
cmp esi, 9
jne 0x18007a05f
mov rcx, r15
call fcn.180078488
lea edi, [rsi - 8]
cmp eax, edi
je 0x18007a163
mov rcx, r15
call fcn.180078488
mov edi, eax
mov rcx, r14
call fcn.180078488
cmp eax, edi
jne 0x18007c330
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x60], eax
mov edx, 0x1af
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
jmp 0x180078ca9
cmp esi, 0x11
jne 0x18007a0b0
mov rcx, r15
call fcn.180078488
lea r8d, [rsi - 0x10]
cmp eax, r8d
je 0x18007a1be
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov r13, r15
mov edx, 0x1af
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
jmp 0x18007cf78
cmp esi, 0x19
jne 0x18007a152
lea edx, [rsi + 0x52]
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov esi, 1
mov rcx, r14
call fcn.180078488
cmp eax, 4
jne 0x18007a102
movsxd r12, r12d
mov rcx, r12
call fcn.18007fae0
test al, al
je 0x18007a11f
mov edx, 0x20
mov ecx, r13d
call fcn.18007fb30
test al, al
je 0x18007a13d
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.180078728
mov rcx, r14
call fcn.180078488
mov esi, 4
cmp eax, edi
cmove esi, edi
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x54], eax
jmp 0x180079865
cmp esi, 7
jbe 0x18007a256
cmp esi, 9
jne 0x18007a1b9
lea edi, [rsi - 8]
xor edx, edx
mov rcx, r14
call fcn.180078654
test al, al
je 0x180078cd4
mov rcx, r15
call fcn.1800785d4
test al, al
je 0x180078cd4
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, r15
call fcn.1800785b4
mov esi, dword [rsp + 0x58]
test al, al
je 0x180079c95
bts r13d, 0x1f
mov dword [rsp + 0x5c], r13d
add dword [rsp + 0x60], 4
jmp 0x18007ce90
cmp esi, 0x11
jne 0x18007a1d5
xor edx, edx
mov rcx, r14
call fcn.180078654
test al, al
je 0x180078cd4
jmp 0x18007cf75
cmp esi, 0x49
jne 0x18007a212
mov rcx, r15
call fcn.180078488
mov edi, eax
mov rcx, r14
call fcn.180078488
cmp eax, edi
jne 0x180078cd4
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
mov rcx, qword [rsp + 0x68]
jmp 0x180078ed0
cmp esi, 0x89
jne 0x180078cd4
mov rcx, r15
call fcn.180078488
mov edi, eax
mov rcx, r14
call fcn.180078488
cmp eax, edi
jne 0x180078cd4
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
mov r13, qword [rsp + 0x68]
jmp 0x18007cf78
mov eax, 1
cmp esi, eax
jne 0x180079d1b
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, r14
call fcn.180078488
mov edi, 1
cmp eax, edi
jne 0x18007ce8c
mov rcx, r14
jmp 0x18007a194
cmp esi, 0x1b
jne 0x180078cd4
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.18007fb0c
movzx edi, ax
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007fb08
movzx r12d, al
shl r12, 0x10
mov sil, 3
or r12, rdi
mov edi, 1
jmp 0x180078b53
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb60
cmp esi, 9
jne 0x18007a353
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, r15
call fcn.180078488
mov esi, 1
cmp eax, esi
jne 0x18007a330
mov eax, dword [r15]
mov edi, esi
jmp 0x180079c81
mov rcx, r15
call fcn.180078488
cmp eax, edi
jne 0x18007a342
mov byte [rbx], 0x66
add rbx, rsi
mov edx, esi
lea rcx, [rsp + 0x50]
call fcn.1800786f0
jmp 0x180078ca9
cmp esi, 0x11
jne 0x180078cd4
mov r13, r15
mov rcx, r15
call fcn.180078488
test eax, eax
je 0x18007bec9
mov rcx, r15
call fcn.180078488
cmp eax, edi
jne 0x18007a381
mov byte [rbx], 0x66
inc rbx
mov rcx, r15
call fcn.180078488
xor edx, edx
lea r8d, [rdx + 1]
cmp eax, r8d
setne dl
lea rcx, [rsp + 0x50]
call fcn.1800786f0
jmp 0x18007cf78
mov eax, 1
cmp esi, eax
jne 0x18007a3b6
mov eax, dword [r14 + 4]
jmp 0x180078ca5
mov r13, r14
cmp esi, edi
je 0x18007cf78
mov dword [rsp + 0x50], 0xe9
and dword [rsp + 0x54], 0
jmp 0x180079b57
cmp ecx, 0x3c
ja 0x18007bf1c
je 0x18007bc76
cmp ecx, 0x32
ja 0x18007b4e4
je 0x18007b462
sub ecx, 0x29
je 0x180079b54
sub ecx, 1
je 0x18007b01e
sub ecx, 1
je 0x18007affc
sub ecx, 1
je 0x18007a798
sub ecx, 1
je 0x18007a62b
sub ecx, 1
je 0x18007a5bb
sub ecx, 1
je 0x18007a599
sub ecx, 1
je 0x18007a509
cmp ecx, 1
jne 0x180078cd4
cmp esi, 0xb
jne 0x18007a4bc
mov rcx, r15
call fcn.180014138
test eax, eax
jne 0x180078cd4
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax*8 + 0x103907]
mov edi, dword [rcx + rax*4 + 0x106d00]
mov rcx, r15
call fcn.180078488
xor edx, edx
lea esi, [rdx + 1]
cmp eax, esi
setne dl
add edx, edi
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r15
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb84
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.18007fb08
movzx r12d, al
jmp 0x180079e57
cmp esi, 9
jne 0x180078cd4
mov rcx, r14
call fcn.180014138
cmp eax, edi
jne 0x180078cd4
mov rcx, r15
call fcn.180014138
test eax, eax
jne 0x180078cd4
mov rcx, r15
call fcn.180078488
xor edx, edx
lea edi, [rsi - 8]
cmp eax, edi
setne dl
lea rcx, [rsp + 0x50]
call fcn.1800786f0
mov rcx, r15
jmp 0x180079cec
cmp esi, 0x12
jne 0x180078cd4
mov rcx, r14
call fcn.18003c944
mov rsi, rax
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18001413c
mov dil, al
mov rcx, rsi
call fcn.18001413c
cmp al, dil
jne 0x180078cd4
mov rcx, rsi
call fcn.1800784d4
test al, al
jne 0x180078cd4
mov rcx, rsi
call fcn.180078520
test al, al
jne 0x180078cd4
mov rcx, rsi
call fcn.1800786c4
test al, al
je 0x18007a584
mov rcx, rsi
call fcn.1800786d0
mov r8d, 1
cmp eax, r8d
jne 0x180078cd4
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.180014138
jmp 0x180079975
cmp esi, 0xa
jne 0x180078cd4
mov rcx, r15
call fcn.1800785c4
mov dl, al
lea rcx, [rsp + 0x50]
call fcn.18007fbb4
jmp 0x180079458
mov rcx, r15
call fcn.180078488
xor edx, edx
lea edi, [rdx + 1]
cmp eax, edi
setne dl
lea rcx, [rsp + 0x50]
call fcn.1800786f0
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
cmp esi, 9
jne 0x18007a61d
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, r15
call fcn.180078488
cmp eax, edi
jne 0x18007ce8c
jmp 0x18007a191
cmp esi, 0x11
jne 0x180078cd4
jmp 0x180079fe0
cmp esi, 0x11
jne 0x18007a6bf
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov r13, r15
mov edx, 0xa0
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.180078490
test al, al
je 0x180078cd4
cmp dword [rsp + 0x54], 0
jne 0x180078cd4
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.1800784e0
test al, al
jne 0x18007a6b5
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.1800786a8
cmp eax, edi
jne 0x18007adcb
mov eax, 0x2b
jmp 0x180078cd9
cmp esi, 0xa
jne 0x18007a732
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x54], eax
mov r13, r14
mov edx, 0xa2
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r15
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.180078490
test al, al
je 0x180078cd4
cmp dword [rsp + 0x54], 0
jne 0x180078cd4
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.1800784e0
test al, al
jne 0x18007a6b5
jmp 0x18007adcb
cmp esi, 0x19
jne 0x180078cd4
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.1800785c4
test al, al
je 0x180078cd4
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov edx, 0xb8
lea rcx, [rsp + 0x50]
call fcn.180078720
mov sil, 8
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov edx, 8
lea rcx, [rsp + 0x50]
call fcn.1800786f8
jmp 0x18007c3de
cmp esi, 9
jne 0x18007a9e2
mov rcx, r14
call fcn.18007849c
mov rcx, r14
test al, al
je 0x18007a96a
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r15
call fcn.18007849c
test al, al
je 0x18007a8b8
mov rcx, r14
call fcn.180078488
mov edi, eax
mov rcx, r15
call fcn.180078488
cmp edi, eax
jne 0x180078cd4
lea eax, [rsi - 8]
cmp edi, eax
jne 0x18007a89b
mov rcx, r14
call fcn.1800785b4
mov edi, 0x40000000
test al, al
jne 0x18007a81f
cmp dword [rsp + 0x60], 4
sbb eax, eax
not eax
and eax, edi
or r13d, eax
jmp 0x18007a829
bts r13d, 0x1f
add dword [rsp + 0x60], 4
mov rcx, r15
call fcn.1800785b4
test al, al
jne 0x18007a845
cmp dword [rsp + 0x54], 4
sbb eax, eax
not eax
and eax, edi
or r13d, eax
jmp 0x18007a84f
bts r13d, 0x1f
add dword [rsp + 0x54], 4
mov dword [rsp + 0x5c], r13d
mov edx, 0x88
lea rcx, [rsp + 0x50]
call fcn.180078720
mov edx, 0x200
mov ecx, r13d
call fcn.18007fb30
test al, al
je 0x180078ca9
mov edx, 2
lea rcx, [rsp + 0x50]
call fcn.1800786f0
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x54]
call fcn.18007fb1c
jmp 0x180078ca9
mov edx, 0x89
lea rcx, [rsp + 0x50]
call fcn.180078720
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.18007fb38
jmp 0x18007a863
mov rcx, r15
call fcn.180078624
test al, al
je 0x18007a8f5
mov edx, 0x8c
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
mov ecx, 0xffffffff
add dword [rsp + 0x54], ecx
jmp 0x180078ca9
mov rcx, r15
call fcn.180078634
test al, al
je 0x18007a946
mov edx, 0x120
lea rcx, [rsp + 0x50]
call fcn.180078720
test byte [rsp + 0x54], 8
je 0x180078ca9
mov rcx, qword [rsp + 0x78]
call fcn.18007859c
mov edi, 1
mov esi, dword [rsp + 0x58]
test al, al
je 0x18007ce90
mov byte [rbx], 0xf0
add rbx, rdi
and dword [rsp + 0x54], 7
jmp 0x18007ce90
mov rcx, r15
call fcn.180078644
test al, al
je 0x180078cd4
mov edx, 0x121
lea rcx, [rsp + 0x50]
call fcn.180078720
jmp 0x180078ca9
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, r15
call fcn.18007849c
test al, al
je 0x180078cd4
mov rcx, r14
call fcn.180078624
test al, al
je 0x18007a9b2
mov edx, 0x8e
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r15
jmp 0x18007a8d6
mov rcx, r14
call fcn.180078634
test al, al
je 0x18007a9c8
mov edx, 0x122
jmp 0x18007a906
mov rcx, r14
call fcn.180078644
test al, al
je 0x180078cd4
mov edx, 0x123
jmp 0x18007a95b
cmp esi, 0x11
jne 0x18007ac03
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov r13, r15
mov rcx, r14
call fcn.180078624
lea rcx, [rsp + 0x50]
test al, al
je 0x18007aa35
lea edx, [rsi + 0x7d]
call fcn.180078720
mov rcx, r15
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
mov ecx, 0xffffffff
add dword [rsp + 0x54], ecx
jmp 0x18007cf78
xor edx, edx
call fcn.180078720
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
cmp dword [rsp + 0x54], 0
jne 0x18007abbd
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.1800784e0
test al, al
jne 0x18007abbd
mov rcx, r15
call fcn.18003c944
mov rsi, rax
mov rcx, r14
call fcn.180078488
mov dword [rbp - 0x80], eax
mov rcx, qword [rsp + 0x78]
call fcn.18007859c
test al, al
je 0x18007aaac
mov edx, 0x300
mov ecx, dword [rsp + 0x5c]
call fcn.18007fb30
xor al, 1
jmp 0x18007abaf
mov rcx, rsi
call fcn.1800786a8
cmp eax, edi
je 0x18007abbd
mov edx, 0x300
mov edi, dword [rsp + 0x5c]
mov ecx, edi
call fcn.18007fb30
test al, al
jne 0x18007abbd
mov rcx, rsi
call fcn.180078538
mov qword [rbp - 0x50], rax
mov rcx, qword [rsp + 0x78]
call fcn.180078594
mov rcx, rax
call fcn.18007858c
mov qword [rbp - 0x30], rax
mov rcx, rsi
call fcn.1800786a8
test eax, eax
jne 0x18007ab94
cmp qword [rbp - 0x30], 0xffffffffffffffff
je 0x18007ab94
mov rcx, rsi
call fcn.1800786c4
test al, al
jne 0x18007ab94
mov rcx, rsi
call fcn.1800786d0
mov dword [rsp + 0x70], eax
cmp dword [rbp - 0x80], 8
je 0x18007ab43
mov edx, 0x40000000
mov ecx, edi
call fcn.18007fb30
test al, al
jne 0x18007ab43
xor esi, esi
jmp 0x18007ab48
mov esi, 1
mov rax, qword [rsp + 0x78]
mov rdi, qword [rax + 0x98]
mov rcx, qword [rax + 0x90]
call fcn.180060fb8
xor ecx, ecx
cmp dword [rbp - 0x80], 2
sete cl
sub rdi, rcx
neg dword [rsp + 0x70]
sbb rdx, rdx
neg rdx
add rdx, 9
sub rdi, rdx
sub rdi, qword [rbp - 0x30]
sub rdi, rsi
sub rdi, rbx
mov rsi, qword [rbp - 0x50]
lea rcx, [rsi + rdi]
sub rcx, rax
jmp 0x18007ab9b
mov rsi, qword [rbp - 0x50]
mov rcx, rsi
call fcn.18007faf4
test al, al
jne 0x18007abbd
mov ecx, 0xffffffff
cmp rsi, rcx
seta al
test al, al
je 0x18007abbd
mov edx, 0xa0
jmp 0x18007adc1
mov rcx, r14
call fcn.180078488
mov ecx, 1
cmp eax, ecx
jne 0x18007abf9
mov rcx, r14
call fcn.1800785b4
test al, al
jne 0x18007abee
cmp dword [rsp + 0x54], 4
sbb eax, eax
not eax
and eax, 0x40000000
or dword [rsp + 0x5c], eax
jmp 0x18007abf9
bts dword [rsp + 0x5c], 0x1f
add dword [rsp + 0x54], 4
mov edx, 0x8a
jmp 0x18007a395
cmp esi, 0xa
jne 0x18007ae67
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x54], eax
mov r13, r14
mov rcx, r15
call fcn.180078624
lea rcx, [rsp + 0x50]
test al, al
je 0x18007ac3e
mov edx, 0x8c
call fcn.180078720
mov rcx, r14
jmp 0x18007aa16
xor edx, edx
call fcn.180078720
mov rcx, r15
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
cmp dword [rsp + 0x54], 0
jne 0x18007ae21
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.1800784e0
test al, al
jne 0x18007ae21
mov rcx, r14
call fcn.18003c944
mov rsi, rax
mov rcx, r15
call fcn.180078488
mov dword [rbp - 0x80], eax
mov rcx, qword [rsp + 0x78]
call fcn.18007859c
test al, al
je 0x18007acb5
mov edx, 0x300
mov ecx, dword [rsp + 0x5c]
call fcn.18007fb30
xor al, 1
jmp 0x18007adb8
mov rcx, rsi
call fcn.1800786a8
cmp eax, edi
je 0x18007ae21
mov edx, 0x300
mov edi, dword [rsp + 0x5c]
mov ecx, edi
call fcn.18007fb30
test al, al
jne 0x18007ae21
mov rcx, rsi
call fcn.180078538
mov qword [rbp - 0x30], rax
mov rcx, qword [rsp + 0x78]
call fcn.180078594
mov rcx, rax
call fcn.18007858c
mov qword [rbp - 0x50], rax
mov rcx, rsi
call fcn.1800786a8
test eax, eax
jne 0x18007ad9d
cmp qword [rbp - 0x50], 0xffffffffffffffff
je 0x18007ad9d
mov rcx, rsi
call fcn.1800786c4
test al, al
jne 0x18007ad9d
mov rcx, rsi
call fcn.1800786d0
mov dword [rsp + 0x70], eax
cmp dword [rbp - 0x80], 8
je 0x18007ad4c
mov edx, 0x40000000
mov ecx, edi
call fcn.18007fb30
test al, al
jne 0x18007ad4c
xor esi, esi
jmp 0x18007ad51
mov esi, 1
mov rax, qword [rsp + 0x78]
mov rdi, qword [rax + 0x98]
mov rcx, qword [rax + 0x90]
call fcn.180060fb8
xor ecx, ecx
cmp dword [rbp - 0x80], 2
sete cl
sub rdi, rcx
neg dword [rsp + 0x70]
sbb rdx, rdx
neg rdx
add rdx, 9
sub rdi, rdx
sub rdi, qword [rbp - 0x50]
sub rdi, rsi
sub rdi, rbx
mov rsi, qword [rbp - 0x30]
lea rcx, [rsi + rdi]
sub rcx, rax
jmp 0x18007ada4
mov rsi, qword [rbp - 0x30]
mov rcx, rsi
call fcn.18007faf4
test al, al
jne 0x18007ae21
mov ecx, 0xffffffff
cmp rsi, rcx
seta al
test al, al
je 0x18007ae21
mov edx, 0xa2
lea rcx, [rsp + 0x50]
call fcn.1800786f0
mov rcx, r13
call fcn.18003c944
mov rcx, rax
call fcn.180078538
mov r12, rax
mov rcx, qword [rsp + 0x78]
call fcn.180077180
mov sil, al
mov rcx, r13
call fcn.18003c944
mov rcx, rax
call fcn.1800786d0
mov ecx, eax
lea rax, [0x180000000]
mov al, byte [rcx + rax + 0x1029d0]
mov byte [rbx], al
xor ecx, ecx
test al, al
setne cl
add rbx, rcx
mov r13d, dword [rsp + 0x5c]
jmp 0x18007a2da
mov rcx, r15
call fcn.180078488
mov ecx, 1
cmp eax, ecx
jne 0x18007ae5d
mov rcx, r15
call fcn.1800785b4
test al, al
jne 0x18007ae52
cmp dword [rsp + 0x54], 4
sbb eax, eax
not eax
and eax, 0x40000000
or dword [rsp + 0x5c], eax
jmp 0x18007ae5d
bts dword [rsp + 0x5c], 0x1f
add dword [rsp + 0x54], 4
mov edx, 0x88
jmp 0x18007a395
cmp esi, 0x19
jne 0x18007af81
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r14
call fcn.180078488
mov sil, al
mov edi, 1
cmp al, dil
jne 0x18007aee7
mov rcx, r14
call fcn.1800785b4
test al, al
jne 0x18007aeb0
cmp dword [rsp + 0x54], 4
sbb eax, eax
not eax
and eax, 0x40000000
or r13d, eax
jmp 0x18007aeba
bts r13d, 0x1f
add dword [rsp + 0x54], 4
mov dword [rsp + 0x5c], r13d
mov edx, 0xb0
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007fb08
movzx r12d, al
jmp 0x18007c3de
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
cmp sil, 8
jne 0x18007af30
mov edx, 0x20
mov ecx, r13d
call fcn.18007fb30
test al, al
jne 0x18007af30
mov rcx, r12
call fcn.18007fb78
test al, al
je 0x18007af51
mov edx, edi
mov rcx, qword [rsp + 0x78]
call fcn.1800785ac
test al, al
je 0x18007af51
mov sil, 4
mov edx, 0xb8
lea rcx, [rsp + 0x50]
call fcn.180078720
mov dl, sil
lea rcx, [rsp + 0x50]
call fcn.18007fb9c
jmp 0x18007c3de
mov rcx, r12
call fcn.18007faf4
test al, al
je 0x18007af30
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x60], eax
mov edx, 0x80000c7
lea rcx, [rsp + 0x50]
call fcn.180078720
and dword [rsp + 0x54], 0
mov sil, 4
jmp 0x18007ce90
cmp esi, 0x1a
jne 0x180078cd4
mov rcx, r14
call fcn.180078488
mov dword [rbp - 0x28], eax
test eax, eax
je 0x18007bec9
xor edx, edx
lea ecx, [rsi - 0x19]
cmp eax, ecx
setne dl
add edx, 0xc6
lea rcx, [rsp + 0x50]
call fcn.180078720
mov edx, dword [rbp - 0x28]
lea rcx, [rsp + 0x50]
call fcn.18007fb38
and dword [rsp + 0x54], 0
mov r13, r14
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov dword [rbp], 4
lea rdx, [rbp]
lea rcx, [rbp - 0x28]
call fcn.18007fb28
mov byte [rsp + 0x58], al
jmp 0x18007cf78
cmp esi, 0x11
jne 0x180078cd4
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
jmp 0x180079fe0
cmp esi, edi
jne 0x18007b067
mov r13, r14
mov rcx, r14
call fcn.180078488
mov edi, eax
test eax, eax
jne 0x18007b041
mov rcx, qword [rsp + 0x78]
call fcn.180077180
mov edi, eax
jmp 0x18007b060
add edi, 0xfffffffe
lea eax, [rdi - 2]
test eax, 0xfffffffd
je 0x18007b060
mov rcx, qword [rsp + 0x78]
call fcn.180077180
cmp edi, eax
jne 0x18007a6b5
mov edx, edi
jmp 0x18007a0a1
cmp esi, 0x1b
jne 0x180078cd4
mov rcx, qword [rsp + 0x78]
call fcn.18007859c
test al, al
je 0x180078cd4
mov rcx, r14
call fcn.18003c944
mov rdi, rax
mov rcx, r15
call fcn.18003c944
mov rsi, rax
mov rcx, rdi
call fcn.18007855c
cmp rax, 0xffff
jg 0x180079750
mov rcx, rsi
call fcn.18007855c
mov ecx, 0xffffffff
cmp rax, rcx
jg 0x180079750
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx edx, byte [rcx + rax*8 + 0x103907]
mov edx, dword [rcx + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, rdi
call fcn.18007855c
mov rdi, rax
shl rdi, 0x20
mov rcx, rsi
call fcn.18007855c
mov r12, rax
mov sil, 6
jmp 0x18007a2d7
mov r13d, dword [rsp + 0x70]
test r13d, r13d
je 0x18007b142
cmp dword [rsp + 0x50], 0
je 0x18007b12d
mov edx, 0x10
mov edi, dword [rsp + 0x5c]
mov ecx, edi
call fcn.18007fb30
test al, al
je 0x18007b146
mov byte [rbx], r13b
mov eax, 1
add rbx, rax
mov r13, qword [rsp + 0x78]
jmp 0x18007f614
mov edi, dword [rsp + 0x5c]
cmp dword [rsp + 0x50], 0
je 0x18007b23c
mov edx, 0x10
mov ecx, edi
call fcn.18007fb30
test al, al
jne 0x18007b23c
mov edx, 0x1f00
lea rcx, [rsp + 0x50]
call fcn.180078740
mov byte [rbx], 0xf
xor ecx, ecx
test eax, eax
setne cl
mov al, byte [rsp + 0x50]
mov byte [rbx + rcx], al
lea rdx, [rcx + 1]
add rdx, rbx
mov ecx, dword [rsp + 0x54]
test ecx, ecx
setne al
shl cl, 3
sub cl, 0x40
mov byte [rdx], cl
movzx ebx, al
add rbx, rdx
mov ecx, 0xfffffffc
mov r13, qword [rsp + 0x78]
jmp 0x18007f60f
cmp eax, r9d
jne 0x180078cd4
mov rcx, rdx
call fcn.180078594
mov rcx, rax
call fcn.18007858c
mov qword [rbp - 0x30], rax
mov rcx, r13
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov rax, qword [rbp - 0x30]
mov r13, qword [rsp + 0x78]
cmp rax, 0xffffffffffffffff
je 0x18007b2fe
mov ecx, esi
mov rsi, r12
sub rsi, rcx
sub rsi, rax
sub rsi, qword [rbp - 0x50]
mov rcx, r13
call fcn.18007717c
mov cl, al
call fcn.180060c9c
test al, al
jne 0x18007b246
mov rcx, rsi
call fcn.18007faf4
test al, al
jne 0x18007b246
mov rsi, qword [rbp - 0x78]
cmp esi, 0x12f
je 0x18007b302
cmp esi, 0x3b
je 0x18007b302
mov ecx, gethostbyname
jmp 0x18007f052
mov edi, esi
mov esi, dword [rbp - 0x80]
lea ecx, [rdi - 2]
add ecx, esi
call fcn.18007fbf0
mov r13d, dword [rsp + 0x5c]
test al, al
je 0x18007b294
mov r12d, dword [rsp + 0x70]
test r12d, r12d
je 0x18007b294
mov edx, 0x20
mov ecx, r13d
call fcn.18007fb30
test al, al
jne 0x18007b294
or r13d, 0x10
mov byte [rbx], r12b
sub sil, 2
add dil, sil
mov byte [rbx + 1], dil
add rbx, 2
jmp 0x18007906d
cmp dword [rsp + 0x50], 0
je 0x18007b23c
mov edx, 0x10
mov ecx, r13d
call fcn.18007fb30
test al, al
jne 0x18007b23c
and r13d, 0xffffffef
mov edx, 0x1f00
lea rcx, [rsp + 0x50]
call fcn.180078740
mov byte [rbx], 0xf
xor ecx, ecx
test eax, eax
setne cl
add rbx, rcx
mov al, byte [rsp + 0x50]
mov byte [rbx], al
mov ecx, dword [rsp + 0x54]
test ecx, ecx
setne al
shl cl, 3
sub cl, 0x40
mov byte [rbx + 1], cl
movzx eax, al
add rbx, rax
mov edx, edi
lea rcx, [rbx + 1]
call fcn.18007fc00
add rbx, 5
jmp 0x18007906d
mov rsi, qword [rbp - 0x78]
mov r8d, 4
lea rdx, [rbp - 0x70]
mov rcx, qword [r13 + 0x30]
call fcn.180061cf4
test eax, eax
jne 0x180078cd9
mov rcx, r13
call fcn.180060fe4
mov rcx, qword [rbp - 0x70]
mov qword [rcx + 0x18], rax
mov rcx, qword [r13 + 0x90]
call fcn.180060fb4
mov rcx, qword [rbp - 0x70]
mov dword [rcx + 0x10], eax
mov rax, qword [rbp - 0x70]
mov qword [rax + 0x20], r12
cmp dword [rsp + 0x50], 0
je 0x18007b41d
mov rcx, r13
call fcn.18007717c
mov cl, al
call fcn.18007856c
test al, al
je 0x18007b39c
cmp esi, 0x12f
je 0x18007b373
cmp esi, 0x3b
jne 0x18007b39c
test edi, edi
jne 0x18007b37d
mov byte [rbx], 0x40
inc rbx
mov rdx, r12
mov rcx, qword [r13 + 0x30]
call fcn.180061554
test eax, eax
jne 0x180078cd9
mov rax, qword [rbp - 0x70]
mov dword [rax + 4], 5
mov edx, 0x1f00
lea rcx, [rsp + 0x50]
call fcn.180078740
mov byte [rbx], 0xf
xor ecx, ecx
test eax, eax
setne cl
add rbx, rcx
mov al, byte [rsp + 0x50]
mov byte [rbx], al
mov ecx, dword [rsp + 0x54]
test ecx, ecx
setne al
shl cl, 3
sub cl, 0x40
mov byte [rbx + 1], cl
movzx eax, al
add rbx, rax
mov rcx, qword [rbp - 0x70]
add rcx, 8
xor edx, edx
lea r8d, [rdx + 4]
call fcn.18007715c
lea rdx, [rbx + 1]
sub rdx, qword [r13 + 0xa8]
mov rcx, qword [rbp - 0x70]
add rcx, 8
xor r8d, r8d
call fcn.180078574
xor edx, edx
lea rcx, [rbx + 1]
call fcn.18007fc00
add rbx, 5
mov r13d, dword [rsp + 0x5c]
jmp 0x18007906d
mov r13d, dword [rsp + 0x70]
mov byte [rbx], r13b
mov rcx, qword [rbp - 0x70]
add rcx, 8
xor edx, edx
lea r8d, [rdx + 1]
call fcn.18007715c
lea rdx, [rbx + 1]
mov rax, qword [rsp + 0x78]
sub rdx, qword [rax + 0xa8]
mov rcx, qword [rbp - 0x70]
add rcx, 8
xor r8d, r8d
call fcn.180078574
mov byte [rbx + 1], 0
add rbx, 2
jmp 0x18007b413
cmp esi, 0x11
jne 0x180078cd4
cmp dword [r14 + 4], edi
jne 0x180078cd4
mov rcx, r15
call fcn.180078464
test al, al
je 0x180078cd4
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.180014138
cmp eax, 6
jne 0x180078cd4
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.180078520
test al, al
jne 0x180078cd4
mov rcx, r15
call fcn.180078488
mov edi, eax
test eax, eax
je 0x18007bec9
mov r12, r15
xor edx, edx
lea eax, [rsi - 0x10]
cmp edi, eax
setne dl
lea rcx, [rsp + 0x50]
call fcn.1800786f0
jmp 0x180079dcf
sub ecx, 0x33
je 0x18007bb1c
sub ecx, 1
je 0x18007bad3
sub ecx, 1
je 0x18007ba81
sub ecx, 1
je 0x18007b8ef
sub ecx, 1
je 0x18007b89e
sub ecx, 1
je 0x18007b796
sub ecx, 1
je 0x18007b5ef
sub ecx, 1
je 0x18007b599
cmp ecx, 1
jne 0x180078cd4
cmp esi, 0x12
jne 0x180078cd4
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.180078514
mov edi, eax
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.180078514
cmp eax, edi
jne 0x180078cd4
mov r12, r15
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.180078520
test al, al
jne 0x180078cd4
mov rcx, r15
call fcn.180078488
mov edi, eax
test eax, eax
je 0x18007bec9
mov rcx, r14
jmp 0x18007b646
cmp esi, 0xa
jne 0x180078cd4
mov r12, r14
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.180078558
test eax, eax
jne 0x180078cd4
mov rcx, r15
call fcn.18003c944
mov rcx, rax
xor edx, edx
call fcn.1800784bc
test al, al
je 0x180078cd4
mov rcx, r15
call fcn.180078488
mov edi, eax
mov rcx, r14
call fcn.18007847c
test al, al
je 0x18007b653
jmp 0x18007b591
cmp esi, 0x11
jne 0x180078cd4
mov r12, r15
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.180078558
test eax, eax
jne 0x180078cd4
mov rcx, r14
call fcn.18003c944
mov rcx, rax
xor edx, edx
call fcn.1800784bc
test al, al
je 0x180078cd4
mov rcx, r14
call fcn.180078488
mov edi, eax
mov rcx, r15
call fcn.18007847c
test al, al
je 0x18007b653
mov rcx, r15
call fcn.180078488
cmp eax, edi
jne 0x18007c330
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
mov edi, 2
mov rcx, r12
call fcn.18003c944
mov rcx, rax
call fcn.180078514
mov eax, eax
lea r9, [0x180000000]
movzx esi, byte [rax + r9 + 0x102590]
mov rcx, r12
call fcn.18003c944
mov rcx, rax
call fcn.180078520
test al, al
jne 0x180078cd4
test dil, sil
jne 0x180078cd4
mov eax, dword [rsp + 0x50]
shr eax, 0x15
and eax, 7
lea rcx, [0x180000000]
mov al, byte [rax + rcx + 0x102520]
mov byte [rbx], al
mov eax, 0
setne al
add rbx, rax
mov edx, r13d
lea rcx, [rsp + 0x50]
call fcn.180078714
cmp eax, 0x80
ja 0x18007d03e
and eax, 0x7f
mov dl, al
or dl, 0x40
mov byte [rbx], dl
xor edi, edi
test eax, eax
setne dil
add rdi, rbx
mov rcx, r12
call fcn.18003c944
mov rcx, rax
call fcn.1800786d0
mov ecx, eax
lea r12, [0x180000000]
mov al, byte [rcx + r12 + 0x1029d0]
mov byte [rdi], al
xor ebx, ebx
test al, al
setne bl
add rbx, rdi
mov rcx, qword [rsp + 0x78]
call fcn.1800786dc
test esi, eax
mov byte [rbx], 0x67
mov ecx, 0
setne cl
add rcx, rbx
mov r9d, dword [rsp + 0x50]
mov r8d, r9d
shr r8, 8
and r8d, 0x1f
mov dl, byte [r12 + r8*4 + 0x102450]
mov al, byte [r12 + r8*4 + 0x102451]
mov byte [rcx], al
xor eax, eax
test dl, dl
setne al
add rax, rcx
mov dl, byte [r12 + r8*4 + 0x102450]
mov cl, byte [r12 + r8*4 + 0x102452]
mov byte [rax], cl
xor ebx, ebx
lea ecx, [rbx + 1]
cmp dl, cl
seta bl
add rbx, rax
mov byte [rbx], r9b
inc rbx
jmp 0x18007906d
cmp esi, 0xc9
jne 0x18007b7e4
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, qword [rsp + 0x68]
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
jmp 0x180078c8e
cmp esi, 0xca
jne 0x18007b82e
mov rcx, r15
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x54], eax
mov r13, r14
mov rcx, qword [rsp + 0x68]
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov eax, 1
jmp 0x18007aff3
mov edi, 1
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.1800786f0
cmp esi, 0x49
jne 0x18007b87b
mov rcx, qword [rsp + 0x68]
call fcn.180014138
cmp eax, edi
jne 0x180078cd4
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb38
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x54], eax
jmp 0x180078ef7
cmp esi, 0x4a
jne 0x180078cd4
mov rcx, qword [rsp + 0x68]
call fcn.180014138
cmp eax, edi
jne 0x180078cd4
mov rcx, r15
jmp 0x180079447
mov eax, 1
cmp esi, eax
jne 0x1800791dc
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x60], eax
mov ecx, dword [r14]
and ecx, 0xff000fff
mov esi, dword [rsp + 0x58]
mov edi, 1
cmp ecx, 0x1000021
je 0x18007b8d9
cmp eax, 4
jmp 0x180079c9a
bts r13d, 0x1f
mov dword [rsp + 0x5c], r13d
add eax, 4
mov dword [rsp + 0x60], eax
jmp 0x18007ce90
mov rcx, r14
call fcn.180078458
mov rcx, r14
test al, al
je 0x18007b9db
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, r14
call fcn.180078488
mov ecx, 1
cmp eax, ecx
jne 0x18007b961
mov eax, dword [r14]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x18007b952
cmp dword [rsp + 0x60], 4
sbb eax, eax
not eax
and eax, 0x40000000
or r13d, eax
jmp 0x18007b95c
bts r13d, 0x1f
add dword [rsp + 0x60], 4
mov dword [rsp + 0x5c], r13d
cmp esi, 9
jne 0x18007b98a
mov rcx, r15
call fcn.180014138
lea ecx, [rsi - 8]
cmp eax, ecx
jne 0x180078cd4
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.1800786f0
jmp 0x180078ca9
cmp esi, 0x19
jne 0x180078cd4
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
movzx r12d, al
xor sil, sil
mov edi, 1
cmp r12, rdi
jne 0x18007b9c7
lea edx, [rdi + 0x1f]
mov ecx, r13d
call fcn.18007fb30
test al, al
je 0x18007ce90
mov edx, 0x10
lea rcx, [rsp + 0x50]
call fcn.180078728
jmp 0x180078c93
call fcn.180078488
test eax, eax
je 0x18007bec9
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
cmp esi, 0xa
jne 0x18007ba25
mov rcx, r15
call fcn.180014138
lea ecx, [rsi - 9]
cmp eax, ecx
jne 0x180078cd4
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.1800786f0
jmp 0x180079173
cmp esi, 0x1a
jne 0x180078cd4
mov r13, r14
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
movzx r12d, al
mov byte [rsp + 0x58], 0
lea edi, [rsi - 0x19]
mov esi, dword [rsp + 0x5c]
cmp r12, rdi
jne 0x18007ba68
lea edx, [rdi + 0x1f]
mov ecx, esi
call fcn.18007fb30
test al, al
je 0x18007cf7c
mov edx, 0x10
lea rcx, [rsp + 0x50]
call fcn.180078728
mov byte [rsp + 0x58], dil
jmp 0x18007cf7c
test esi, esi
jne 0x18007ba9b
mov edi, 1
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.1800786f0
jmp 0x180078b4f
cmp esi, r9d
jne 0x180078cd4
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
test rax, rax
jne 0x18007bacb
lea edx, [rax + 0x20]
mov ecx, r13d
call fcn.18007fb30
test al, al
je 0x18007ba85
mov sil, dil
jmp 0x18007a2da
mov eax, 1
cmp esi, eax
jne 0x18007bc1d
mov rcx, r14
call fcn.180078624
test al, al
je 0x18007bb5e
mov rcx, r14
call fcn.180014138
cmp eax, edi
je 0x18007bb54
cmp eax, 7
jae 0x18007bb54
mov edx, eax
lea rax, [0x180000000]
mov edx, dword [rax + rdx*4 + 0x102a20]
lea rcx, [rsp + 0x50]
call fcn.180078720
jmp 0x180078b4a
mov eax, 1
cmp esi, eax
jne 0x18007bbb7
mov rcx, r14
call fcn.180078624
test al, al
je 0x18007bb5e
mov rcx, r14
call fcn.180014138
cmp eax, 7
jae 0x18007bb54
mov edx, eax
lea rax, [0x180000000]
mov edx, dword [rax + rdx*4 + 0x102528]
jmp 0x18007bb0d
mov ecx, gethostbyname
jmp 0x18007f052
mov rcx, r14
call fcn.180078488
cmp eax, edi
jb 0x180078cd4
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx edx, byte [rcx + rax*8 + 0x103907]
mov edx, dword [rcx + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb84
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
jmp 0x18007c3da
cmp esi, r9d
jne 0x18007bc1d
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov sil, 4
mov rcx, rax
call fcn.18007fae0
test al, al
je 0x18007bbfb
mov edx, 0x20
mov ecx, r13d
call fcn.18007fb30
movzx esi, sil
test al, al
mov edi, 1
cmove esi, edi
jmp 0x18007bc00
mov edi, 1
mov edx, 0x68
lea eax, [rdx + 2]
cmp sil, dil
cmove edx, eax
lea rcx, [rsp + 0x50]
call fcn.180078720
jmp 0x180078b53
cmp esi, edi
jne 0x180078cd4
mov rcx, r14
call fcn.180078488
test eax, eax
je 0x18007bec9
mov rcx, r14
call fcn.180078488
cmp eax, edi
je 0x18007bc5d
mov rcx, r14
call fcn.180078488
mov edi, eax
mov rcx, qword [rsp + 0x78]
call fcn.180077180
cmp edi, eax
jne 0x180078cd4
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb84
jmp 0x180079173
cmp esi, 9
jne 0x18007bd2a
movzx r8d, byte [r14 + 3]
cmp r8b, byte [r15 + 3]
jne 0x18007c330
mov eax, r8d
and eax, 0xf
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*4 + 0x149b10]
or dword [rsp + 0x50], eax
mov edx, dword [r14 + 4]
mov dword [rsp + 0x60], edx
mov ecx, dword [r15 + 4]
mov dword [rsp + 0x54], ecx
lea edi, [rsi - 8]
cmp r8b, dil
jne 0x18007ce8c
mov eax, dword [r14]
and eax, 0xff000fff
mov r8d, 0x40000000
cmp eax, 0x1000021
je 0x18007bce6
cmp edx, 4
sbb eax, eax
not eax
and eax, r8d
or r13d, eax
jmp 0x18007bcf2
bts r13d, 0x1f
add edx, 4
mov dword [rsp + 0x60], edx
mov eax, dword [r15]
and eax, 0xff000fff
mov esi, dword [rsp + 0x58]
cmp eax, 0x1000021
je 0x18007bd14
cmp ecx, 4
sbb eax, eax
not eax
and eax, r8d
jmp 0x180079ca3
bts r13d, 0x1f
mov dword [rsp + 0x5c], r13d
add ecx, 4
mov dword [rsp + 0x54], ecx
jmp 0x18007ce90
lea r9, [0x180000000]
cmp esi, 0xa
jne 0x18007bd92
movzx ecx, byte [r15 + 3]
mov eax, ecx
and eax, 0xf
mov eax, dword [r9 + rax*4 + 0x149b10]
or dword [rsp + 0x50], eax
mov edx, dword [r15 + 4]
mov dword [rsp + 0x54], edx
mov r13, r14
lea eax, [rsi - 9]
cmp cl, al
jne 0x18007cf78
mov eax, dword [r15]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x18007bd80
cmp edx, 4
sbb eax, eax
not eax
and eax, r8d
jmp 0x1800793c4
bts dword [rsp + 0x5c], 0x1f
add edx, 4
mov dword [rsp + 0x54], edx
jmp 0x18007cf78
movzx eax, byte [rax + r11*8 + 0x103907]
mov edx, dword [r9 + rax*4 + 0x106d00]
mov dword [rsp + 0x50], edx
mov eax, edx
shr eax, 0x12
and eax, 7
mov dword [rsp + 0x54], eax
cmp esi, 0x19
jne 0x18007beb4
movzx ecx, byte [r14 + 3]
mov eax, ecx
and eax, 0xf
or edx, dword [r9 + rax*4 + 0x149b10]
mov dword [rsp + 0x50], edx
mov edx, dword [r14 + 4]
mov dword [rsp + 0x60], edx
mov esi, 1
cmp cl, sil
jne 0x18007be29
mov eax, dword [r14]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x18007be02
cmp edx, 4
sbb eax, eax
not eax
and eax, r8d
or r13d, eax
jmp 0x18007be0e
bts r13d, 0x1f
add edx, 4
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x5c], r13d
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007fb08
movzx r12d, al
jmp 0x18007be5e
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov dword [rbp + 4], 4
mov rcx, r14
call fcn.180078488
mov dword [rbp + 8], eax
lea rdx, [rbp + 4]
lea rcx, [rbp + 8]
call fcn.18007fb28
mov sil, al
cmp dword [rsp + 0x60], 0
jne 0x180079865
mov edx, 0x20
mov ecx, r13d
call fcn.18007fb30
test al, al
jne 0x180079865
mov edx, 0x8200000
lea rcx, [rsp + 0x50]
call fcn.180078730
mov rcx, r14
call fcn.180078488
xor edx, edx
lea edi, [rdx + 1]
cmp eax, edi
setne dl
add edx, 0xa8
lea rcx, [rsp + 0x50]
call fcn.180078738
jmp 0x180078b53
cmp esi, 0x1a
jne 0x180078cd4
mov rcx, r14
call fcn.180078488
test eax, eax
jne 0x18007bed3
mov ecx, reloc.WS2_32.dll_gethostbyname
jmp 0x18007f052
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
mov r13, r14
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov dword [rbp + 0xc], 4
mov rcx, r14
call fcn.180078488
mov dword [rbp + 0x10], eax
lea rdx, [rbp + 0xc]
lea rcx, [rbp + 0x10]
jmp 0x18007afee
cmp ecx, 0x46
ja 0x18007c552
je 0x18007c76f
sub ecx, 0x3d
je 0x18007c2f9
sub ecx, 1
je 0x18007c2a6
sub ecx, 1
je 0x180078ca9
sub ecx, 1
je 0x18007c213
sub ecx, 1
je 0x18007c784
sub ecx, 1
je 0x18007c198
sub ecx, 1
je 0x18007c13f
sub ecx, 1
je 0x18007c042
cmp ecx, 1
jne 0x180078cd4
cmp esi, edi
jne 0x180078cd4
mov edx, 0xffff1fff
lea rcx, [rsp + 0x50]
call fcn.180078730
mov r13, r14
mov rcx, r14
call fcn.180078488
cmp eax, edi
mov rdi, qword [rbp - 0x58]
jne 0x18007bfc1
mov edx, 0x800
mov rcx, rdi
call fcn.1800786e0
test al, al
je 0x18007bfc1
mov edx, 4
jmp 0x18007a395
mov rcx, r14
call fcn.180078488
cmp eax, 4
jne 0x18007bfe3
mov edx, 0x1000
mov rcx, rdi
call fcn.1800786e0
test al, al
jne 0x18007cf78
mov rcx, r14
call fcn.180078488
cmp eax, 8
jne 0x180078cd4
mov edx, 0x2000
mov rcx, rdi
call fcn.1800786e0
test al, al
je 0x180078cd4
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx edx, byte [rcx + rax*8 + 0x103907]
mov edx, dword [rcx + rdx*4 + 0x106d00]
and edx, 0xffff1fff
lea rcx, [rsp + 0x50]
call fcn.180078720
lea rcx, [rsp + 0x50]
call fcn.1800786d0
jmp 0x18007995f
cmp esi, edi
jne 0x18007c0da
mov r13, r14
mov rcx, r14
call fcn.180078488
mov rdi, qword [rbp - 0x58]
cmp eax, 4
jne 0x18007c073
mov edx, 0x1000
mov rcx, rdi
call fcn.1800786e0
test al, al
jne 0x18007cf78
mov rcx, r14
call fcn.180078488
cmp eax, 8
jne 0x18007c095
mov edx, 0x2000
mov rcx, rdi
call fcn.1800786e0
test al, al
jne 0x18007bfb7
mov rcx, r14
call fcn.180078488
cmp eax, 0xa
jne 0x180078cd4
mov edx, 0x800
mov rcx, rdi
call fcn.1800786e0
test al, al
je 0x180078cd4
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx edx, byte [rcx + rax*8 + 0x103907]
mov edx, dword [rcx + rdx*4 + 0x106d00]
jmp 0x18007c029
mov eax, 1
cmp esi, eax
jne 0x180078cd4
cmp r11d, 0xce
jne 0x18007c103
mov rcx, r14
call fcn.180014138
lea edx, [rax + 0x364c0]
jmp 0x18007c1db
cmp r11d, 0xec
jne 0x18007c11f
mov rcx, r14
call fcn.180014138
lea edx, [rax + 0x374d0]
jmp 0x18007c1db
cmp r11d, 0xef
jne 0x180078cd4
mov rcx, r14
call fcn.180014138
lea edx, [rax + 0x374d8]
jmp 0x18007c1db
mov eax, 1
test esi, esi
jne 0x18007c14e
mov dword [rsp + 0x60], eax
jmp 0x18007c1bd
cmp esi, eax
jne 0x18007c15c
mov rcx, r14
call fcn.180014138
jmp 0x18007c148
cmp esi, edi
jne 0x180078cd4
mov rcx, r14
call fcn.180078488
mov edx, 0xdc
lea ecx, [rdx - 4]
cmp eax, 4
cmove edx, ecx
lea rcx, [rsp + 0x50]
call fcn.180078720
mov edx, 0xffff1fff
lea rcx, [rsp + 0x50]
call fcn.180078730
jmp 0x180079173
cmp esi, 9
jne 0x18007c15c
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x60], eax
mov ecx, dword [rsp + 0x54]
test ecx, ecx
jne 0x18007c1ea
mov edx, 0xa
lea rcx, [rsp + 0x50]
call fcn.180078750
movzx ecx, al
mov edx, dword [rsp + 0x60]
add edx, 0x36000
add edx, ecx
lea rcx, [rsp + 0x50]
call fcn.180078720
jmp 0x18007c784
test eax, eax
jne 0x180078cd4
mov dword [rsp + 0x60], ecx
mov edx, 0xff
lea rcx, [rsp + 0x50]
call fcn.180078740
mov edx, dword [rsp + 0x60]
add edx, 0x37000
add edx, eax
jmp 0x18007c1db
cmp esi, 9
jne 0x18007c26e
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x60], eax
mov edx, 0x100
mov ecx, r13d
call fcn.18007fb30
test al, al
je 0x180078ca9
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx edx, byte [rcx + rax*8 + 0x103907]
mov edx, dword [rcx + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078720
jmp 0x18007a887
cmp esi, 0x11
je 0x180079fe0
cmp esi, 0xa
jne 0x180078cd4
lea rax, [0x180000000]
movzx edx, byte [rax + r11*8 + 0x103907]
mov edx, dword [rax + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078720
jmp 0x180079954
cmp esi, 0x11
jne 0x18007c2f9
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov r13, r15
mov rcx, r14
call fcn.180078488
lea ecx, [rsi - 0x10]
cmp eax, ecx
jne 0x18007cf78
mov eax, dword [r14]
and eax, 0xff000fff
cmp eax, 0x1000021
je 0x1800793cd
jmp 0x1800793b6
cmp esi, 9
jne 0x18007c514
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r14
call fcn.180078488
mov edi, eax
mov rcx, r15
call fcn.180078488
cmp edi, eax
je 0x18007c33a
mov eax, 0x35
jmp 0x180078cd9
mov eax, 1
cmp edi, eax
je 0x180079300
cmp dword [rbp - 0x78], 0x668
jne 0x18007c503
cmp dword [rsp + 0x54], 0
je 0x18007c366
cmp dword [rsp + 0x60], 0
jne 0x18007c503
mov rcx, qword [rsp + 0x78]
call fcn.1800785a4
test al, al
je 0x18007c393
mov eax, dword [rsp + 0x60]
cmp dword [rsp + 0x54], eax
jne 0x18007c393
cmp edi, 4
jb 0x18007c393
cmp edi, 8
jne 0x18007c503
mov edx, 0x8000000
jmp 0x18007c3c1
mov edx, 0x20
mov ecx, r13d
call fcn.18007fb30
test al, al
jne 0x18007c503
mov eax, dword [rsp + 0x60]
add dword [rsp + 0x54], eax
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
mov edx, 0x8200000
lea rcx, [rsp + 0x50]
call fcn.180078730
mov edx, 0x90
lea rcx, [rsp + 0x50]
call fcn.180078738
mov esi, dword [rsp + 0x58]
mov eax, dword [rsp + 0x50]
shr eax, 0x15
and eax, 7
lea rcx, [0x180000000]
mov al, byte [rax + rcx + 0x102520]
mov byte [rbx], al
mov eax, 0
setne al
lea rdi, [rax + rbx]
mov edx, r13d
lea rcx, [rsp + 0x50]
call fcn.180078714
mov ecx, dword [rsp + 0x54]
shr ecx, 3
or ecx, eax
cmp ecx, 0x80
ja 0x18007d03e
and ecx, 0x7f
mov al, cl
or al, 0x40
mov byte [rdi], al
xor ebx, ebx
test ecx, ecx
setne bl
add rbx, rdi
mov edx, dword [rsp + 0x54]
and edx, 7
mov dword [rsp + 0x54], edx
lea rcx, [rsp + 0x50]
call fcn.1800786f0
mov r9d, dword [rsp + 0x50]
mov r8d, r9d
shr r8, 8
and r8d, 0x1f
lea r10, [0x180000000]
mov cl, byte [r10 + r8*4 + 0x102450]
mov al, byte [r10 + r8*4 + 0x102451]
mov byte [rbx], al
xor eax, eax
test cl, cl
setne al
add rax, rbx
mov dl, byte [r10 + r8*4 + 0x102450]
mov cl, byte [r10 + r8*4 + 0x102452]
mov byte [rax], cl
xor ebx, ebx
lea ecx, [rbx + 1]
cmp dl, cl
seta bl
add rbx, rax
mov byte [rbx], r9b
inc rbx
mov al, sil
cmp sil, 4
jb 0x18007c4ca
mov edx, r12d
mov rcx, rbx
call fcn.18007fc00
add rbx, 4
shr r12, 0x20
lea eax, [rsi - 4]
mov ecx, 1
test al, al
je 0x180079071
mov byte [rbx], r12b
inc rbx
shr r12, 8
add al, 0xff
je 0x180079071
mov byte [rbx], r12b
inc rbx
shr r12, 8
add al, 0xff
je 0x180079071
mov byte [rbx], r12b
inc rbx
cmp al, cl
jmp 0x180078c44
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
jmp 0x180078ca9
cmp esi, 0xa
jne 0x180078cd4
mov rcx, r15
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb4c
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x54], eax
mov r13, r14
mov rcx, r15
call fcn.180078488
lea ecx, [rsi - 9]
cmp eax, ecx
jmp 0x1800793a4
sub ecx, 0x47
je 0x18007c75c
sub ecx, 1
je 0x18007c717
sub ecx, 1
je 0x1800791fb
sub ecx, 1
je 0x18007c6ef
sub ecx, 1
je 0x18007c69b
sub ecx, 1
je 0x18007c64d
sub ecx, 1
je 0x18007c61e
sub ecx, 1
je 0x18007c636
cmp ecx, 1
jne 0x180078cd4
cmp esi, 9
jne 0x18007c5bc
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r15
jmp 0x180078ed0
cmp esi, 0x11
je 0x180079fe0
lea rax, [0x180000000]
movzx edx, byte [rax + r11*8 + 0x103907]
mov edx, dword [rax + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078720
lea rcx, [rsp + 0x50]
call fcn.1800786d0
mov dword [rsp + 0x54], eax
cmp esi, 0x19
jne 0x180078cd4
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
lea edi, [rsi - 0x18]
mov sil, dil
mov rcx, r14
jmp 0x18007ca36
mov rcx, r15
call fcn.180078488
cmp eax, 8
sete dl
lea rcx, [rsp + 0x50]
call fcn.18007fbb4
mov rcx, r14
call fcn.1800785c4
movzx ecx, al
shl ecx, 0x1b
or dword [rsp + 0x50], ecx
jmp 0x1800791fb
cmp esi, 9
jne 0x18007c679
mov rcx, r15
call fcn.1800785f4
movzx edi, al
mov rcx, r14
call fcn.1800785f4
movzx edx, al
or edx, edi
lea rcx, [rsp + 0x50]
call fcn.18007fbcc
jmp 0x18007c5a8
cmp esi, 0x11
jne 0x180078cd4
mov rcx, r14
call fcn.1800785f4
mov dl, al
lea rcx, [rsp + 0x50]
call fcn.18007fbc0
jmp 0x180079fe0
mov rcx, r10
call fcn.180078450
test al, al
jne 0x18007c70f
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.180078464
test al, al
je 0x180078cd4
mov rcx, rdi
call fcn.18003c944
mov rcx, rax
call fcn.180014138
cmp eax, 7
jne 0x180078cd4
mov rcx, rdi
call fcn.18003c944
mov rcx, rax
call fcn.180078520
test al, al
jne 0x180078cd4
jmp 0x18007c70f
mov rcx, r10
call fcn.180078450
test al, al
jne 0x18007c70f
xor edx, edx
mov rcx, qword [rsp + 0x68]
call fcn.18007868c
test al, al
je 0x180078cd4
and esi, 0x3f
jmp 0x1800791fb
mov eax, 1
cmp esi, eax
jne 0x18007c74f
mov rcx, r14
call fcn.180014138
test eax, eax
jne 0x180078cd4
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx edx, byte [rcx + rax*8 + 0x103907]
mov edx, dword [rcx + rdx*4 + 0x106d00]
jmp 0x18007c1db
cmp esi, edi
jne 0x180078cd4
jmp 0x18007c184
test esi, esi
jne 0x18007c76f
lea edx, [rsi + 1]
lea rcx, [rsp + 0x50]
call fcn.1800786f0
jmp 0x18007c784
mov eax, 1
cmp esi, eax
jne 0x180078cd4
mov eax, dword [r14 + 4]
add dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
shr eax, 0x15
and eax, 7
lea rcx, [0x180000000]
mov al, byte [rax + rcx + 0x102520]
mov byte [rbx], al
mov eax, 0
setne al
add rbx, rax
mov eax, dword [rsp + 0x50]
shr eax, 0xa
mov byte [rbx], al
mov al, byte [rsp + 0x50]
mov byte [rbx + 1], al
add rbx, rdi
jmp 0x18007906d
cmp esi, 9
jne 0x18007c7ea
mov rcx, r15
call fcn.1800785f4
movzx edi, al
mov rcx, r14
call fcn.1800785f4
movzx ecx, al
or ecx, edi
shl ecx, 0x15
or dword [rsp + 0x50], ecx
jmp 0x180079204
cmp esi, 0x11
jne 0x18007c806
mov rcx, r14
call fcn.1800785f4
movzx ecx, al
shl ecx, 0x15
or dword [rsp + 0x50], ecx
jmp 0x180079971
movzx eax, byte [rax + r11*8 + 0x103907]
lea rcx, [0x180000000]
mov ecx, dword [rcx + rax*4 + 0x106d00]
mov dword [rsp + 0x50], ecx
shr ecx, 0x12
and ecx, 7
mov dword [rsp + 0x54], ecx
cmp esi, 0x19
jne 0x180078cd4
mov rcx, r14
call fcn.1800785f4
movzx ecx, al
shl ecx, 0x15
or dword [rsp + 0x50], ecx
mov r12d, dword [r15 + 0xc]
shl r12, 0x20
mov eax, dword [r15 + 8]
or r12, rax
lea edi, [rsi - 0x18]
mov sil, dil
mov eax, dword [r14 + 4]
jmp 0x18007b8e6
mov r8d, edi
mov r9d, 0x1000
cmp ecx, 0x79
ja 0x18007da57
je 0x18007d9ca
mov edi, 0xc9
cmp ecx, 0x65
ja 0x18007d3e9
je 0x18007d3c1
cmp ecx, 0x5b
ja 0x18007d0bc
je 0x18007ce55
cmp ecx, 0x56
ja 0x18007cb28
je 0x18007cad0
sub ecx, 0x51
je 0x18007caa1
sub ecx, 1
je 0x18007ca72
sub ecx, 1
je 0x18007c9f2
sub ecx, 1
je 0x18007c96a
cmp ecx, 1
jne 0x180078cd4
cmp esi, 9
jne 0x18007c932
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x60], eax
lea edx, [rdi + 0x37]
mov ecx, r13d
call fcn.18007fb30
test al, al
je 0x180078ca9
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax*8 + 0x103907]
test al, al
je 0x180078ca9
mov edx, dword [rcx + rax*4 + 0x106d00]
jmp 0x18007c25f
cmp esi, 0x11
je 0x180079fe0
lea rax, [0x180000000]
movzx edx, byte [rax + r11*8 + 0x103907]
mov edx, dword [rax + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078720
cmp esi, 0xa
jne 0x180078cd4
jmp 0x180079458
cmp esi, edi
jne 0x18007c9af
mov rcx, r15
call fcn.1800785f4
mov dl, al
lea rcx, [rsp + 0x50]
call fcn.18007fbc0
mov rcx, qword [rsp + 0x68]
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov edi, 1
mov sil, dil
mov rcx, r15
call fcn.180014138
mov rcx, r14
jmp 0x18007ca32
cmp esi, 0xca
jne 0x180078cd4
mov rcx, r15
call fcn.1800785f4
mov dl, al
lea rcx, [rsp + 0x50]
call fcn.18007fbc0
mov rcx, qword [rsp + 0x68]
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov eax, 1
mov byte [rsp + 0x58], al
jmp 0x180079458
cmp esi, edi
jne 0x18007ca40
mov rcx, r15
call fcn.1800785f4
mov dl, al
lea rcx, [rsp + 0x50]
call fcn.18007fbc0
mov rcx, qword [rsp + 0x68]
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov edi, 1
mov sil, dil
mov rcx, r14
call fcn.180014138
mov rcx, r15
mov dword [rsp + 0x54], eax
call fcn.180014138
jmp 0x18007b8e6
cmp esi, 0xca
jne 0x180078cd4
lea rax, [0x180000000]
movzx edx, byte [rax + r11*8 + 0x103907]
mov edx, dword [rax + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078720
jmp 0x18007c9bb
mov rcx, r10
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov eax, 1
mov byte [rsp + 0x58], al
cmp esi, edi
je 0x18007c652
cmp esi, 0xd1
jmp 0x18007c67c
mov rcx, r10
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov eax, 1
mov byte [rsp + 0x58], al
cmp esi, edi
je 0x18007c5a8
cmp esi, 0xd1
jmp 0x18007a620
cmp esi, 0x11
jne 0x18007caed
mov rcx, r14
call fcn.180078488
lea ecx, [rsi - 0x10]
cmp eax, ecx
je 0x180078cd4
jmp 0x18007b005
movzx edx, byte [rax + r11*8 + 0x103907]
mov edx, dword [rax + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078720
cmp esi, 0xa
jne 0x180078cd4
mov rcx, r15
call fcn.180078488
lea ecx, [rsi - 9]
cmp eax, ecx
je 0x180078cd4
jmp 0x18007b896
mov edi, 0x8000000
sub ecx, 0x57
je 0x18007cdb0
sub ecx, 1
je 0x18007cc6b
sub ecx, 1
je 0x18007cbca
cmp ecx, 1
jne 0x180078cd4
mov rcx, qword [rbp - 0x68]
call fcn.180078448
mov edi, eax
shl edi, 9
add edi, esi
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x60], eax
cmp edi, 9
je 0x180078ca9
cmp edi, 0x6c9
jne 0x180078cd4
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx edx, byte [rcx + rax*8 + 0x103907]
mov edx, dword [rcx + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, qword [rbp - 0x68]
call fcn.18003c944
mov rcx, rax
call fcn.18007fb08
mov rcx, qword [rsp + 0x68]
jmp 0x18007cc46
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x60], eax
cmp esi, 9
je 0x180078ca9
cmp esi, 0xd9
jne 0x180078cd4
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx edx, byte [rcx + rax*8 + 0x103907]
mov edx, dword [rcx + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078720
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x60], eax
lea rcx, [rsp + 0x50]
call fcn.1800786d0
mov dword [rsp + 0x54], eax
mov rcx, qword [rsp + 0x68]
call fcn.18003c944
mov rcx, rax
call fcn.18007fb08
mov rcx, r15
movzx edi, al
call fcn.18003c944
mov rcx, rax
call fcn.18007fb08
movzx r12d, al
mov eax, edi
shl rax, 8
add r12, rax
mov sil, 2
jmp 0x180079865
cmp esi, 9
jne 0x18007cd1e
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, r14
call fcn.180078604
test al, al
je 0x18007ccd0
mov rcx, r15
call fcn.180078604
test al, al
je 0x18007ccd0
mov edx, 0x16f
lea rcx, [rsp + 0x50]
call fcn.180078720
mov edx, 0x100
mov ecx, r13d
call fcn.18007fb30
test al, al
je 0x180078ca9
lea edx, [rsi + 7]
jmp 0x18007a87d
mov rcx, r14
call fcn.1800785f4
test al, al
je 0x18007cda4
mov rcx, r15
call fcn.1800785f4
test al, al
je 0x18007cda4
mov edx, 0x40017e
lea rcx, [rsp + 0x50]
call fcn.180078720
mov edx, 0x100
mov ecx, r13d
call fcn.18007fb30
test al, al
je 0x180078ca9
mov edx, 0x2001d6
jmp 0x18007c25f
cmp esi, 0x11
jne 0x18007cd65
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov r13, r15
mov rcx, r14
call fcn.180078604
test al, al
je 0x18007cd52
mov edx, 0x16f
lea rcx, [rsp + 0x50]
call fcn.180078720
jmp 0x18007cf78
mov rcx, r14
call fcn.1800785f4
test al, al
je 0x18007cd9f
mov edx, 0x40017e
jmp 0x18007cd43
cmp esi, 0xa
jne 0x18007cda4
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x54], eax
mov r13, r14
mov rcx, r15
call fcn.180078604
test al, al
je 0x18007cd8c
mov edx, 0x17f
jmp 0x18007cd43
mov rcx, r15
call fcn.1800785f4
test al, al
je 0x18007cd9f
mov edx, 0x2001d6
jmp 0x18007cd43
mov r13d, dword [rsp + 0x5c]
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.180078738
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r14
call fcn.1800785f4
mov dl, al
lea rcx, [rsp + 0x50]
call fcn.18007fbc0
cmp esi, 9
jne 0x18007cde6
mov rcx, r15
call fcn.18007849c
test al, al
je 0x18007cdef
jmp 0x18007c5b4
cmp esi, 0x11
je 0x18007cf75
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.180078730
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx edx, byte [rcx + rax*8 + 0x103907]
mov edx, dword [rcx + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078738
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r15
call fcn.1800785f4
mov dl, al
lea rcx, [rsp + 0x50]
call fcn.18007fbc0
cmp esi, 9
jne 0x1800791a4
mov rcx, r14
call fcn.18007849c
jmp 0x180078ec5
mov eax, dword [rsp + 0x50]
movzx r12d, al
mov edi, 1
mov byte [rsp + 0x58], dil
mov dword [rsp + 0x50], 0x10f
mov eax, dword [r14 + 4]
mov dword [rsp + 0x54], eax
cmp esi, 9
jne 0x18007cf6c
mov eax, dword [r15 + 4]
jmp 0x180078eff
mov rdi, rax
mov esi, dword [rsp + 0x58]
mov eax, dword [rsp + 0x50]
shr eax, 0x15
and eax, 7
lea rcx, [0x180000000]
mov al, byte [rax + rcx + 0x102520]
mov byte [rbx], al
mov eax, 0
setne al
add rax, rbx
mov edx, dword [rsp + 0x50]
or edx, r13d
shr edx, 0x15
mov ecx, dword [rsp + 0x60]
and ecx, 8
or edx, ecx
shr edx, 2
mov ecx, dword [rsp + 0x54]
and ecx, 8
or edx, ecx
shr edx, 1
cmp edx, 0x80
ja 0x18007d03e
and edx, 0x7f
mov cl, dl
or cl, 0x40
mov byte [rax], cl
xor ecx, ecx
test edx, edx
setne cl
add rcx, rax
and dword [rsp + 0x54], 7
and dword [rsp + 0x60], 7
mov r9d, dword [rsp + 0x50]
mov r8d, r9d
shr r8, 8
and r8d, 0x1f
lea rbx, [0x180000000]
mov dl, byte [rbx + r8*4 + 0x102450]
mov al, byte [rbx + r8*4 + 0x102451]
mov byte [rcx], al
xor eax, eax
test dl, dl
setne al
add rax, rcx
mov dl, byte [rbx + r8*4 + 0x102450]
mov cl, byte [rbx + r8*4 + 0x102452]
mov byte [rax], cl
xor ecx, ecx
cmp dl, dil
seta cl
add rcx, rax
mov byte [rcx], r9b
mov al, byte [rsp + 0x54]
shl al, 3
sub al, 0x40
add al, byte [rsp + 0x60]
mov byte [rcx + 1], al
lea rbx, [rcx + 2]
jmp 0x180078bf8
cmp esi, 0x11
jne 0x180078cd4
mov r13, r15
mov esi, dword [rsp + 0x5c]
mov ecx, dword [r13]
mov eax, ecx
shr rax, 3
and eax, 0x3ff
lea rdx, [0x180000000]
movzx r10d, byte [rax + rdx + 0x102590]
mov dword [rsp + 0x70], r10d
shr rcx, 0x12
and ecx, 7
mov al, byte [rcx + rdx + 0x1029d0]
mov byte [rbx], al
xor ecx, ecx
test al, al
setne cl
lea rdi, [rcx + rbx]
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x28]
mov byte [rdi], 0x67
test r10d, eax
mov eax, 0
setne al
add rax, rdi
mov ecx, dword [rsp + 0x50]
shr ecx, 0x15
and ecx, 7
lea rbx, [0x180000000]
mov cl, byte [rcx + rbx + 0x102520]
mov byte [rax], cl
mov edx, 0
setne dl
add rdx, rax
mov r8d, dword [r13 + 4]
mov dword [rsp + 0x60], r8d
mov r11d, dword [r13 + 8]
shr r8d, 1
and r8d, 4
mov eax, r11d
and eax, 8
or r8d, eax
shr r8d, 1
mov eax, dword [rsp + 0x54]
and eax, 8
or r8d, eax
shr r8d, 1
and r8d, r10d
mov eax, dword [rsp + 0x50]
or eax, esi
shr eax, 0x18
or r8d, eax
cmp r8d, 0x80
jbe 0x18007d048
mov eax, 0x25
jmp 0x180078cd9
and r8d, 0x7f
mov al, r8b
or al, 0x40
mov byte [rdx], al
xor ecx, ecx
test r8d, r8d
setne cl
add rcx, rdx
and dword [rsp + 0x54], 7
mov r9d, dword [rsp + 0x50]
mov r8d, r9d
shr r8, 8
and r8d, 0x1f
mov dl, byte [rbx + r8*4 + 0x102450]
mov al, byte [rbx + r8*4 + 0x102451]
mov byte [rcx], al
xor eax, eax
test dl, dl
setne al
add rax, rcx
mov dl, byte [rbx + r8*4 + 0x102450]
mov cl, byte [rbx + r8*4 + 0x102452]
mov byte [rax], cl
xor ebx, ebx
lea ecx, [rbx + 1]
cmp dl, cl
seta bl
add rbx, rax
mov byte [rbx], r9b
inc rbx
mov r9d, ecx
jmp 0x18007ed4c
sub ecx, 0x5c
je 0x18007d320
sub ecx, 1
je 0x18007e728
sub ecx, 1
je 0x18007d234
sub ecx, 1
je 0x18007d1fa
sub ecx, 1
je 0x18007d1ec
sub ecx, 1
je 0x18007d1ec
sub ecx, 1
je 0x18007d197
sub ecx, 1
je 0x18007d13e
cmp ecx, 1
jne 0x180078cd4
mov r12d, dword [r10 + 0xc]
shl r12, 0x20
mov eax, dword [r10 + 8]
or r12, rax
mov edx, 1
mov byte [rsp + 0x58], dl
cmp esi, edi
jne 0x18007d75a
mov eax, dword [r15 + 4]
mov dword [rsp + 0x54], eax
mov eax, dword [r14 + 4]
mov dword [rsp + 0x60], eax
jmp 0x18007e72d
cmp esi, 0xa
jne 0x180078cd4
mov rcx, r15
call fcn.180078488
mov eax, eax
shr rax, 4
lea rdi, [0x180000000]
mov eax, dword [rdi + rax*4 + 0x102990]
mov dword [rbp + 0x14], eax
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.18007850c
movzx eax, al
mov eax, dword [rdi + rax*4 + 0x102a40]
mov dword [rbp + 0x18], eax
lea rdx, [rbp + 0x14]
lea rcx, [rbp + 0x18]
call fcn.18007fb14
mov edx, eax
jmp 0x18007ea1a
mov rcx, r15
call fcn.180078488
mov edi, eax
mov rcx, r14
call fcn.180078488
or edi, eax
mov edx, edi
shr rdx, 4
lea rax, [0x180000000]
mov edx, dword [rax + rdx*4 + 0x102990]
lea rcx, [rsp + 0x50]
call fcn.180078738
cmp esi, 9
jne 0x18007d1de
mov rcx, r15
call fcn.180014138
mov rcx, r14
jmp 0x18007e71b
cmp esi, 0xa
jne 0x180078cd4
jmp 0x18007ea24
cmp esi, r8d
jne 0x180078cd4
jmp 0x18007ea30
mov eax, 1
cmp esi, eax
jne 0x180078cd4
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, r14
call fcn.18003c944
mov rcx, rax
call fcn.1800785c4
mov dl, al
lea rcx, [rsp + 0x50]
call fcn.18007fbb4
jmp 0x18007e728
cmp esi, 9
jne 0x18007d2ec
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, r15
call fcn.18007849c
test al, al
je 0x18007d28a
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx edx, byte [rcx + rax*8 + 0x103907]
mov edx, dword [rcx + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078720
jmp 0x18007e728
mov rcx, r14
call fcn.18007849c
test al, al
je 0x18007d2b4
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx edx, byte [rcx + rax*8 + 0x103907]
mov edx, dword [rcx + rdx*4 + 0x106d00]
inc edx
jmp 0x18007d27b
mov edx, 0x100
mov ecx, r13d
call fcn.18007fb30
test al, al
je 0x18007e728
mov edx, 1
lea rcx, [rsp + 0x50]
call fcn.1800786f0
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x54]
call fcn.18007fb1c
jmp 0x18007e728
cmp esi, 0x11
jne 0x18007d305
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov r13, r15
jmp 0x18007ea33
cmp esi, 0xa
jne 0x180078cd4
lea edx, [rsi - 9]
lea rcx, [rsp + 0x50]
call fcn.1800786f0
jmp 0x18007ea24
mov edx, 0x60000000
lea rcx, [rsp + 0x50]
call fcn.180078740
mov edi, eax
shr edi, 6
mov edx, 0x600000
lea rcx, [rsp + 0x50]
call fcn.180078740
mov esi, eax
or esi, edi
shr esi, 5
mov edx, 0x1f00
lea rcx, [rsp + 0x50]
call fcn.180078740
mov edi, eax
or edi, esi
shr edi, 8
mov edx, 0x400
mov ecx, r13d
call fcn.18007fb30
test al, al
je 0x18007d3a1
mov edx, 0x18
lea rcx, [rsp + 0x50]
call fcn.180078748
mov edx, eax
or edx, 0x78e0c4
movzx eax, di
shl eax, 8
xor edx, eax
mov rcx, rbx
call fcn.18007fc00
add rbx, 4
jmp 0x18007906d
mov byte [rbx], 0xc5
mov eax, edi
shr eax, 8
xor al, dil
xor al, 0xf9
mov byte [rbx + 1], al
mov al, byte [rsp + 0x50]
mov byte [rbx + 2], al
add rbx, 3
jmp 0x18007906d
movzx ecx, byte [r15 + 3]
movzx eax, byte [r14 + 3]
or rcx, rax
shr rcx, 4
lea rax, [0x180000000]
or edx, dword [rax + rcx*4 + 0x102990]
mov dword [rsp + 0x50], edx
jmp 0x18007d109
cmp ecx, 0x6f
ja 0x18007d76f
je 0x18007d984
sub ecx, 0x66
je 0x18007d709
sub ecx, 1
je 0x18007d6e5
sub ecx, 1
je 0x18007d690
sub ecx, 1
je 0x18007d66c
sub ecx, 1
je 0x18007d642
sub ecx, 1
je 0x18007d605
sub ecx, 1
je 0x18007d584
sub ecx, 1
je 0x18007d521
cmp ecx, 1
jne 0x180078cd4
mov rdi, qword [rbp - 0x68]
lea rsi, [rdi + 0x10]
lea r13, [rdi + 0x20]
mov rcx, r14
call fcn.1800784ac
test al, al
je 0x180078cd4
mov rcx, r15
call fcn.1800784ac
test al, al
je 0x180078cd4
mov rcx, qword [rsp + 0x68]
call fcn.1800784ac
test al, al
je 0x180078cd4
mov rcx, rdi
call fcn.1800784ac
test al, al
je 0x180078cd4
mov rcx, rsi
call fcn.1800784ac
test al, al
je 0x180078cd4
mov rcx, r13
call fcn.180078464
test al, al
je 0x180078cd4
mov rcx, r15
call fcn.180014138
mov edi, eax
mov rcx, qword [rsp + 0x68]
call fcn.180014138
mov dword [rbp - 0x80], eax
mov rcx, qword [rbp - 0x68]
call fcn.180014138
mov dword [rsp + 0x70], eax
mov rcx, rsi
call fcn.180014138
test dil, 3
jne 0x18007d517
lea ecx, [rdi + 1]
cmp dword [rbp - 0x80], ecx
jne 0x18007d517
lea ecx, [rdi + 2]
cmp dword [rsp + 0x70], ecx
jne 0x18007d517
lea ecx, [rdi + 3]
cmp eax, ecx
jne 0x18007d517
mov rcx, r14
call fcn.180014138
shl edi, 7
add eax, edi
mov dword [rsp + 0x54], eax
jmp 0x18007ea33
mov ecx, 0x3c
jmp 0x18007f052
cmp esi, 0x11
jne 0x180078cd4
mov rcx, r14
call fcn.180078488
mov eax, eax
shr rax, 4
lea rdi, [0x180000000]
mov eax, dword [rdi + rax*4 + 0x102990]
mov dword [rbp - 0x24], eax
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007850c
movzx eax, al
mov eax, dword [rdi + rax*4 + 0x102a40]
mov dword [rbp - 0x20], eax
lea rdx, [rbp - 0x24]
lea rcx, [rbp - 0x20]
call fcn.18007fb14
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.180078738
jmp 0x18007d2f1
cmp esi, 9
jne 0x18007d642
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007849c
test al, al
je 0x18007d642
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax*8 + 0x103907]
mov esi, dword [rcx + rax*4 + 0x106d00]
mov rcx, r15
call fcn.180078488
mov edi, eax
mov rcx, r14
call fcn.180078488
or eax, edi
shr rax, 4
lea rcx, [0x180000000]
or esi, dword [rcx + rax*4 + 0x102990]
mov edx, esi
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r15
jmp 0x18007e71f
mov rcx, r15
call fcn.180078488
test eax, eax
je 0x18007d61d
mov rcx, r15
call fcn.180078488
mov edx, eax
jmp 0x18007d658
mov rcx, r14
call fcn.180078488
cmp eax, 0x20
jne 0x18007d6e5
mov edx, 0x40000000
lea rcx, [rsp + 0x50]
call fcn.180078738
jmp 0x18007d6e5
mov rcx, r15
call fcn.180078488
mov edi, eax
mov rcx, r14
call fcn.180078488
or edi, eax
mov edx, edi
shr rdx, 4
lea rax, [0x180000000]
mov edx, dword [rax + rdx*4 + 0x102990]
jmp 0x18007d633
mov rcx, r15
call fcn.1800785c4
movzx edi, al
mov rcx, r14
call fcn.1800785c4
movzx edx, al
or edx, edi
lea rcx, [rsp + 0x50]
call fcn.18007fbd8
jmp 0x18007d6e5
mov rcx, r10
call fcn.180078450
test al, al
jne 0x18007d6e2
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.180078464
test al, al
je 0x180078cd4
mov rcx, rdi
call fcn.18003c944
mov rcx, rax
call fcn.180014138
cmp eax, 7
jne 0x180078cd4
mov rcx, rdi
call fcn.18003c944
mov rcx, rax
call fcn.180078520
test al, al
jne 0x180078cd4
and esi, 0x3f
cmp esi, 9
jne 0x18007d6fb
mov eax, dword [r14 + 4]
mov dword [rsp + 0x54], eax
mov eax, dword [r15 + 4]
jmp 0x18007e724
cmp esi, 0x11
jne 0x180078cd4
jmp 0x18007d2f1
cmp esi, edi
jne 0x18007d109
mov edx, 0x2001c5
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x60], eax
mov rcx, qword [rsp + 0x68]
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov edx, 1
mov sil, dl
jmp 0x18007e731
cmp esi, 0xca
jne 0x180078cd4
mov eax, dword [r15 + 4]
jmp 0x18007ea2c
sub ecx, 0x70
je 0x18007d955
sub ecx, 1
je 0x18007d921
sub ecx, 1
je 0x18007d8f3
sub ecx, 1
je 0x18007d8cc
sub ecx, 1
je 0x18007d8a7
sub ecx, 1
je 0x18007d886
sub ecx, 1
je 0x18007d872
sub ecx, 1
je 0x18007d7c1
cmp ecx, 1
je 0x18007d9ed
jmp 0x180078cd4
cmp esi, 0x49
jne 0x180078cd4
mov rcx, r14
call fcn.180014138
mov esi, 1
test sil, al
jne 0x18007d868
mov rcx, r14
call fcn.180014138
lea edi, [rsi + rax]
mov rcx, r15
call fcn.180014138
cmp edi, eax
jne 0x18007d868
mov rcx, qword [rsp + 0x68]
call fcn.180078488
mov edx, eax
shr rdx, 4
lea rax, [0x180000000]
mov edx, dword [rax + rdx*4 + 0x102990]
lea rcx, [rsp + 0x50]
call fcn.180078738
mov rcx, qword [rsp + 0x68]
call fcn.180014138
mov edi, eax
mov rcx, r14
call fcn.180014138
shl edi, 7
add eax, edi
mov dword [rsp + 0x54], eax
mov rdi, qword [rbp - 0x68]
mov rcx, rdi
call fcn.180078458
mov rcx, rdi
test al, al
jne 0x18007e71f
call fcn.180078464
test al, al
je 0x180078cd4
mov r13, rdi
jmp 0x18007ea33
mov ecx, 0x1d
jmp 0x18007f052
mov rcx, r14
call fcn.180078614
mov dl, al
lea rcx, [rsp + 0x50]
call fcn.18007fbe4
movzx ecx, byte [r15 + 3]
movzx eax, byte [r14 + 3]
or rcx, rax
shr rcx, 4
lea rax, [0x180000000]
mov eax, dword [rax + rcx*4 + 0x102990]
jmp 0x18007d8ef
mov rdi, qword [rbp - 0x68]
mov rcx, rdi
call fcn.180078450
test al, al
jne 0x18007d8cc
mov edx, 2
mov rcx, rdi
call fcn.1800784bc
test al, al
je 0x180078cd4
mov rax, qword [rsp + 0x68]
mov dil, byte [rax + 3]
mov rcx, r14
call fcn.1800785c4
movzx eax, al
cmp dil, 8
mov ecx, 1
cmove eax, ecx
shl eax, 0x1b
or dword [rsp + 0x50], eax
cmp esi, 0x49
je 0x18007e610
cmp esi, 0x89
jne 0x180078cd4
mov eax, dword [r15 + 4]
shl eax, 7
add eax, dword [r14 + 4]
mov dword [rsp + 0x54], eax
mov r13, qword [rsp + 0x68]
jmp 0x18007ea33
mov rcx, r15
call fcn.180078488
mov edi, eax
mov rcx, r14
call fcn.180078488
or edi, eax
mov edx, edi
shr rdx, 4
lea rax, [0x180000000]
mov edx, dword [rax + rdx*4 + 0x102990]
lea rcx, [rsp + 0x50]
call fcn.180078738
jmp 0x18007d97f
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.1800785c4
movzx edi, al
mov rcx, r14
call fcn.1800785c4
movzx edx, al
or edx, edi
lea rcx, [rsp + 0x50]
call fcn.18007fbd8
mov edi, 0xc9
mov rax, qword [rsp + 0x68]
mov r12d, dword [rax + 0xc]
shl r12, 0x20
mov eax, dword [rax + 8]
or r12, rax
mov edx, 1
mov byte [rsp + 0x58], dl
cmp esi, edi
jne 0x18007d9b5
mov eax, dword [r14 + 4]
mov dword [rsp + 0x54], eax
mov eax, dword [r15 + 4]
jmp 0x18007d135
cmp esi, 0xd1
jne 0x180078cd4
mov eax, dword [r14 + 4]
jmp 0x18007d2f9
movzx ecx, byte [r15 + 3]
movzx eax, byte [r14 + 3]
or rcx, rax
shr rcx, 4
lea rax, [0x180000000]
or edx, dword [rax + rcx*4 + 0x102990]
mov dword [rsp + 0x50], edx
mov r8, qword [rbp - 0x68]
mov ecx, dword [r8]
and ecx, 7
shl ecx, 9
add ecx, esi
mov r12d, dword [r8 + 4]
shl r12d, 4
mov edx, 1
mov sil, dl
mov dword [rsp + 0x58], esi
cmp ecx, 0x249
jne 0x18007da34
mov eax, dword [r15 + 4]
shl eax, 7
add eax, dword [r14 + 4]
mov dword [rsp + 0x54], eax
mov eax, dword [r10 + 4]
mov dword [rsp + 0x60], eax
jmp 0x18007e731
cmp ecx, 0x289
jne 0x180078cd4
mov eax, dword [r15 + 4]
shl eax, 7
add eax, dword [r14 + 4]
mov dword [rsp + 0x54], eax
mov r13, r10
jmp 0x18007ea33
mov edi, 0x8d
cmp ecx, edi
ja 0x18007e08f
je 0x18007e30c
lea edx, [rdi - 0xa]
cmp ecx, edx
ja 0x18007dd49
je 0x18007e053
sub ecx, 0x7a
je 0x18007dcc1
sub ecx, 1
je 0x18007dcad
sub ecx, 1
je 0x18007dc79
sub ecx, 1
je 0x18007dc65
sub ecx, 1
je 0x18007dc1b
sub ecx, 1
je 0x18007dbf9
sub ecx, 1
je 0x18007db8f
sub ecx, 1
je 0x18007db24
cmp ecx, 1
jne 0x180078cd4
mov rcx, qword [rbp - 0x68]
call fcn.180078448
mov edi, eax
shl edi, 9
add edi, esi
mov rcx, qword [rbp - 0x68]
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov esi, 1
mov dword [rsp + 0x58], esi
cmp edi, 0x649
jne 0x18007db19
mov rcx, qword [rsp + 0x68]
call fcn.180014138
mov edi, eax
mov rcx, r14
call fcn.180014138
mov rcx, r15
jmp 0x18007dd05
cmp edi, 0x651
jmp 0x18007dc41
cmp esi, 0x11
jne 0x18007db8f
lea r13, [0x180000000]
movzx edx, byte [r13 + r11*8 + 0x103907]
mov edx, dword [r13 + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r14
call fcn.180078488
mov eax, eax
shr rax, 4
mov eax, dword [r13 + rax*4 + 0x102990]
mov dword [rbp - 0x1c], eax
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007850c
movzx eax, al
mov eax, dword [r13 + rax*4 + 0x102a40]
mov dword [rbp - 0x18], eax
lea rdx, [rbp - 0x1c]
lea rcx, [rbp - 0x18]
jmp 0x18007d56e
cmp esi, 0x51
jne 0x180078cd4
mov rcx, r10
call fcn.180078488
mov edi, eax
mov rcx, r14
call fcn.180078488
or eax, edi
shr rax, 4
lea rdi, [0x180000000]
mov eax, dword [rdi + rax*4 + 0x102990]
mov dword [rbp - 0x14], eax
mov rcx, r15
call fcn.18003c944
mov rcx, rax
call fcn.18007850c
movzx eax, al
mov eax, dword [rdi + rax*4 + 0x102a40]
mov dword [rbp - 0x10], eax
lea rdx, [rbp - 0x14]
lea rcx, [rbp - 0x10]
call fcn.18007fb14
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.180078738
jmp 0x18007dc47
mov rcx, r10
call fcn.1800785c4
movzx edi, al
mov rcx, r14
call fcn.1800785c4
movzx edx, al
or edx, edi
lea rcx, [rsp + 0x50]
call fcn.18007fbd8
cmp esi, 0x49
jne 0x18007dc3e
mov rcx, qword [rsp + 0x68]
call fcn.180014138
mov edi, eax
mov rcx, r14
call fcn.180014138
shl edi, 7
add eax, edi
jmp 0x18007d5f9
cmp esi, 0x51
jne 0x180078cd4
mov rcx, qword [rsp + 0x68]
call fcn.180014138
mov edi, eax
mov rcx, r14
call fcn.180014138
shl edi, 7
add eax, edi
jmp 0x18007d2f9
mov rcx, r14
call fcn.180078614
mov dl, al
lea rcx, [rsp + 0x50]
call fcn.18007fbe4
mov rcx, r15
call fcn.180078488
mov edi, eax
mov rcx, r14
call fcn.180078488
or edi, eax
mov edx, edi
shr rdx, 4
lea rax, [0x180000000]
mov edx, dword [rax + rdx*4 + 0x102990]
lea rcx, [rsp + 0x50]
call fcn.180078738
jmp 0x18007dcc1
mov rcx, r14
call fcn.180078614
mov dl, al
lea rcx, [rsp + 0x50]
call fcn.18007fbe4
mov rdi, qword [rbp - 0x68]
mov ecx, dword [rdi]
and ecx, 7
shl ecx, 9
add ecx, esi
mov r12d, dword [rdi + 0xc]
shl r12, 0x20
mov eax, dword [rdi + 8]
or r12, rax
mov esi, 1
mov dword [rsp + 0x58], esi
cmp ecx, 0x649
jne 0x18007dd21
mov rcx, r15
call fcn.180014138
mov edi, eax
mov rcx, r14
call fcn.180014138
mov rcx, qword [rsp + 0x68]
shl edi, 7
add eax, edi
mov dword [rsp + 0x54], eax
call fcn.180014138
mov dword [rsp + 0x60], eax
mov edx, 1
jmp 0x18007e731
cmp ecx, 0x689
jne 0x180078cd4
mov rcx, r15
call fcn.180014138
mov edi, eax
mov rcx, r14
call fcn.180014138
shl edi, 7
add eax, edi
jmp 0x18007d913
sub ecx, 0x84
je 0x18007e023
sub ecx, 1
je 0x18007dff2
sub ecx, 1
je 0x18007dfa5
sub ecx, 1
je 0x18007df73
sub ecx, 1
je 0x18007deb8
sub ecx, 1
je 0x18007de7d
sub ecx, 1
je 0x18007ddf1
sub ecx, 1
je 0x18007ddbd
cmp ecx, 1
jne 0x180078cd4
lea r8, [0x180000000]
cmp esi, 0x49
jne 0x18007e335
mov eax, dword [r15 + 4]
shl eax, 7
add eax, dword [r14 + 4]
mov dword [rsp + 0x54], eax
mov eax, dword [r10 + 4]
jmp 0x18007e724
mov rcx, r15
call fcn.180078488
mov edi, eax
mov rcx, r14
call fcn.180078488
or edi, eax
mov edx, edi
shr rdx, 4
lea rdi, [0x180000000]
mov edx, dword [rdi + rdx*4 + 0x102990]
lea rcx, [rsp + 0x50]
call fcn.180078738
jmp 0x18007ddf8
lea rdi, [0x180000000]
cmp esi, 0x49
jne 0x18007de1e
mov rcx, r15
call fcn.180014138
mov edi, eax
mov rcx, r14
call fcn.180014138
shl edi, 7
add eax, edi
mov rcx, qword [rsp + 0x68]
jmp 0x18007e71b
cmp esi, 0x89
je 0x18007dd2d
mov edx, 0x60000000
lea rcx, [rsp + 0x50]
call fcn.180078730
mov rax, qword [rbp - 0x78]
movzx edx, byte [rdi + rax*8 + 0x103907]
mov edx, dword [rdi + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078738
cmp esi, 0x4a
jne 0x180078cd4
mov rcx, r15
call fcn.180014138
mov edi, eax
mov rcx, qword [rsp + 0x68]
call fcn.180014138
shl edi, 7
add eax, edi
jmp 0x18007ea2c
cmp esi, 0x49
je 0x18007ddfd
cmp esi, 0x89
je 0x18007dd2d
lea rax, [0x180000000]
movzx edx, byte [rax + r11*8 + 0x103907]
mov edx, dword [rax + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078720
jmp 0x18007d1c9
cmp esi, 0x49
jne 0x18007df08
mov rcx, r10
call fcn.180014138
mov edi, eax
mov rcx, r14
call fcn.180014138
shl edi, 7
add eax, edi
mov dword [rsp + 0x54], eax
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x60], eax
mov edx, 0x100
mov ecx, r13d
call fcn.18007fb30
test al, al
je 0x18007e728
lea rcx, [rsp + 0x50]
call fcn.1800786f8
jmp 0x18007ddfd
cmp esi, 0x51
je 0x18007e000
lea rcx, [rsp + 0x50]
cmp esi, 0x89
je 0x18007e019
lea rax, [0x180000000]
movzx edx, byte [rax + r11*8 + 0x103907]
mov edx, dword [rax + rdx*4 + 0x106d00]
call fcn.180078720
mov rcx, qword [rsp + 0x68]
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov eax, 1
cmp esi, 0xc9
mov byte [rsp + 0x58], al
je 0x18007d5f1
cmp esi, 0xd1
jmp 0x18007d6fe
mov rcx, r15
call fcn.180078488
mov edi, eax
mov rcx, r14
call fcn.180078488
or edi, eax
mov edx, edi
shr rdx, 4
lea rax, [0x180000000]
mov edx, dword [rax + rdx*4 + 0x102990]
lea rcx, [rsp + 0x50]
call fcn.180078738
cmp esi, 0x49
je 0x18007ddfd
cmp esi, 0x89
je 0x18007dd2d
mov edx, 0x60000000
lea rcx, [rsp + 0x50]
call fcn.180078730
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx edx, byte [rcx + rax*8 + 0x103907]
mov edx, dword [rcx + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078738
jmp 0x18007df3e
cmp esi, 0x49
je 0x18007debd
cmp esi, 0x51
jne 0x18007e008
mov rcx, r10
jmp 0x18007dc4c
cmp esi, 0x89
jne 0x180078cd4
lea rcx, [rsp + 0x50]
call fcn.1800786f8
jmp 0x18007dd2d
movzx edi, byte [r15 + 3]
mov rcx, r14
call fcn.180078488
or eax, edi
shr rax, 4
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*4 + 0x102990]
or dword [rsp + 0x50], eax
mov r11, qword [rbp - 0x78]
lea rax, [0x180000000]
cmp esi, 9
je 0x18007d6ea
cmp esi, 0x11
je 0x18007d9c1
movzx ecx, byte [rax + r11*8 + 0x103907]
mov eax, dword [rsp + 0x50]
and eax, 0x60000000
lea r9, [0x180000000]
or eax, dword [r9 + rcx*4 + 0x106d00]
mov dword [rsp + 0x50], eax
jmp 0x18007d1de
mov eax, 0x97
cmp ecx, eax
ja 0x18007e4b7
je 0x18007e3aa
sub ecx, 0x8e
je 0x18007e2fa
sub ecx, 1
je 0x18007e2cb
sub ecx, 1
je 0x18007e2a9
sub ecx, 1
je 0x18007e220
sub ecx, 1
je 0x18007e1fd
sub ecx, 1
je 0x18007e254
sub ecx, 1
je 0x18007e1eb
sub ecx, 1
je 0x18007e124
cmp ecx, 1
jne 0x180078cd4
mov rcx, r15
call fcn.180078488
mov edi, eax
mov rcx, r14
call fcn.180078488
or edi, eax
mov edx, edi
shr rdx, 4
lea rax, [0x180000000]
mov edx, dword [rax + rdx*4 + 0x102990]
lea rcx, [rsp + 0x50]
call fcn.180078738
mov r12, qword [rbp - 0x68]
mov eax, dword [r12]
and eax, 7
shl eax, 9
add eax, esi
cmp eax, 0x249
jne 0x18007e177
mov rcx, r15
call fcn.180014138
mov edi, eax
mov rcx, r14
call fcn.180014138
shl edi, 7
add eax, edi
mov dword [rsp + 0x54], eax
mov rcx, qword [rsp + 0x68]
call fcn.180014138
mov rcx, r12
mov dword [rsp + 0x60], eax
call fcn.180014138
shl eax, 4
mov r12d, eax
jmp 0x18007d74d
cmp eax, 0x449
jne 0x18007e1c4
lea rcx, [rsp + 0x50]
call fcn.1800786f8
mov rcx, r15
call fcn.180014138
mov edi, eax
mov rcx, r14
call fcn.180014138
mov r13, r12
mov rcx, qword [rsp + 0x68]
shl edi, 7
add eax, edi
mov dword [rsp + 0x54], eax
call fcn.180014138
shl eax, 4
mov r12d, eax
mov eax, 1
mov byte [rsp + 0x58], al
jmp 0x18007ea33
cmp eax, 0x289
jne 0x180078cd4
mov rcx, r15
call fcn.180014138
mov edi, eax
mov rcx, r14
call fcn.180014138
mov r13, qword [rsp + 0x68]
mov rcx, r12
jmp 0x18007e1a2
cmp esi, 0xd1
jne 0x18007e1fd
lea rcx, [rsp + 0x50]
call fcn.180078700
movzx ecx, byte [r15 + 3]
movzx eax, byte [r14 + 3]
or rcx, rax
shr rcx, 4
lea rax, [0x180000000]
mov eax, dword [rax + rcx*4 + 0x102990]
or dword [rsp + 0x50], eax
mov rdi, qword [rsp + 0x68]
mov r12d, dword [rdi + 0xc]
shl r12, 0x20
mov eax, dword [rdi + 8]
or r12, rax
mov edx, 1
mov byte [rsp + 0x58], dl
cmp esi, 0xc9
jne 0x18007e2a1
mov eax, dword [r14 + 4]
shl eax, 7
add dword [rsp + 0x54], eax
jmp 0x18007d9ac
mov rcx, r14
call fcn.1800785c4
test al, al
jne 0x18007e271
mov rcx, r15
call fcn.180078488
cmp eax, 8
je 0x18007e271
xor edx, edx
jmp 0x18007e276
mov edx, 1
lea rcx, [rsp + 0x50]
call fcn.18007fbb4
mov rcx, qword [rsp + 0x68]
call fcn.18003c944
mov rcx, rax
call fcn.18007855c
mov r12, rax
mov byte [rsp + 0x58], 4
mov edx, 1
jmp 0x18007e23c
cmp esi, 0xd1
jmp 0x18007e2e7
mov rcx, r15
call fcn.1800785c4
movzx edi, al
mov rcx, r14
call fcn.1800785c4
movzx edx, al
or edx, edi
lea rcx, [rsp + 0x50]
call fcn.18007fbd8
cmp esi, 9
jne 0x18007e2e4
mov rcx, r14
call fcn.180014138
shl eax, 7
add dword [rsp + 0x54], eax
jmp 0x18007d5fd
cmp esi, 0x11
jne 0x180078cd4
mov rcx, r14
call fcn.180014138
jmp 0x18007e39e
mov eax, dword [r15]
and al, 7
xor edx, edx
cmp al, r8b
cmove edx, r9d
or edx, dword [rsp + 0x50]
movzx ecx, byte [r15 + 3]
movzx eax, byte [r14 + 3]
or rcx, rax
shr rcx, 4
lea r8, [0x180000000]
or edx, dword [r8 + rcx*4 + 0x102990]
mov dword [rsp + 0x50], edx
jmp 0x18007dd9c
cmp esi, 0x89
je 0x18007da40
movzx eax, byte [r8 + r11*8 + 0x103907]
mov ecx, dword [rsp + 0x50]
and ecx, 0x60001000
or ecx, dword [r8 + rax*4 + 0x106d00]
mov dword [rsp + 0x50], ecx
shr ecx, 0x12
and ecx, 7
mov dword [rsp + 0x54], ecx
mov r12d, dword [r10 + 0xc]
shl r12, 0x20
mov eax, dword [r10 + 8]
or r12, rax
mov edx, 1
mov byte [rsp + 0x58], dl
cmp esi, 0xc9
je 0x18007e244
cmp esi, 0xd1
jne 0x180078cd4
mov eax, dword [r14 + 4]
shl eax, 7
add dword [rsp + 0x54], eax
jmp 0x18007d2fd
mov rdi, qword [rbp - 0x68]
lea rcx, [rdi + 0x10]
mov eax, dword [rcx]
and eax, 7
cmp al, 3
jne 0x180078cd4
mov edi, dword [rdi]
and edi, 7
shl edi, 9
add edi, esi
mov rax, qword [rbp - 0x68]
movzx edx, byte [rax + 3]
movzx eax, byte [r10 + 3]
or rdx, rax
movzx eax, byte [r15 + 3]
or rdx, rax
movzx eax, byte [r14 + 3]
or rdx, rax
shr rdx, 4
lea rax, [0x180000000]
mov eax, dword [rax + rdx*4 + 0x102990]
or dword [rsp + 0x50], eax
call fcn.18007fb08
mov r12b, al
and r12d, 0xf
mov edx, 1
mov sil, dl
mov dword [rsp + 0x58], esi
cmp edi, 0x249
jne 0x18007e44c
mov eax, dword [r15 + 4]
shl eax, 7
add eax, dword [r14 + 4]
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 4]
mov dword [rsp + 0x60], eax
mov rax, qword [rbp - 0x68]
mov eax, dword [rax + 4]
shl eax, 4
or r12, rax
jmp 0x18007e731
cmp edi, 0x449
jne 0x18007e480
bts dword [rsp + 0x50], 0x1b
mov eax, dword [r15 + 4]
shl eax, 7
add eax, dword [r14 + 4]
mov dword [rsp + 0x54], eax
mov r13, qword [rbp - 0x68]
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 4]
shl eax, 4
or r12, rax
jmp 0x18007ea33
cmp edi, 0x289
jne 0x180078cd4
mov rcx, r15
call fcn.180014138
mov edi, eax
mov rcx, r14
call fcn.180014138
shl edi, 7
add eax, edi
mov dword [rsp + 0x54], eax
mov r13, qword [rsp + 0x68]
mov rcx, qword [rbp - 0x68]
call fcn.180014138
jmp 0x18007e475
sub ecx, 0x98
je 0x18007e664
sub ecx, 1
je 0x18007e60b
sub ecx, 1
je 0x18007e555
sub ecx, 1
je 0x18007e532
sub ecx, 1
je 0x18007d1ec
sub ecx, 1
je 0x18007e514
sub ecx, 1
je 0x18007d6fb
sub ecx, 1
je 0x18007d1de
cmp ecx, 1
jne 0x180078cd4
cmp esi, 0x49
jne 0x180078cd4
mov rcx, r10
jmp 0x18007dc25
mov eax, 1
cmp esi, eax
jne 0x180078cd4
mov rcx, r14
call fcn.180014138
mov dword [rsp + 0x54], eax
jmp 0x18007e728
movzx ecx, byte [r15 + 3]
movzx eax, byte [r14 + 3]
or rcx, rax
shr rcx, 4
lea rax, [0x180000000]
or edx, dword [rax + rcx*4 + 0x102990]
mov dword [rsp + 0x50], edx
mov rdi, qword [rbp - 0x68]
mov eax, dword [rdi]
and eax, 7
shl eax, 9
add eax, esi
cmp eax, 0x249
jne 0x18007e5b4
mov eax, dword [r15 + 4]
shl eax, 7
add eax, dword [r14 + 4]
mov dword [rsp + 0x54], eax
mov eax, r13d
shr eax, 8
mov ecx, 1
test cl, al
jne 0x18007e5a4
lea rcx, [rsp + 0x50]
call fcn.1800786f8
mov rcx, rdi
call fcn.180014138
mov rcx, qword [rsp + 0x68]
jmp 0x18007e163
mov rcx, r10
call fcn.180014138
mov rcx, rdi
jmp 0x18007e163
cmp eax, 0x449
jne 0x18007e5e0
lea rcx, [rsp + 0x50]
call fcn.1800786f8
mov rcx, r15
call fcn.180014138
mov edi, eax
mov rcx, r14
call fcn.180014138
mov r13, qword [rbp - 0x68]
jmp 0x18007e19d
cmp eax, 0x289
jne 0x180078cd4
mov rcx, r15
call fcn.180014138
mov edi, eax
mov rcx, r14
call fcn.180014138
mov r13, qword [rsp + 0x68]
mov rcx, qword [rbp - 0x68]
jmp 0x18007e1a2
cmp esi, 0x49
jne 0x18007e62c
mov eax, dword [r15 + 4]
shl eax, 7
add eax, dword [r14 + 4]
mov dword [rsp + 0x54], eax
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 4]
jmp 0x18007e724
cmp esi, 0x11
je 0x18007d2f1
cmp esi, 0xa
jne 0x180078cd4
lea rax, [0x180000000]
movzx edx, byte [rax + r11*8 + 0x103907]
mov edx, dword [rax + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078720
jmp 0x18007ea24
cmp esi, 9
jne 0x18007e990
mov rcx, r14
call fcn.18007849c
test al, al
je 0x18007e6b6
mov rax, qword [rbp - 0x78]
lea rcx, [0x180000000]
movzx edx, byte [rcx + rax*8 + 0x103907]
mov edx, dword [rcx + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078720
mov rcx, r14
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb60
jmp 0x18007d1ce
mov rcx, r15
call fcn.18007849c
test al, al
je 0x18007e6db
mov rcx, r15
call fcn.180078488
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.18007fb60
jmp 0x18007d5f1
mov edx, 0x10000000
lea rcx, [rsp + 0x50]
call fcn.180078740
test eax, eax
je 0x18007e9c5
mov edx, 0xff9fe000
lea rcx, [rsp + 0x50]
call fcn.180078730
mov edx, 0x40017e
lea rcx, [rsp + 0x50]
call fcn.180078738
mov rcx, r14
call fcn.180014138
mov rcx, r15
mov dword [rsp + 0x54], eax
call fcn.180014138
mov dword [rsp + 0x60], eax
mov edx, 1
mov esi, dword [rsp + 0x58]
mov rax, qword [rsp + 0x78]
mov edi, dword [rax + 0x5c]
shl edi, 0xc
mov ecx, dword [rsp + 0x54]
and ecx, 0xf98
or edi, ecx
shl edi, 2
mov eax, dword [rsp + 0x60]
and eax, 0x18
or edi, eax
shl edi, 2
mov eax, r13d
and eax, 0x1000
or eax, dword [rsp + 0x50]
shr eax, 8
and eax, 0x60001f
or edi, eax
and dword [rsp + 0x54], 7
test r13d, 0x8c0000
je 0x18007e7f1
mov eax, r13d
and eax, 0x800000
or edi, eax
test r13d, 0xc0000
je 0x18007e7f1
mov eax, edi
and eax, 0x600000
cmp eax, 0x400000
je 0x18007e7b2
mov rcx, qword [rbp - 0x58]
call fcn.1800786e8
test al, al
jne 0x18007eb53
mov edx, 1
mov rax, qword [rbp - 0x58]
mov ecx, dword [rax + 4]
mov eax, r13d
shr eax, 0x12
test dl, al
je 0x18007e7dc
shr ecx, 2
test dl, cl
je 0x18007eb53
mov eax, edi
xor eax, r13d
and eax, 0x600000
xor edi, eax
jmp 0x18007e7ed
shr ecx, 3
test dl, cl
je 0x18007eb53
and edi, 0xff9fffff
bts edi, 0x14
mov ecx, 0xd78150
mov rax, qword [rbp - 0x58]
test byte [rax + 3], dl
je 0x18007e80f
test ecx, edi
jne 0x18007e817
test r13d, 0xc00
jne 0x18007e80f
or edi, 0x10
test ecx, edi
je 0x18007e8c0
mov edx, edi
and edx, 0x8000
shl edx, 4
or edx, edi
and edx, 0xffff78ef
shl edx, 4
and edi, 0x100
or edx, edi
shl edx, 4
mov eax, dword [rsp + 0x50]
mov ecx, eax
shr ecx, 1
and ecx, 0x8300000
and eax, 0x8000000
or ecx, eax
shr ecx, 4
or edx, ecx
xor edx, 0x87cf062
mov dword [rbx], edx
mov al, byte [rsp + 0x50]
mov byte [rbx + 4], al
mov ecx, dword [rsp + 0x60]
and ecx, 7
mov dword [rsp + 0x60], ecx
mov dl, byte [rsp + 0x54]
shl dl, 3
sub dl, 0x40
add dl, cl
mov byte [rbx + 5], dl
add rbx, 6
test sil, sil
je 0x180079071
mov ecx, 1
cmp sil, cl
mov byte [rbx], r12b
lea rax, [rbx + 1]
mov rbx, rax
je 0x180079071
shr r12, 8
mov byte [rax], r12b
shr r12, 8
mov byte [rax + 1], r12b
shr r12, 8
mov byte [rax + 2], r12b
lea rbx, [rax + 3]
jmp 0x180079071
mov eax, dword [rsp + 0x50]
mov edx, eax
shr edx, 1
and edx, 0x300000
mov ecx, eax
and ecx, 0x8000000
or edx, ecx
shr edx, 1
mov ecx, edi
and ecx, 0x200000
or edx, ecx
shr edx, 0xb
mov ecx, r13d
and ecx, 0xfffffc00
shl ecx, 0x15
or edx, ecx
or edx, edi
test edx, 0x8000803e
je 0x18007e943
mov ecx, edx
and ecx, 0xf
shl eax, 0x18
lea r9, [0x180000000]
or eax, dword [r9 + rcx*4 + 0x102550]
movzx ecx, dx
shl ecx, 8
xor eax, ecx
mov dword [rbx], eax
mov eax, dword [rsp + 0x60]
and eax, 7
mov dword [rsp + 0x60], eax
mov cl, byte [rsp + 0x54]
shl cl, 3
sub cl, 0x40
add cl, al
mov byte [rbx + 4], cl
add rbx, 5
jmp 0x18007e87f
mov byte [rbx], 0xc5
mov r8d, 1
add rbx, r8
mov eax, edx
shr eax, 8
xor al, dl
xor al, 0xf9
mov byte [rbx], al
mov al, byte [rsp + 0x50]
mov byte [rbx + 1], al
mov ecx, dword [rsp + 0x60]
and ecx, 7
mov dword [rsp + 0x60], ecx
mov dl, byte [rsp + 0x54]
shl dl, 3
sub dl, 0x40
add dl, cl
mov byte [rbx + 2], dl
add rbx, 3
test sil, sil
je 0x180079071
cmp sil, r8b
jmp 0x18007e890
cmp esi, 0x11
jne 0x18007e9c9
mov edx, 0x10000000
lea rcx, [rsp + 0x50]
call fcn.180078740
test eax, eax
je 0x18007d2f1
mov edx, 0xff9fe000
lea rcx, [rsp + 0x50]
call fcn.180078730
mov edx, 0x40017e
jmp 0x18007d575
mov r11, qword [rbp - 0x78]
lea rax, [0x180000000]
movzx edx, byte [rax + r11*8 + 0x103907]
mov edx, dword [rax + rdx*4 + 0x106d00]
lea rcx, [rsp + 0x50]
call fcn.180078720
cmp esi, 0xa
jne 0x180078cd4
mov edx, 0x10000000
lea rcx, [rsp + 0x50]
call fcn.180078740
test eax, eax
je 0x18007ea24
mov edx, 0xff9fe000
lea rcx, [rsp + 0x50]
call fcn.180078730
mov edx, 0x2001d6
lea rcx, [rsp + 0x50]
call fcn.180078738
mov rcx, r15
call fcn.180014138
mov dword [rsp + 0x54], eax
mov r13, r14
mov ecx, dword [r13]
mov eax, ecx
shr rax, 3
and eax, 0x3ff
lea r8, [0x180000000]
movzx edx, byte [rax + r8 + 0x102590]
mov dword [rsp + 0x70], edx
shr rcx, 0x12
and ecx, 7
mov al, byte [rcx + r8 + 0x1029d0]
mov byte [rbx], al
xor ecx, ecx
test al, al
setne cl
lea rdi, [rcx + rbx]
mov rsi, qword [rsp + 0x78]
mov eax, dword [rsi + 0x28]
mov byte [rdi], 0x67
test edx, eax
mov ebx, 0
setne bl
add rbx, rdi
mov rcx, r13
call fcn.1800784ec
test al, al
je 0x18007ea9e
mov eax, dword [r13 + 4]
mov dword [rsp + 0x60], eax
mov rcx, r13
call fcn.1800784fc
test al, al
je 0x18007eab0
mov r11d, dword [r13 + 8]
jmp 0x18007eab3
xor r11d, r11d
mov eax, dword [r13]
and eax, 0xe00000
neg eax
sbb r9d, r9d
and r9d, 0x10
or r9d, dword [rsi + 0x5c]
add r9d, r9d
mov eax, r11d
and eax, 0x10
or r9d, eax
shl r9d, 0xb
mov edx, dword [rsp + 0x54]
mov eax, edx
and eax, 0xf98
or r9d, eax
add r9d, r9d
mov eax, r11d
and eax, 8
or r9d, eax
add r9d, r9d
mov eax, dword [rsp + 0x60]
and eax, 8
or r9d, eax
shl r9d, 2
mov ecx, dword [rsp + 0x5c]
and ecx, 0x1000
mov eax, dword [rsp + 0x50]
or ecx, eax
shr ecx, 8
and ecx, 0x60001f
or r9d, ecx
and edx, 7
mov dword [rsp + 0x54], edx
mov r10, qword [rbp - 0x58]
mov r8d, dword [r10]
mov ecx, r8d
not ecx
and ecx, 0xffc00000
shl ecx, 9
or r9d, ecx
mov edx, dword [rsp + 0x5c]
test edx, 0x8c0000
je 0x18007eb68
test edx, 0xc0000
je 0x18007eb5d
mov eax, 0x2a
jmp 0x180078cd9
mov ecx, edx
and ecx, 0x800000
or r9d, ecx
shr r8d, 0x18
mov esi, 0x80df8110
mov ecx, 1
test cl, r8b
je 0x18007eb8c
test esi, r9d
jne 0x18007eb95
test edx, 0xc00
jne 0x18007eb8c
or r9d, 0x10
test esi, r9d
je 0x18007ec97
mov r8d, r9d
and r8d, 0x8000
shl r8d, 4
or r8d, r9d
and r8d, 0xffff78ef
shl r8d, 4
and r9d, 0x100
or r8d, r9d
shl r8d, 4
mov edx, eax
shr edx, 1
and edx, 0x8300000
mov ecx, eax
and ecx, 0x8000000
or edx, ecx
shr edx, 4
or r8d, edx
xor r8d, 0x87cf062
bt r8d, 0x1c
jae 0x18007ec57
mov r9d, dword [r10 + 4]
shr r9d, 3
and r9d, 0xe
je 0x18007ec4d
mov r10d, r8d
and r10d, 0x60000000
mov ecx, dword [r13]
shr ecx, 0x15
and ecx, 7
mov edx, r9d
shl edx, cl
bsf ecx, edx
cmp ecx, 4
jae 0x18007ec1a
xor ecx, ecx
jmp 0x18007ec28
add ecx, 0xfffffffc
shl ecx, 0x1d
cmp ecx, 0x40000000
ja 0x18007ec4d
cmp r10d, ecx
cmovb r10d, ecx
and r8d, 0x9fffffff
or r8d, r10d
bsf ecx, r9d
and eax, 0xffff1fff
shl ecx, 0xd
or eax, ecx
mov r10, qword [rbp - 0x58]
jmp 0x18007ec83
mov eax, 0x29
jmp 0x180078cd9
mov edx, r8d
shr edx, 0x1d
and edx, 3
mov ecx, eax
shr ecx, 0xd
and ecx, 0x18
add edx, ecx
mov ecx, eax
shr ecx, 0x19
and ecx, 4
add edx, ecx
lea r9, [0x180000000]
add eax, dword [r9 + rdx*4 + 0x1024a0]
mov dword [rsp + 0x50], eax
mov dword [rbx], r8d
mov al, byte [rsp + 0x50]
mov byte [rbx + 4], al
add rbx, 5
jmp 0x18007ed0c
mov r8d, eax
shr r8d, 1
and r8d, 0x300000
mov ecx, eax
and ecx, 0x8000000
or r8d, ecx
shr r8d, 1
mov ecx, r9d
and ecx, 0x200000
or r8d, ecx
shr r8d, 0xb
mov ecx, edx
and ecx, 0xfffffc00
shl ecx, 0x15
or r8d, ecx
or r8d, r9d
and eax, 0xffff1fff
mov dword [rsp + 0x50], eax
test r8d, 0x8000807e
je 0x18007ed14
mov ecx, r8d
and ecx, 0xf
shl eax, 0x18
lea r9, [0x180000000]
or eax, dword [r9 + rcx*4 + 0x102550]
movzx ecx, r8w
shl ecx, 8
xor eax, ecx
mov dword [rbx], eax
add rbx, 4
mov r9d, 1
jmp 0x18007ed38
mov byte [rbx], 0xc5
mov r9d, 1
add rbx, r9
mov eax, r8d
shr eax, 8
xor al, r8b
xor al, 0xf9
mov byte [rbx], al
mov al, byte [rsp + 0x50]
mov byte [rbx + 1], al
add rbx, 2
mov eax, dword [r10]
shr eax, 0x14
mov r10d, dword [rsp + 0x70]
test r9b, al
jne 0x18007f3c9
mov rsi, rbx
mov qword [rbp - 0x50], rbx
test r10b, 0x42
jne 0x18007f2ce
test r9b, r10b
je 0x18007ee90
mov ecx, dword [rsp + 0x60]
and ecx, 7
mov dword [rsp + 0x60], ecx
mov esi, dword [r13 + 0xc]
mov eax, dword [rsp + 0x54]
lea edi, [rcx + rax*8]
cmp ecx, 4
je 0x18007edf7
mov rax, qword [rbp - 0x58]
mov eax, dword [rax]
shr eax, 0x15
test r9b, al
jne 0x18007edf7
cmp ecx, 5
je 0x18007eda7
test esi, esi
jne 0x18007eda7
mov byte [rbx], dil
add rbx, r9
mov esi, dword [rsp + 0x58]
jmp 0x18007f750
mov r13d, dword [rsp + 0x50]
shr r13d, 0xd
and r13d, 7
mov eax, esi
mov ecx, r13d
sar eax, cl
mov dword [rbp - 0x80], eax
mov ecx, eax
call fcn.18007fbf0
test al, al
je 0x18007ede7
mov ecx, r13d
mov edx, dword [rbp - 0x80]
mov eax, edx
shl eax, cl
cmp esi, eax
jne 0x18007ede7
add dil, 0x40
mov byte [rbx], dil
mov byte [rbx + 1], dl
add rbx, 2
jmp 0x18007ed9e
add dil, 0x80
mov byte [rbx], dil
mov dword [rbx + 1], esi
add rbx, 5
jmp 0x18007ed9e
and edi, 0xf8
or edi, 4
cmp ecx, 5
je 0x18007ee17
test esi, esi
jne 0x18007ee17
mov byte [rbx], dil
mov al, byte [rsp + 0x60]
add al, 0x20
mov byte [rbx + 1], al
jmp 0x18007ede1
mov r13d, dword [rsp + 0x50]
shr r13d, 0xd
and r13d, 7
mov eax, esi
mov ecx, r13d
sar eax, cl
mov dword [rbp - 0x80], eax
mov ecx, eax
call fcn.18007fbf0
test al, al
je 0x18007ee68
mov ecx, r13d
mov edx, dword [rbp - 0x80]
mov eax, edx
shl eax, cl
cmp esi, eax
jne 0x18007ee68
add dil, 0x40
mov byte [rbx], dil
mov r13d, 1
add rbx, r13
mov al, byte [rsp + 0x60]
add al, 0x20
mov byte [rbx], al
mov byte [rbx + 1], dl
add rbx, 2
jmp 0x18007ee87
add dil, 0x80
mov byte [rbx], dil
mov r13d, 1
add rbx, r13
mov al, byte [rsp + 0x60]
add al, 0x20
mov byte [rbx], al
mov dword [rbx + 1], esi
add rbx, 5
mov esi, dword [rsp + 0x58]
jmp 0x18007f756
test r10b, 0x30
jne 0x18007f206
mov edx, dword [r13]
mov r8d, dword [r13 + 0xc]
mov dword [rsp + 0x70], r8d
mov ecx, edx
mov r11d, 0xc000
and ecx, r11d
mov r9, qword [rsp + 0x78]
mov r10d, 1
test byte [r9 + 0x48], r10b
je 0x18007eedf
cmp ecx, 0x8000
je 0x18007a6b5
mov al, byte [rsp + 0x54]
shl al, 3
add al, 5
mov byte [rbx], al
jmp 0x18007f1ce
mov eax, r8d
sar eax, 0x1f
mov dword [rbp - 0x80], eax
mov esi, dword [r13 + 4]
mov dword [rbp - 0x58], esi
mov rax, qword [r9 + 0x30]
mov rax, qword [rax + 0x28]
mov qword [rbp - 0x50], rax
test ecx, ecx
jne 0x18007ef62
cmp rax, 0xffffffffffffffff
jne 0x18007ef17
cmp esi, dword [rbp - 0x80]
je 0x18007f038
test esi, esi
jne 0x18007ef7c
jmp 0x18007f038
mov rcx, r13
call fcn.18003c944
mov rcx, rax
call fcn.1800786d0
mov rdx, qword [rbp - 0x78]
cmp edx, 0x17e
jne 0x18007ef47
cmp esi, dword [rbp - 0x80]
je 0x18007ef3c
test esi, esi
jne 0x18007ef47
mov r10d, 1
mov cl, r10b
jmp 0x18007ef4f
xor cl, cl
mov r10d, 1
cmp eax, 5
jae 0x18007ef58
test cl, cl
je 0x18007ef73
mov r8d, dword [rsp + 0x70]
jmp 0x18007f03c
and edx, r11d
cmp edx, 0x8000
jne 0x18007f038
jmp 0x18007ef7c
mov rax, qword [rbp - 0x50]
mov r9, qword [rsp + 0x78]
mov rsi, qword [r9 + 0x98]
cmp rax, 0xffffffffffffffff
je 0x18007f061
mov rcx, qword [r9 + 0x90]
call fcn.180060fb4
test eax, eax
jne 0x18007f05c
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x90]
call fcn.180060fb8
mov r8d, dword [rsp + 0x58]
movzx ecx, r8b
sub rcx, rsi
mov rsi, qword [rbp - 0x50]
add rsi, 5
add rsi, rax
add rsi, rcx
add rsi, rbx
mov rcx, r13
call fcn.18003c944
mov rcx, rax
call fcn.180078538
sub rax, rsi
mov qword [rbp - 0x50], rax
mov rcx, rax
call fcn.18007faf4
test al, al
je 0x18007f012
mov al, byte [rsp + 0x54]
shl al, 3
add al, 5
mov byte [rbx], al
mov edx, dword [rbp - 0x50]
lea rcx, [rbx + 1]
call fcn.18007fc00
mov esi, dword [rsp + 0x58]
jmp 0x18007f105
mov rcx, r13
call fcn.18003c944
mov rcx, rax
call fcn.1800786b4
test al, al
jne 0x18007a6b5
mov esi, dword [rbp - 0x58]
mov r8d, dword [rsp + 0x70]
mov r10d, 1
mov rdx, qword [rbp - 0x78]
cmp esi, dword [rbp - 0x80]
je 0x18007f1bc
test esi, esi
je 0x18007f163
mov ecx, 0x2e
call fcn.180078444
jmp 0x180078cd9
mov r9, qword [rsp + 0x78]
mov r8d, 4
lea rdx, [rbp - 0x70]
mov rcx, qword [r9 + 0x30]
call fcn.180061cf4
test eax, eax
jne 0x180078cd9
mov al, byte [rsp + 0x54]
shl al, 3
add al, 5
mov byte [rbx], al
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rdi + 0x90]
call fcn.180060fb4
mov rcx, qword [rbp - 0x70]
mov dword [rcx + 0x10], eax
mov rcx, rdi
call fcn.180060fe4
mov rcx, qword [rbp - 0x70]
mov qword [rcx + 0x18], rax
mov rcx, qword [rbp - 0x70]
add rcx, 8
xor edx, edx
lea r8d, [rdx + 4]
call fcn.18007715c
mov esi, dword [rsp + 0x58]
movzx r8d, sil
lea rdx, [rbx + 1]
sub rdx, qword [rdi + 0xa8]
mov rcx, qword [rbp - 0x70]
add rcx, 8
call fcn.180078574
mov rcx, r13
call fcn.18003c944
mov rcx, rax
call fcn.180078538
mov rcx, qword [rbp - 0x70]
mov qword [rcx + 0x20], rax
xor edx, edx
lea rcx, [rbx + 1]
call fcn.18007fc00
add rbx, 5
cmp sil, 4
mov al, sil
jb 0x18007f128
mov edx, r12d
mov rcx, rbx
call fcn.18007fc00
add rbx, 4
shr r12, 0x20
lea eax, [rsi - 4]
test al, al
je 0x18007f7a0
mov byte [rbx], r12b
inc rbx
shr r12, 8
add al, 0xff
je 0x18007f7a0
mov byte [rbx], r12b
inc rbx
shr r12, 8
add al, 0xff
je 0x18007f7a0
mov ecx, 1
mov r13d, dword [rsp + 0x5c]
jmp 0x18007c4f6
cmp byte [rdi], 0x67
je 0x18007f1bc
cmp edx, 0x17e
jne 0x18007f1e6
movzx eax, byte [rdi]
test al, 0x40
je 0x18007f1bc
and eax, 0xf7
mov byte [rdi], al
cmp eax, 0x40
jne 0x18007f1bc
mov edx, 0x40000000
mov ecx, dword [rsp + 0x5c]
call fcn.18007fb30
test al, al
jne 0x18007f1b7
inc rdi
cmp rdi, rbx
je 0x18007f1b4
mov r15d, 1
mov al, byte [rdi]
mov byte [rdi - 1], al
add rdi, r15
cmp rdi, rbx
jne 0x18007f1a3
mov r15, qword [rbp + 0x20]
dec rbx
mov r8d, dword [rsp + 0x70]
mov al, byte [rsp + 0x54]
shl al, 3
add al, 4
mov byte [rbx], al
lea rsi, [rbx + 1]
mov byte [rsi], 0x25
lea rbx, [rsi + 1]
mov edx, r8d
mov rcx, rbx
call fcn.18007fc00
mov esi, dword [rsp + 0x58]
jmp 0x18007f74c
mov rdx, rbx
cmp rbx, rdi
je 0x18007f1fe
lea rcx, [rdx - 1]
mov al, byte [rcx]
mov byte [rdx], al
mov rdx, rcx
cmp rcx, rdi
jne 0x18007f1ee
mov byte [rdx], 0x67
add rbx, r10
jmp 0x18007f1bc
mov al, byte [rsp + 0x54]
shl al, 3
add al, 5
mov byte [rbx], al
add rbx, r9
mov r9, qword [rsp + 0x78]
mov eax, 1
test byte [r9 + 0x48], al
jne 0x18007f4f1
mov eax, dword [r13 + 0xc]
mov qword [rbp - 0x38], rax
test r10b, 0x10
je 0x18007f2bb
mov rdi, qword [r9 + 0x30]
mov rcx, r13
call fcn.18003c944
mov rcx, rax
call fcn.180014138
mov edx, eax
mov rcx, rdi
call fcn.180060fc8
mov rsi, rax
test rax, rax
je 0x18007f552
mov r8d, dword [rsp + 0x58]
movzx eax, r8b
mov ecx, 0xfffffffc
sub ecx, eax
add dword [rbp - 0x38], ecx
mov r13, qword [rsp + 0x78]
mov rdx, qword [r13 + 0x90]
mov rcx, rsi
call fcn.180078584
test al, al
je 0x18007f612
mov rdi, qword [r13 + 0x98]
mov rcx, rsi
call fcn.180060fc0
sub edi, ebx
add edi, dword [rbp - 0x38]
lea edx, [rdi + rax]
mov rcx, rbx
call fcn.18007fc00
mov rbx, qword [rbp - 0x50]
jmp 0x18007edf1
mov edx, eax
mov rcx, rbx
call fcn.18007fc00
lea rbx, [rsi + 5]
jmp 0x18007ed9e
test r10b, 0x40
jne 0x18007f2e7
cmp r11d, 4
jne 0x18007f3d3
lea eax, [r11 + 0x28]
jmp 0x180078cd9
movsx edx, word [r13 + 0xc]
mov esi, edx
mov ecx, r10d
mov r8d, 3
and ecx, r8d
je 0x18007f3ab
mov eax, dword [rsp + 0x60]
and eax, 7
mov dword [rsp + 0x60], eax
and r11d, 7
cmp ecx, r8d
jne 0x18007f336
test dword [r13], 0x30000
jne 0x18007a6b5
lea ecx, [r11 + rax*8]
lea rax, [0x180000000]
mov al, byte [rcx + rax + 0x1029e0]
jmp 0x18007f351
test r10b, 2
je 0x18007f343
mov eax, r11d
mov dword [rsp + 0x60], eax
lea rcx, [0x180000000]
mov al, byte [rax + rcx + 0x102490]
movzx ecx, al
cmp ecx, 0xff
je 0x18007a6b5
mov eax, dword [rsp + 0x54]
lea edi, [rcx + rax*8]
test esi, esi
jne 0x18007f374
cmp edi, 6
jne 0x18007ed98
mov ecx, esi
call fcn.18007fbf0
test al, al
je 0x18007f38f
add dil, 0x40
mov byte [rbx], dil
mov byte [rbx + 1], sil
jmp 0x18007ede1
add dil, 0x80
mov byte [rbx], dil
movzx edx, si
lea rcx, [rbx + 1]
call fcn.18007fc04
add rbx, 3
jmp 0x18007ed9e
test r10b, 0x30
jne 0x18007a6b5
mov al, byte [rsp + 0x54]
or al, 6
mov byte [rbx], al
mov word [rbx + 1], dx
add rbx, r8
jmp 0x18007ed9e
test r10b, 2
je 0x180078cd4
and r11d, 7
test r9b, r10b
je 0x18007f485
mov ecx, dword [rsp + 0x60]
and ecx, 7
mov dword [rsp + 0x60], ecx
mov edx, dword [r13 + 0xc]
mov dword [rbp - 0x80], edx
mov eax, dword [rsp + 0x54]
lea edi, [rax*8 + 4]
movzx eax, word [r13 + 2]
and eax, 3
lea eax, [r11 + rax*8]
lea eax, [rcx + rax*8]
mov dword [rsp + 0x70], eax
test edx, edx
jne 0x18007f421
cmp ecx, 5
je 0x18007f421
mov byte [rbx], dil
jmp 0x18007ee12
mov esi, dword [rsp + 0x50]
shr esi, 0xd
and esi, 7
mov r13d, edx
mov ecx, esi
sar r13d, cl
mov ecx, r13d
call fcn.18007fbf0
test al, al
je 0x18007f464
mov ecx, esi
mov eax, r13d
shl eax, cl
mov ecx, dword [rbp - 0x80]
cmp ecx, eax
jne 0x18007f467
add dil, 0x40
mov byte [rbx], dil
mov eax, dword [rsp + 0x70]
mov byte [rbx + 1], al
mov byte [rbx + 2], r13b
jmp 0x18007f3a2
mov ecx, dword [rbp - 0x80]
add dil, 0x80
mov byte [rbx], dil
mov r13d, 1
add rbx, r13
mov eax, dword [rsp + 0x70]
mov byte [rbx], al
mov dword [rbx + 1], ecx
jmp 0x18007ee83
test r10b, 0x30
jne 0x18007f4b8
mov al, byte [rsp + 0x54]
shl al, 3
add al, 4
mov byte [rbx], al
add rbx, r9
mov al, byte [r13 + 2]
and al, 3
shl al, 3
add al, r11b
shl al, 3
add al, 5
mov byte [rbx], al
mov eax, dword [r13 + 0xc]
mov dword [rbx + 1], eax
jmp 0x18007edf1
mov r9, qword [rsp + 0x78]
mov esi, 1
test byte [r9 + 0x48], sil
je 0x18007a6b5
mov al, byte [rsp + 0x54]
shl al, 3
add al, 4
mov byte [rbx], al
mov al, byte [r13 + 2]
and al, 3
shl al, 3
add al, r11b
shl al, 3
add al, 5
mov byte [rbx + 1], al
add rbx, 2
jmp 0x18007f4f6
mov esi, 1
mov rdx, qword [r9 + 0x30]
lea rcx, [rdx + 0x100]
mov eax, dword [rcx + 0xc]
sub eax, dword [rcx + 8]
cmp eax, esi
jae 0x18007f52f
add rdx, 0x60
mov r9d, esi
mov r8d, 8
call fcn.180063104
test eax, eax
jne 0x18007f675
mov r10d, dword [rsp + 0x70]
mov r9, qword [rsp + 0x78]
movsxd rdi, dword [r13 + 0xc]
mov rcx, qword [r9 + 0x30]
test r10b, 0x10
je 0x18007f6b3
mov edx, dword [r13 + 4]
call fcn.180060fc8
mov rsi, rax
test rax, rax
jne 0x18007f55c
mov eax, 0xc
jmp 0x180078cd9
mov r8d, 3
lea rdx, [rbp - 0x70]
mov r13, qword [rsp + 0x78]
mov rcx, qword [r13 + 0x30]
call fcn.180061cf4
test eax, eax
jne 0x180078cd9
mov rax, qword [r13 + 0x90]
mov ecx, dword [rax]
mov rax, qword [rbp - 0x70]
mov dword [rax + 0x10], ecx
mov rcx, qword [r13 + 0xa8]
sub rcx, qword [r13 + 0x98]
mov rax, qword [rbp - 0x70]
mov qword [rax + 0x18], rcx
mov rax, qword [rbp - 0x70]
mov dword [rax + 8], 0x4040001
mov dword [rax + 0xc], 0x2000
mov rdx, qword [rbp - 0x70]
mov cl, bl
sub cl, byte [r13 + 0xa8]
mov al, cl
add al, byte [rdx + 0xb]
mov r8d, dword [rsp + 0x58]
add al, r8b
mov byte [rdx + 0xa], al
mov byte [rdx + 0xc], cl
mov rax, qword [rbp - 0x70]
mov qword [rax + 0x20], rdi
cmp qword [rsi + 0x20], 0
je 0x18007f604
mov rcx, qword [rbp - 0x70]
mov rax, qword [rsi + 0x18]
add qword [rcx + 0x20], rax
mov rax, qword [rsi + 0x20]
mov ecx, dword [rax]
mov rax, qword [rbp - 0x70]
mov dword [rax + 0x14], ecx
mov esi, r8d
jmp 0x18007f749
movzx eax, r8b
mov ecx, 0xfffffffc
sub ecx, eax
mov dword [rbp - 0x38], ecx
mov al, 4
mov byte [rsp + 0x74], al
mov rcx, qword [r13 + 0x98]
movzx edi, al
and word [rbp - 0x40], 0
mov byte [rbp - 0x3e], al
mov byte [rbp - 0x3d], al
mov byte [rbp - 0x3c], 0
shl al, 3
mov byte [rbp - 0x3b], al
and word [rbp - 0x3a], 0
mov rax, qword [r13 + 0x90]
mov r8d, dword [rax]
movsxd rax, dword [rbp - 0x38]
mov r9, rbx
sub r9, rcx
lea rcx, [rbp - 0x40]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov rcx, qword [r13 + 0x30]
call fcn.1800616d8
mov rcx, rax
test rax, rax
jne 0x18007f67c
lea esi, [rax + 1]
mov eax, esi
jmp 0x180078cd9
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x18007f68a
mov eax, dword [rax]
mov dword [rcx + 0xc], eax
mov r8, rdi
xor edx, edx
mov rcx, rbx
call fcn.1800ce680
add rbx, rdi
mov esi, dword [rsp + 0x58]
mov al, sil
cmp sil, 4
jb 0x18007f128
mov dword [rbx], r12d
jmp 0x18007f11d
mov r8d, 3
lea rdx, [rbp - 0x70]
call fcn.180061cf4
test eax, eax
jne 0x180078cd9
mov r13, qword [rsp + 0x78]
mov rax, qword [r13 + 0x90]
mov ecx, dword [rax]
mov rax, qword [rbp - 0x70]
mov dword [rax + 0x10], ecx
mov rax, qword [r13 + 0x90]
mov ecx, dword [rax]
mov rax, qword [rbp - 0x70]
mov dword [rax + 0x14], ecx
mov rax, qword [rbp - 0x70]
mov dword [rax + 8], 0x4040001
mov dword [rax + 0xc], 0x2000
mov rdx, qword [rbp - 0x70]
mov cl, bl
sub cl, byte [r13 + 0xa8]
mov al, cl
add al, byte [rdx + 0xb]
mov esi, dword [rsp + 0x58]
add al, sil
mov byte [rdx + 0xa], al
mov byte [rdx + 0xc], cl
mov rdx, qword [r13 + 0xa8]
sub rdx, qword [r13 + 0x98]
mov rax, qword [rbp - 0x70]
mov qword [rax + 0x18], rdx
mov r8, qword [rbp - 0x70]
movzx ecx, byte [r8 + 0xa]
add rcx, rdx
add rcx, rdi
mov qword [r8 + 0x20], rcx
and dword [rbx], 0
add rbx, 4
mov r13d, 1
mov al, sil
cmp sil, 4
jb 0x18007f76d
mov dword [rbx], r12d
add rbx, 4
shr r12, 0x20
lea eax, [rsi - 4]
test al, al
je 0x18007f7a0
mov byte [rbx], r12b
inc rbx
shr r12, 8
add al, 0xff
je 0x18007f7a0
mov byte [rbx], r12b
inc rbx
shr r12, 8
add al, 0xff
je 0x18007f7a0
mov byte [rbx], r12b
inc rbx
cmp al, r13b
mov r13d, dword [rsp + 0x5c]
jmp 0x180078c44
mov r13d, dword [rsp + 0x5c]
jmp 0x180079071