Function at 0x1403a0600
Capabilities:
Access peb ldr_data
Encrypt data using tea
Get process filename
Resolve function by parsing pe exports

Disassembly:
sub rsp, 0xe8
mov qword [rsp + 0x18], 0
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x60], 0
mov dword [rsp], 0
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x78], 0
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0x38], 0
mov dword [rsp + 0xc], 0
mov dword [rsp + 0x10], 0x1f
mov dword [rsp + 8], 0
mov qword [rsp + 0x80], 0
xor eax, eax
mov word [rsp + 4], ax
mov rax, qword gs:[0x60]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
add rax, 0x20
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
sub rax, 0x10
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x30], 0xffffffffffffffff
inc qword [rsp + 0x30]
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x30]
cmp word [rax + rcx*2], 0
jne 0x1403a0761
mov rax, qword [rsp + 0x30]
mov dword [rsp], eax
jmp 0x1403a078c
mov eax, dword [rsp]
dec eax
mov dword [rsp], eax
cmp dword [rsp], 0
jb 0x1403a07a7
mov eax, dword [rsp]
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx + rax*2]
cmp eax, 0x5c
jne 0x1403a07a5
jmp 0x1403a07a7
jmp 0x1403a0784
mov eax, dword [rsp]
inc eax
mov eax, eax
mov rcx, qword [rsp + 0x38]
lea rax, [rcx + rax*2]
mov qword [rsp + 0x80], rax
mov dword [rsp + 0xc], 0
mov dword [rsp], 0
jmp 0x1403a07d8
mov eax, dword [rsp]
inc eax
mov dword [rsp], eax
mov eax, dword [rsp]
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0x40], 0xffffffffffffffff
inc qword [rsp + 0x40]
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x40]
cmp word [rcx + rdx*2], 0
jne 0x1403a07f4
mov rcx, qword [rsp + 0x40]
cmp rax, rcx
jae 0x1403a08a5
mov dword [rsp + 8], 0x15
mov eax, dword [rsp + 0x10]
mov ecx, dword [rsp + 8]
and ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp]
mov rcx, qword [rsp + 0x80]
movzx eax, word [rcx + rax*2]
mov word [rsp + 4], ax
movzx eax, word [rsp + 4]
cmp eax, 0x41
jl 0x1403a0868
movzx eax, word [rsp + 4]
cmp eax, 0x5a
jg 0x1403a0868
movzx eax, word [rsp + 4]
add eax, 0x20
mov word [rsp + 4], ax
movzx eax, word [rsp + 4]
mov ecx, dword [rsp + 8]
mov edx, dword [rsp + 0xc]
shr edx, cl
mov ecx, edx
mov dword [rsp + 0x68], ecx
mov edx, dword [rsp + 8]
neg edx
and edx, dword [rsp + 0x10]
movzx ecx, dl
mov edx, dword [rsp + 0xc]
shl edx, cl
mov ecx, edx
mov edx, dword [rsp + 0x68]
or edx, ecx
mov ecx, edx
add eax, ecx
mov dword [rsp + 0xc], eax
jmp 0x1403a07d0
cmp dword [rsp + 0xc], 0xbd18a258
jne 0x1403a08be
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x18], rax
jmp 0x1403a08de
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x20], rax
jne 0x1403a071e
mov rax, qword [rsp + 0x18]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x18]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa8], rax
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0xa8]
lea rax, [rcx + rax + 0x88]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x18]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + 0x20]
mov rcx, qword [rsp + 0x18]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + 0x1c]
mov rcx, qword [rsp + 0x18]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + 0x24]
mov rcx, qword [rsp + 0x18]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + 0x18]
mov dword [rsp], eax
mov eax, dword [rsp]
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp]
dec eax
mov dword [rsp], eax
cmp dword [rsp + 0x6c], 0
je 0x1403a0acf
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x18]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xb8], rax
mov dword [rsp + 0xc], 0
mov dword [rsp], 0
jmp 0x1403a09d5
mov eax, dword [rsp]
inc eax
mov dword [rsp], eax
mov eax, dword [rsp]
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0x48], 0xffffffffffffffff
inc qword [rsp + 0x48]
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0x48]
cmp byte [rcx + rdx], 0
jne 0x1403a09f1
mov rcx, qword [rsp + 0x48]
cmp rax, rcx
jae 0x1403a0a72
mov dword [rsp + 8], 0x15
mov eax, dword [rsp + 0x10]
mov ecx, dword [rsp + 8]
and ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp]
mov rcx, qword [rsp + 0xb8]
movsx eax, byte [rcx + rax]
mov ecx, dword [rsp + 8]
mov edx, dword [rsp + 0xc]
shr edx, cl
mov ecx, edx
mov dword [rsp + 0x70], ecx
mov edx, dword [rsp + 8]
neg edx
and edx, dword [rsp + 0x10]
movzx ecx, dl
mov edx, dword [rsp + 0xc]
shl edx, cl
mov ecx, edx
mov edx, dword [rsp + 0x70]
or edx, ecx
mov ecx, edx
add eax, ecx
mov dword [rsp + 0xc], eax
jmp 0x1403a09cd
cmp dword [rsp + 0xc], 0xac97b4c4
jne 0x1403a0aae
mov rax, qword [rsp + 0x60]
movzx eax, word [rax]
mov rcx, qword [rsp + 0x50]
lea rax, [rcx + rax*4]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x18]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xc0], rax
jmp 0x1403a0acf
mov rax, qword [rsp + 0x58]
add rax, 4
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x60]
add rax, 2
mov qword [rsp + 0x60], rax
jmp 0x1403a0988
mov rax, qword [rsp + 0xc0]
add rsp, 0xe8
sub rsp, 0x80
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x40], 0xcfb5c9dc
mov dword [rsp + 0x44], 0xd7777eb6
mov dword [rsp + 0x48], 0x4900a5cd
mov dword [rsp + 0x4c], 0xa15e9cd2
mov dword [rsp + 0x50], 0xf42d4cdc
mov dword [rsp + 0x54], 0xfd2f15e3
mov dword [rsp + 0x58], 0x8f410eea
mov dword [rsp + 0x5c], 0xdfd889bf
lea rcx, [rsp + 0x40]
mov edx, 0x18
sub rsp, 8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov dword [rsp], 0
mov dword [rsp + 0x20], 0x5fa21809
mov dword [rsp + 0x24], 0x71ad9fe1
mov dword [rsp + 0x28], 0x152f9a03
mov dword [rsp + 0x2c], 0x52b451a3
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x58]
xor edx, edx
mov eax, ecx
mov ecx, 8
div rcx
mov rax, rdx
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
xor edx, edx
mov ecx, 4
div rcx
mov dword [rsp], eax
cmp dword [rsp], 0
jl 0x1403a0cd1
mov dword [rsp + 0x14], 0x9e3779b9
mov dword [rsp + 0x10], 0x20
imul eax, dword [rsp + 0x14], 0x20
mov dword [rsp + 0xc], eax
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 4], eax
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x10]
dec eax
mov dword [rsp + 0x10], eax
cmp dword [rsp + 0x18], 0
je 0x1403a0ca0
mov eax, dword [rsp + 4]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 2
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 4]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 4]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 3
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 8]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 0
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 8]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 1
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 4]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x14]
mov ecx, dword [rsp + 0xc]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
jmp 0x1403a0be6
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 4]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 8]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
sub eax, 2
mov dword [rsp], eax
jmp 0x1403a0ba0
add rsp, 0x48
add rsp, 8
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], 0x18
mov word [rsp + 0x22], 0x1a
mov dword [rsp + 0x24], 0
xor rcx, rcx
xor rdx, rdx
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x20]
mov rax, qword [rsp + 0x30]
call rax
mov dword [rsp + 0x40], 0x3c814c4c
mov dword [rsp + 0x44], 0x58da4b2c
mov dword [rsp + 0x48], 0x99d32dda
mov dword [rsp + 0x4c], 0xb08335fe
mov dword [rsp + 0x50], 0xb8e1b198
mov dword [rsp + 0x54], 0x47ecdad3
lea rcx, [rsp + 0x40]
mov edx, 0x12
sub rsp, 8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov dword [rsp], 0
mov dword [rsp + 0x20], 0x5fa21809
mov dword [rsp + 0x24], 0x71ad9fe1
mov dword [rsp + 0x28], 0x152f9a03
mov dword [rsp + 0x2c], 0x52b451a3
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x58]
xor edx, edx
mov eax, ecx
mov ecx, 8
div rcx
mov rax, rdx
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
xor edx, edx
mov ecx, 4
div rcx
mov dword [rsp], eax
cmp dword [rsp], 0
jl 0x1403a0ee7
mov dword [rsp + 0x14], 0x9e3779b9
mov dword [rsp + 0x10], 0x20
imul eax, dword [rsp + 0x14], 0x20
mov dword [rsp + 0xc], eax
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 4], eax
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x10]
dec eax
mov dword [rsp + 0x10], eax
cmp dword [rsp + 0x18], 0
je 0x1403a0eb6
mov eax, dword [rsp + 4]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 2
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 4]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 4]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 3
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 8]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 0
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 8]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 1
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 4]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x14]
mov ecx, dword [rsp + 0xc]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
jmp 0x1403a0dfc
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 4]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 8]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
sub eax, 2
mov dword [rsp], eax
jmp 0x1403a0db6
add rsp, 0x48
add rsp, 8
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], 0x12
mov word [rsp + 0x22], 0x14
mov dword [rsp + 0x24], 0
xor rcx, rcx
xor rdx, rdx
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x20]
mov rax, qword [rsp + 0x30]
call rax
mov dword [rsp + 0x40], 0x495574f5
mov dword [rsp + 0x44], 0x15bfb0b6
mov dword [rsp + 0x48], 0x51249412
mov dword [rsp + 0x4c], 0xb13592cb
mov dword [rsp + 0x50], 0x5e01c8b6
mov dword [rsp + 0x54], 0x23418101
lea rcx, [rsp + 0x40]
mov edx, 0x14
sub rsp, 8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov dword [rsp], 0
mov dword [rsp + 0x20], 0x5fa21809
mov dword [rsp + 0x24], 0x71ad9fe1
mov dword [rsp + 0x28], 0x152f9a03
mov dword [rsp + 0x2c], 0x52b451a3
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x58]
xor edx, edx
mov eax, ecx
mov ecx, 8
div rcx
mov rax, rdx
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
xor edx, edx
mov ecx, 4
div rcx
mov dword [rsp], eax
cmp dword [rsp], 0
jl 0x1403a10fd
mov dword [rsp + 0x14], 0x9e3779b9
mov dword [rsp + 0x10], 0x20
imul eax, dword [rsp + 0x14], 0x20
mov dword [rsp + 0xc], eax
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 4], eax
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x10]
dec eax
mov dword [rsp + 0x10], eax
cmp dword [rsp + 0x18], 0
je 0x1403a10cc
mov eax, dword [rsp + 4]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 2
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 4]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 4]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 3
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 8]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 0
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 8]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 1
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 4]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x14]
mov ecx, dword [rsp + 0xc]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
jmp 0x1403a1012
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 4]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 8]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
sub eax, 2
mov dword [rsp], eax
jmp 0x1403a0fcc
add rsp, 0x48
add rsp, 8
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], 0x14
mov word [rsp + 0x22], 0x16
mov dword [rsp + 0x24], 0
xor rcx, rcx
xor rdx, rdx
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x20]
mov rax, qword [rsp + 0x30]
call rax
mov dword [rsp + 0x40], 0x2068a4f9
mov dword [rsp + 0x44], 0x8c32c836
mov dword [rsp + 0x48], 0xb00fb722
mov dword [rsp + 0x4c], 0xb2061d0e
mov dword [rsp + 0x50], 0xf42d4cdc
mov dword [rsp + 0x54], 0xfd2f15e3
mov dword [rsp + 0x58], 0x8f410eea
mov dword [rsp + 0x5c], 0xdfd889bf
lea rcx, [rsp + 0x40]
mov edx, 0x18
sub rsp, 8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov dword [rsp], 0
mov dword [rsp + 0x20], 0x5fa21809
mov dword [rsp + 0x24], 0x71ad9fe1
mov dword [rsp + 0x28], 0x152f9a03
mov dword [rsp + 0x2c], 0x52b451a3
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x58]
xor edx, edx
mov eax, ecx
mov ecx, 8
div rcx
mov rax, rdx
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
xor edx, edx
mov ecx, 4
div rcx
mov dword [rsp], eax
cmp dword [rsp], 0
jl 0x1403a1323
mov dword [rsp + 0x14], 0x9e3779b9
mov dword [rsp + 0x10], 0x20
imul eax, dword [rsp + 0x14], 0x20
mov dword [rsp + 0xc], eax
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 4], eax
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x10]
dec eax
mov dword [rsp + 0x10], eax
cmp dword [rsp + 0x18], 0
je 0x1403a12f2
mov eax, dword [rsp + 4]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 2
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 4]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 4]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 3
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 8]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 0
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 8]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 1
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 4]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x14]
mov ecx, dword [rsp + 0xc]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
jmp 0x1403a1238
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 4]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 8]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
sub eax, 2
mov dword [rsp], eax
jmp 0x1403a11f2
add rsp, 0x48
add rsp, 8
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], 0x18
mov word [rsp + 0x22], 0x1a
mov dword [rsp + 0x24], 0
xor rcx, rcx
xor rdx, rdx
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x20]
mov rax, qword [rsp + 0x30]
call rax
mov dword [rsp + 0x40], 0xe5fbc741
mov dword [rsp + 0x44], 0x5fe5639a
mov dword [rsp + 0x48], 0x684b5f0b
mov dword [rsp + 0x4c], 0x56e0e9e4
mov dword [rsp + 0x50], 0x9861cae1
mov dword [rsp + 0x54], 0x87830e25
mov dword [rsp + 0x58], 0x4e9020a7
mov dword [rsp + 0x5c], 0x3fa7b99
mov dword [rsp + 0x60], 0xd1a89702
mov dword [rsp + 0x64], 0x4f5fb29
mov dword [rsp + 0x68], 0x4b28c10e
mov dword [rsp + 0x6c], 0x1d5ffbac
mov dword [rsp + 0x70], 0x735bd7c9
mov dword [rsp + 0x74], 0x2c3a9597
mov dword [rsp + 0x78], 0x5e01c8b6
mov dword [rsp + 0x7c], 0x23418101
lea rcx, [rsp + 0x40]
mov edx, 0x3c
sub rsp, 8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov dword [rsp], 0
mov dword [rsp + 0x20], 0x5fa21809
mov dword [rsp + 0x24], 0x71ad9fe1
mov dword [rsp + 0x28], 0x152f9a03
mov dword [rsp + 0x2c], 0x52b451a3
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x58]
xor edx, edx
mov eax, ecx
mov ecx, 8
div rcx
mov rax, rdx
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
xor edx, edx
mov ecx, 4
div rcx
mov dword [rsp], eax
cmp dword [rsp], 0
jl 0x1403a1589
mov dword [rsp + 0x14], 0x9e3779b9
mov dword [rsp + 0x10], 0x20
imul eax, dword [rsp + 0x14], 0x20
mov dword [rsp + 0xc], eax
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 4], eax
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x10]
dec eax
mov dword [rsp + 0x10], eax
cmp dword [rsp + 0x18], 0
je 0x1403a1558
mov eax, dword [rsp + 4]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 2
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 4]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 4]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 3
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 8]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 0
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 8]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 1
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 4]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x14]
mov ecx, dword [rsp + 0xc]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
jmp 0x1403a149e
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 4]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 8]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
sub eax, 2
mov dword [rsp], eax
jmp 0x1403a1458
add rsp, 0x48
add rsp, 8
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], 0x3c
mov word [rsp + 0x22], 0x3e
mov dword [rsp + 0x24], 0
xor rcx, rcx
xor rdx, rdx
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x20]
mov rax, qword [rsp + 0x30]
call rax
mov dword [rsp + 0x40], 0x1eb2f6aa
mov dword [rsp + 0x44], 0x4c4fdfef
mov dword [rsp + 0x48], 0xf84f894c
mov dword [rsp + 0x4c], 0x421b389d
mov dword [rsp + 0x50], 0xf42d4cdc
mov dword [rsp + 0x54], 0xfd2f15e3
mov dword [rsp + 0x58], 0x8f410eea
mov dword [rsp + 0x5c], 0xdfd889bf
lea rcx, [rsp + 0x40]
mov edx, 0x18
sub rsp, 8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov dword [rsp], 0
mov dword [rsp + 0x20], 0x5fa21809
mov dword [rsp + 0x24], 0x71ad9fe1
mov dword [rsp + 0x28], 0x152f9a03
mov dword [rsp + 0x2c], 0x52b451a3
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x58]
xor edx, edx
mov eax, ecx
mov ecx, 8
div rcx
mov rax, rdx
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
xor edx, edx
mov ecx, 4
div rcx
mov dword [rsp], eax
cmp dword [rsp], 0
jl 0x1403a17af
mov dword [rsp + 0x14], 0x9e3779b9
mov dword [rsp + 0x10], 0x20
imul eax, dword [rsp + 0x14], 0x20
mov dword [rsp + 0xc], eax
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 4], eax
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x10]
dec eax
mov dword [rsp + 0x10], eax
cmp dword [rsp + 0x18], 0
je 0x1403a177e
mov eax, dword [rsp + 4]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 2
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 4]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 4]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 3
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 8]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 0
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 8]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 1
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 4]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x14]
mov ecx, dword [rsp + 0xc]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
jmp 0x1403a16c4
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 4]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 8]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
sub eax, 2
mov dword [rsp], eax
jmp 0x1403a167e
add rsp, 0x48
add rsp, 8
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], 0x18
mov word [rsp + 0x22], 0x1a
mov dword [rsp + 0x24], 0
xor rcx, rcx
xor rdx, rdx
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x20]
mov rax, qword [rsp + 0x30]
call rax
mov dword [rsp + 0x40], 0x914cdccf
mov dword [rsp + 0x44], 0x5b867053
mov dword [rsp + 0x48], 0x1eea304e
mov dword [rsp + 0x4c], 0xa36459e1
mov dword [rsp + 0x50], 0x3a75e473
mov dword [rsp + 0x54], 0xa326b38e
lea rcx, [rsp + 0x40]
mov edx, 0x16
sub rsp, 8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov dword [rsp], 0
mov dword [rsp + 0x20], 0x5fa21809
mov dword [rsp + 0x24], 0x71ad9fe1
mov dword [rsp + 0x28], 0x152f9a03
mov dword [rsp + 0x2c], 0x52b451a3
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x58]
xor edx, edx
mov eax, ecx
mov ecx, 8
div rcx
mov rax, rdx
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
xor edx, edx
mov ecx, 4
div rcx
mov dword [rsp], eax
cmp dword [rsp], 0
jl 0x1403a19c5
mov dword [rsp + 0x14], 0x9e3779b9
mov dword [rsp + 0x10], 0x20
imul eax, dword [rsp + 0x14], 0x20
mov dword [rsp + 0xc], eax
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 4], eax
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x10]
dec eax
mov dword [rsp + 0x10], eax
cmp dword [rsp + 0x18], 0
je 0x1403a1994
mov eax, dword [rsp + 4]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 2
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 4]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 4]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 3
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 8]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 0
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 8]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 1
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 4]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x14]
mov ecx, dword [rsp + 0xc]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
jmp 0x1403a18da
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 4]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 8]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
sub eax, 2
mov dword [rsp], eax
jmp 0x1403a1894
add rsp, 0x48
add rsp, 8
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], 0x16
mov word [rsp + 0x22], 0x18
mov dword [rsp + 0x24], 0
xor rcx, rcx
xor rdx, rdx
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x20]
mov rax, qword [rsp + 0x30]
call rax
mov dword [rsp + 0x40], 0x2ea9af8
mov dword [rsp + 0x44], 0xc7eabe59
mov dword [rsp + 0x48], 0x51249412
mov dword [rsp + 0x4c], 0xb13592cb
mov dword [rsp + 0x50], 0x5e01c8b6
mov dword [rsp + 0x54], 0x23418101
lea rcx, [rsp + 0x40]
mov edx, 0x14
sub rsp, 8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov dword [rsp], 0
mov dword [rsp + 0x20], 0x5fa21809
mov dword [rsp + 0x24], 0x71ad9fe1
mov dword [rsp + 0x28], 0x152f9a03
mov dword [rsp + 0x2c], 0x52b451a3
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x58]
xor edx, edx
mov eax, ecx
mov ecx, 8
div rcx
mov rax, rdx
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
xor edx, edx
mov ecx, 4
div rcx
mov dword [rsp], eax
cmp dword [rsp], 0
jl 0x1403a1bdb
mov dword [rsp + 0x14], 0x9e3779b9
mov dword [rsp + 0x10], 0x20
imul eax, dword [rsp + 0x14], 0x20
mov dword [rsp + 0xc], eax
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 4], eax
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x10]
dec eax
mov dword [rsp + 0x10], eax
cmp dword [rsp + 0x18], 0
je 0x1403a1baa
mov eax, dword [rsp + 4]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 2
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 4]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 4]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 3
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 8]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 0
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 8]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 1
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 4]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x14]
mov ecx, dword [rsp + 0xc]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
jmp 0x1403a1af0
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 4]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 8]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
sub eax, 2
mov dword [rsp], eax
jmp 0x1403a1aaa
add rsp, 0x48
add rsp, 8
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], 0x14
mov word [rsp + 0x22], 0x16
mov dword [rsp + 0x24], 0
xor rcx, rcx
xor rdx, rdx
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x20]
mov rax, qword [rsp + 0x30]
call rax
mov dword [rsp + 0x40], 0x57bc956b
mov dword [rsp + 0x44], 0x443465f5
mov dword [rsp + 0x48], 0xc2603066
mov dword [rsp + 0x4c], 0x7662d186
mov dword [rsp + 0x50], 0xf42d4cdc
mov dword [rsp + 0x54], 0xfd2f15e3
mov dword [rsp + 0x58], 0x8f410eea
mov dword [rsp + 0x5c], 0xdfd889bf
lea rcx, [rsp + 0x40]
mov edx, 0x18
sub rsp, 8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov dword [rsp], 0
mov dword [rsp + 0x20], 0x5fa21809
mov dword [rsp + 0x24], 0x71ad9fe1
mov dword [rsp + 0x28], 0x152f9a03
mov dword [rsp + 0x2c], 0x52b451a3
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x58]
xor edx, edx
mov eax, ecx
mov ecx, 8
div rcx
mov rax, rdx
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
xor edx, edx
mov ecx, 4
div rcx
mov dword [rsp], eax
cmp dword [rsp], 0
jl 0x1403a1e01
mov dword [rsp + 0x14], 0x9e3779b9
mov dword [rsp + 0x10], 0x20
imul eax, dword [rsp + 0x14], 0x20
mov dword [rsp + 0xc], eax
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 4], eax
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x10]
dec eax
mov dword [rsp + 0x10], eax
cmp dword [rsp + 0x18], 0
je 0x1403a1dd0
mov eax, dword [rsp + 4]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 2
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 4]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 4]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 3
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 8]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 0
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 8]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 1
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 4]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x14]
mov ecx, dword [rsp + 0xc]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
jmp 0x1403a1d16
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 4]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 8]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
sub eax, 2
mov dword [rsp], eax
jmp 0x1403a1cd0
add rsp, 0x48
add rsp, 8
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], 0x18
mov word [rsp + 0x22], 0x1a
mov dword [rsp + 0x24], 0
xor rcx, rcx
xor rdx, rdx
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x20]
mov rax, qword [rsp + 0x30]
call rax
mov dword [rsp + 0x40], 0xb48e2453
mov dword [rsp + 0x44], 0x2b74b561
mov dword [rsp + 0x48], 0x42f00428
mov dword [rsp + 0x4c], 0xcde5c35e
mov dword [rsp + 0x50], 0x5e01c8b6
mov dword [rsp + 0x54], 0x23418101
lea rcx, [rsp + 0x40]
mov edx, 0x14
sub rsp, 8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov dword [rsp], 0
mov dword [rsp + 0x20], 0x5fa21809
mov dword [rsp + 0x24], 0x71ad9fe1
mov dword [rsp + 0x28], 0x152f9a03
mov dword [rsp + 0x2c], 0x52b451a3
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x58]
xor edx, edx
mov eax, ecx
mov ecx, 8
div rcx
mov rax, rdx
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
xor edx, edx
mov ecx, 4
div rcx
mov dword [rsp], eax
cmp dword [rsp], 0
jl 0x1403a2017
mov dword [rsp + 0x14], 0x9e3779b9
mov dword [rsp + 0x10], 0x20
imul eax, dword [rsp + 0x14], 0x20
mov dword [rsp + 0xc], eax
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 4], eax
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x10]
dec eax
mov dword [rsp + 0x10], eax
cmp dword [rsp + 0x18], 0
je 0x1403a1fe6
mov eax, dword [rsp + 4]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 2
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 4]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 4]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 3
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 8]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 0
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 8]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 1
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 4]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x14]
mov ecx, dword [rsp + 0xc]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
jmp 0x1403a1f2c
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 4]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 8]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
sub eax, 2
mov dword [rsp], eax
jmp 0x1403a1ee6
add rsp, 0x48
add rsp, 8
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], 0x14
mov word [rsp + 0x22], 0x16
mov dword [rsp + 0x24], 0
xor rcx, rcx
xor rdx, rdx
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x20]
mov rax, qword [rsp + 0x30]
call rax
mov dword [rsp + 0x40], 0xda6d326a
mov dword [rsp + 0x44], 0x15816084
mov dword [rsp + 0x48], 0x483ad625
mov dword [rsp + 0x4c], 0xa63b4e6a
mov dword [rsp + 0x50], 0xf28270f2
mov dword [rsp + 0x54], 0x5bb85262
mov dword [rsp + 0x58], 0x8f410eea
mov dword [rsp + 0x5c], 0xdfd889bf
lea rcx, [rsp + 0x40]
mov edx, 0x18
sub rsp, 8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov dword [rsp], 0
mov dword [rsp + 0x20], 0x5fa21809
mov dword [rsp + 0x24], 0x71ad9fe1
mov dword [rsp + 0x28], 0x152f9a03
mov dword [rsp + 0x2c], 0x52b451a3
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x58]
xor edx, edx
mov eax, ecx
mov ecx, 8
div rcx
mov rax, rdx
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
xor edx, edx
mov ecx, 4
div rcx
mov dword [rsp], eax
cmp dword [rsp], 0
jl 0x1403a223d
mov dword [rsp + 0x14], 0x9e3779b9
mov dword [rsp + 0x10], 0x20
imul eax, dword [rsp + 0x14], 0x20
mov dword [rsp + 0xc], eax
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 4], eax
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x10]
dec eax
mov dword [rsp + 0x10], eax
cmp dword [rsp + 0x18], 0
je 0x1403a220c
mov eax, dword [rsp + 4]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 2
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 4]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 4]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 3
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 8]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 0
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 8]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 1
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 4]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x14]
mov ecx, dword [rsp + 0xc]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
jmp 0x1403a2152
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 4]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 8]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
sub eax, 2
mov dword [rsp], eax
jmp 0x1403a210c
add rsp, 0x48
add rsp, 8
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], 0x18
mov word [rsp + 0x22], 0x1a
mov dword [rsp + 0x24], 0
xor rcx, rcx
xor rdx, rdx
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x20]
mov rax, qword [rsp + 0x30]
call rax
mov dword [rsp + 0x40], 0xde5bdf23
mov dword [rsp + 0x44], 0xb6ef5cfc
mov dword [rsp + 0x48], 0x8d4d3d33
mov dword [rsp + 0x4c], 0x3fd6cf4c
mov dword [rsp + 0x50], 0xf28270f2
mov dword [rsp + 0x54], 0x5bb85262
mov dword [rsp + 0x58], 0x8f410eea
mov dword [rsp + 0x5c], 0xdfd889bf
lea rcx, [rsp + 0x40]
mov edx, 0x18
sub rsp, 8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov dword [rsp], 0
mov dword [rsp + 0x20], 0x5fa21809
mov dword [rsp + 0x24], 0x71ad9fe1
mov dword [rsp + 0x28], 0x152f9a03
mov dword [rsp + 0x2c], 0x52b451a3
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x58]
xor edx, edx
mov eax, ecx
mov ecx, 8
div rcx
mov rax, rdx
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
xor edx, edx
mov ecx, 4
div rcx
mov dword [rsp], eax
cmp dword [rsp], 0
jl 0x1403a2463
mov dword [rsp + 0x14], 0x9e3779b9
mov dword [rsp + 0x10], 0x20
imul eax, dword [rsp + 0x14], 0x20
mov dword [rsp + 0xc], eax
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 4], eax
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x10]
dec eax
mov dword [rsp + 0x10], eax
cmp dword [rsp + 0x18], 0
je 0x1403a2432
mov eax, dword [rsp + 4]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 2
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 4]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 4]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 3
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 8]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 0
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 8]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 1
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 4]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x14]
mov ecx, dword [rsp + 0xc]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
jmp 0x1403a2378
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 4]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 8]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
sub eax, 2
mov dword [rsp], eax
jmp 0x1403a2332
add rsp, 0x48
add rsp, 8
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], 0x18
mov word [rsp + 0x22], 0x1a
mov dword [rsp + 0x24], 0
xor rcx, rcx
xor rdx, rdx
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x20]
mov rax, qword [rsp + 0x30]
call rax
mov dword [rsp + 0x40], 0x999cd4bd
mov dword [rsp + 0x44], 0xac63b2c6
mov dword [rsp + 0x48], 0x2865bfe1
mov dword [rsp + 0x4c], 0xd117e409
mov dword [rsp + 0x50], 0xa64f7b08
mov dword [rsp + 0x54], 0x2326b590
mov dword [rsp + 0x58], 0xf42d4cdc
mov dword [rsp + 0x5c], 0xfd2f15e3
mov dword [rsp + 0x60], 0x8f410eea
mov dword [rsp + 0x64], 0xdfd889bf
lea rcx, [rsp + 0x40]
mov edx, 0x20
sub rsp, 8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov dword [rsp], 0
mov dword [rsp + 0x20], 0x5fa21809
mov dword [rsp + 0x24], 0x71ad9fe1
mov dword [rsp + 0x28], 0x152f9a03
mov dword [rsp + 0x2c], 0x52b451a3
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x58]
xor edx, edx
mov eax, ecx
mov ecx, 8
div rcx
mov rax, rdx
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
xor edx, edx
mov ecx, 4
div rcx
mov dword [rsp], eax
cmp dword [rsp], 0
jl 0x1403a2699
mov dword [rsp + 0x14], 0x9e3779b9
mov dword [rsp + 0x10], 0x20
imul eax, dword [rsp + 0x14], 0x20
mov dword [rsp + 0xc], eax
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 4], eax
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x10]
dec eax
mov dword [rsp + 0x10], eax
cmp dword [rsp + 0x18], 0
je 0x1403a2668
mov eax, dword [rsp + 4]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 2
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 4]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 4]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 3
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 8]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 0
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 8]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 1
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 4]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x14]
mov ecx, dword [rsp + 0xc]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
jmp 0x1403a25ae
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 4]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 8]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
sub eax, 2
mov dword [rsp], eax
jmp 0x1403a2568
add rsp, 0x48
add rsp, 8
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], 0x20
mov word [rsp + 0x22], 0x22
mov dword [rsp + 0x24], 0
xor rcx, rcx
xor rdx, rdx
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x20]
mov rax, qword [rsp + 0x30]
call rax
mov dword [rsp + 0x40], 0xd54e5b57
mov dword [rsp + 0x44], 0x2a693baf
mov dword [rsp + 0x48], 0xbbf5dcc6
mov dword [rsp + 0x4c], 0x813612d5
mov dword [rsp + 0x50], 0xf42d4cdc
mov dword [rsp + 0x54], 0xfd2f15e3
mov dword [rsp + 0x58], 0x8f410eea
mov dword [rsp + 0x5c], 0xdfd889bf
lea rcx, [rsp + 0x40]
mov edx, 0x18
sub rsp, 8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov dword [rsp], 0
mov dword [rsp + 0x20], 0x5fa21809
mov dword [rsp + 0x24], 0x71ad9fe1
mov dword [rsp + 0x28], 0x152f9a03
mov dword [rsp + 0x2c], 0x52b451a3
mov eax, dword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov ecx, dword [rsp + 0x58]
xor edx, edx
mov eax, ecx
mov ecx, 8
div rcx
mov rax, rdx
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
xor edx, edx
mov ecx, 4
div rcx
mov dword [rsp], eax
cmp dword [rsp], 0
jl 0x1403a28bf
mov dword [rsp + 0x14], 0x9e3779b9
mov dword [rsp + 0x10], 0x20
imul eax, dword [rsp + 0x14], 0x20
mov dword [rsp + 0xc], eax
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 4], eax
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x10]
dec eax
mov dword [rsp + 0x10], eax
cmp dword [rsp + 0x18], 0
je 0x1403a288e
mov eax, dword [rsp + 4]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 2
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 4]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 4]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 3
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 8]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 8], eax
mov eax, dword [rsp + 8]
shl eax, 4
mov ecx, 4
imul rcx, rcx, 0
add eax, dword [rsp + rcx + 0x20]
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 8]
add edx, ecx
mov ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 8]
shr ecx, 5
mov edx, 4
imul rdx, rdx, 1
add ecx, dword [rsp + rdx + 0x20]
xor eax, ecx
mov ecx, dword [rsp + 4]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x14]
mov ecx, dword [rsp + 0xc]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
jmp 0x1403a27d4
movsxd rax, dword [rsp]
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 4]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
inc eax
cdqe
mov rcx, qword [rsp + 0x50]
mov edx, dword [rsp + 8]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
sub eax, 2
mov dword [rsp], eax
jmp 0x1403a278e
add rsp, 0x48
add rsp, 8
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov word [rsp + 0x20], 0x18
mov word [rsp + 0x22], 0x1a
mov dword [rsp + 0x24], 0
xor rcx, rcx
xor rdx, rdx
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x20]
mov rax, qword [rsp + 0x30]
call rax
and rsp, 0xfffffffffffffff0
call fcn.1403a31b1