Function at 0x180047700
Capabilities:
Encode data using xor

Disassembly:
test r8d, r8d
je 0x18004887d
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rdi
push r13
push r15
lea rbp, [rax - 0x2c8]
sub rsp, 0x3a8
movsx r9d, byte [rdx]
xor edi, edi
mov qword [rax + 0x10], rbx
mov r15, rdx
mov ebx, dword [0x18039b468]
mov r13d, edi
mov qword [rax - 0x28], rsi
mov qword [rax - 0x30], r12
mov qword [rax - 0x38], r14
lea eax, [r8 - 1]
mov r8d, eax
mov byte [rax + rdx], dil
mov eax, 0xffffffff
mov dword [rsp + 0x20], edi
mov esi, 4
cmp r9d, 1
je 0x180047773
cmp r9d, eax
jne 0x180048850
jmp 0x1800479e7
mov rax, qword gs:[0x58]
movabs r12, 0x2aaaaaaaaaaaaaab
mov ecx, esi
mov rsi, qword [rax + rbx*8]
add rsi, rcx
xor ebx, ebx
mov r14d, ebx
mov eax, dword [rsi]
cmp dword [0x18039d508], eax
jle 0x1800477e9
lea rcx, [0x18039d508]
call fcn.180360f8c
cmp dword [0x18039d508], 0xffffffff
jne 0x1800477e9
xorps xmm0, xmm0
mov qword [0x1803a1a38], rbx
lea rcx, [0x1803a1a40]
movdqu xmmword [0x1803a1a28], xmm0
call fcn.180001990
lea rcx, [0x18037d310]
call fcn.1803614c4
lea rcx, [0x18039d508]
call fcn.180360f2c
lea rdx, [0x1803a1a40]
lea rcx, [rbp + 0x20]
call fcn.180001c30
mov rcx, qword [0x1803a1a30]
mov rax, r12
sub rcx, qword [0x1803a1a28]
imul rcx
mov rcx, qword [rbp + 0x20]
mov rbx, rdx
sar rbx, 3
mov rax, rbx
shr rax, 0x3f
add rbx, rax
call fcn.180001ae0
cmp rdi, rbx
jae 0x1800479da
mov eax, dword [rsi]
cmp dword [0x18039d508], eax
jle 0x180047889
lea rcx, [0x18039d508]
call fcn.180360f8c
xor ebx, ebx
cmp dword [0x18039d508], 0xffffffff
jne 0x18004788b
xorps xmm0, xmm0
mov qword [0x1803a1a38], rbx
lea rcx, [0x1803a1a40]
movdqu xmmword [0x1803a1a28], xmm0
call fcn.180001990
lea rcx, [0x18037d310]
call fcn.1803614c4
lea rcx, [0x18039d508]
call fcn.180360f2c
jmp 0x18004788b
xor ebx, ebx
lea rdx, [0x1803a1a40]
lea rcx, [rbp - 0x50]
call fcn.180001c30
mov rcx, qword [0x1803a1a30]
mov rax, r12
mov r8, qword [0x1803a1a28]
sub rcx, r8
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdi, rdx
jae 0x1800478f8
lea rbx, [r14 + r8]
mov rdx, rbx
lea rcx, [rbp - 0x48]
call fcn.1803520c0
movzx eax, word [rbx + 0x20]
mov rcx, qword [rbp - 0x50]
mov word [rbp - 0x28], ax
mov eax, dword [rbx + 0x24]
mov dword [rbp - 0x24], eax
mov rax, qword [rbx + 0x28]
mov qword [rbp - 0x20], rax
call fcn.180001ae0
xor ebx, ebx
jmp 0x18004791c
mov rcx, qword [rbp - 0x50]
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], r13b
mov word [rbp - 0x28], bx
mov dword [rbp - 0x24], ebx
mov qword [rbp - 0x20], rbx
call fcn.180001ae0
cmp qword [rbp - 0x20], r13
jne 0x1800479c5
mov eax, dword [rsi]
cmp dword [0x18039d508], eax
mov qword [rbp - 0x20], 1
jle 0x180047983
lea rcx, [0x18039d508]
call fcn.180360f8c
cmp dword [0x18039d508], 0xffffffff
jne 0x180047983
xorps xmm0, xmm0
mov qword [0x1803a1a38], rbx
lea rcx, [0x1803a1a40]
movdqu xmmword [0x1803a1a28], xmm0
call fcn.180001990
lea rcx, [0x18037d310]
call fcn.1803614c4
lea rcx, [0x18039d508]
call fcn.180360f2c
lea rdx, [rbp - 0x48]
lea rcx, [rbp + 0x198]
call fcn.1803520c0
movzx eax, word [rbp - 0x28]
lea rdx, [rbp + 0x198]
mov word [rbp + 0x1b8], ax
lea rcx, [0x1803a1a28]
mov eax, dword [rbp - 0x24]
mov dword [rbp + 0x1bc], eax
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x1c0], rax
call fcn.18000d490
lea rcx, [rbp - 0x48]
call fcn.180353810
inc rdi
add r14, 0x30
jmp 0x180047794
mov ebx, dword [0x18039b468]
xor edi, edi
mov esi, 4
xor eax, eax
mov word [rbp + 0x2e8], 0xb4ca
mov byte [rbp + 0x2ea], al
inc r15
mov qword [rsp + 0x28], rdi
mov rax, qword [rsp + 0x28]
cmp rax, 1
jae 0x180047a48
nop dword [rax + rax]
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x28]
sub cl, 0x38
xor cl, byte [rbp + rax + 0x2e9]
mov rax, qword [rsp + 0x28]
mov byte [rbp + rax + 0x2e9], cl
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp rax, 1
jb 0x180047a10
mov byte [rbp + 0x2ea], r13b
mov r14, 0xffffffffffffffff
test r15, r15
jne 0x180047a6b
mov r15, qword [rbp + 0x2e8]
test r15, r15
je 0x1800481f0
mov r9, rdi
movzx r11d, byte [rbp + 0x2e9]
cmp byte [r15], r13b
je 0x180047ab8
nop dword [rax + rax]
lea rcx, [rbp + 0x2e9]
test r11b, r11b
je 0x180047ab8
movzx r8d, byte [r9 + r15]
movzx eax, r11b
movzx edx, al
cmp r8b, al
je 0x180047aab
movzx eax, byte [rcx + 1]
inc rcx
movzx edx, al
test al, al
jne 0x180047a95
test dl, dl
je 0x180047ab8
inc r9
cmp byte [r9 + r15], r13b
jne 0x180047a80
add r15, r9
movzx r8d, byte [r15]
test r8b, r8b
je 0x1800481f0
mov r9, r15
mov r10, rdi
nop
lea rdx, [rbp + 0x2e9]
movzx ecx, r11b
cmp r11b, r8b
je 0x180047af9
movzx eax, cl
movzx ecx, al
test al, al
je 0x180047af9
movzx ecx, byte [rdx + 1]
inc rdx
movzx eax, cl
cmp cl, r8b
jne 0x180047ae3
test cl, cl
mov rax, rdi
cmovne rax, rdx
inc r9
test rax, rax
jne 0x180047b16
movzx r8d, byte [r9]
inc r10
test r8b, r8b
jne 0x180047ad0
cmp byte [r10 + r15], r13b
lea r12, [r10 + r15]
je 0x180047b29
mov byte [r12], r13b
inc r12
jmp 0x180047b2c
mov r12, rdi
mov rax, qword gs:[0x58]
mov edx, ebx
mov ecx, esi
mov rax, qword [rax + rdx*8]
add rax, rcx
mov qword [rsp + 0x38], rax
mov eax, dword [rax]
cmp dword [0x18039d508], eax
jle 0x180047b9a
lea rcx, [0x18039d508]
call fcn.180360f8c
cmp dword [0x18039d508], 0xffffffff
jne 0x180047b9a
xorps xmm0, xmm0
mov qword [0x1803a1a38], rdi
lea rcx, [0x1803a1a40]
movdqu xmmword [0x1803a1a28], xmm0
call fcn.180001990
lea rcx, [0x18037d310]
call fcn.1803614c4
lea rcx, [0x18039d508]
call fcn.180360f2c
mov qword [rsp + 0x70], rdi
mov r8, r14
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
inc r8
cmp byte [r15 + r8], 0
jne 0x180047bb0
mov rdx, r15
lea rcx, [rsp + 0x60]
call fcn.180353890
lea rdx, [0x1803a1a40]
lea rcx, [rbp + 0x28]
call fcn.180001c30
mov r15, qword [rsp + 0x78]
mov r14, qword [rsp + 0x60]
cmp r15, 0x10
mov rsi, qword [rsp + 0x70]
mov qword [rbp - 0x70], rdi
mov word [rbp - 0x60], di
mov dword [rbp - 0x5c], edi
mov qword [rbp - 0x58], rdi
lea rdi, [rsp + 0x60]
cmovae rdi, r14
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
test rsi, rsi
je 0x180047c30
mov r8, rsi
mov edx, 0x3a
mov rcx, rdi
call fcn.1803630a0
mov rbx, rax
test rax, rax
je 0x180047c30
sub rbx, rdi
jmp 0x180047c37
mov rbx, 0xffffffffffffffff
lea rdx, [rsp + 0x60]
cmp rbx, 0xffffffffffffffff
jne 0x180047cd5
mov esi, dword [rsp + 0x20]
lea rcx, [rbp + 0x228]
or esi, 1
call fcn.1803520c0
mov rdi, rax
lea rax, [rbp - 0x80]
cmp rax, rdi
jne 0x180047d2e
xor r15d, r15d
test sil, 2
je 0x180047c81
and esi, 0xfffffffd
lea rcx, [rbp + 0xa0]
call fcn.180353810
test sil, 1
je 0x180047c96
and esi, 0xfffffffe
lea rcx, [rbp + 0x228]
call fcn.180353810
cmp rbx, 0xffffffffffffffff
jne 0x180047d60
mov qword [rbp + 0x108], r15
lea rdi, [rbp + 0xf8]
mov qword [rbp + 0x110], 0xf
lea rdx, [0x18038e6da]
mov byte [rbp + 0xf8], 0
lea eax, [rbx + 5]
mov r8, r15
mov r14, rbx
jmp 0x180047dcc
xor eax, eax
mov qword [rbp + 0xb8], 0xf
or r13d, 2
mov qword [rbp + 0xb0], rax
cmp rsi, rbx
mov dword [rsp + 0x20], r13d
mov r8, rbx
mov byte [rbp + 0xa0], al
cmovb r8, rsi
mov qword [rbp + 0x188], rbx
cmp r15, 0x10
mov qword [rbp + 0x180], rsi
lea rcx, [rbp + 0xa0]
cmovae rdx, r14
call fcn.180353890
lea rdi, [rbp + 0xa0]
mov esi, r13d
lea rcx, [rbp - 0x80]
call fcn.180353810
mov r8d, 0x20
lea rcx, [rbp - 0x80]
mov rdx, rdi
call fcn.180362260
xor r15d, r15d
mov qword [rdi + 0x18], 0xf
mov qword [rdi + 0x10], r15
mov byte [rdi], r15b
jmp 0x180047c6c
mov rax, qword [rsp + 0x70]
inc rbx
mov qword [rbp + 0xe8], r15
mov qword [rbp + 0xf0], 0xf
mov byte [rbp + 0xd8], 0
cmp rax, rbx
jb 0x180048884
sub rax, rbx
lea rdx, [rsp + 0x60]
mov r14, 0xffffffffffffffff
mov qword [rbp + 0x170], rax
cmp rax, r14
mov qword [rbp + 0x178], r14
mov r8, r14
lea rdi, [rbp + 0xd8]
cmovb r8, rax
cmp qword [rsp + 0x78], 0x10
mov eax, 8
cmovae rdx, qword [rsp + 0x60]
add rdx, rbx
or esi, eax
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.180353890
mov r8d, 0x20
mov qword [rbp + 0x70], r15
mov rdx, rdi
mov qword [rbp + 0x78], r15
lea rcx, [rbp + 0x60]
call fcn.180362260
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
test sil, 8
je 0x180047e1c
and esi, 0xfffffff7
lea rcx, [rbp + 0xd8]
mov dword [rsp + 0x20], esi
call fcn.180353810
test sil, 4
je 0x180047e35
and esi, 0xfffffffb
lea rcx, [rbp + 0xf8]
mov dword [rsp + 0x20], esi
call fcn.180353810
mov dword [rsp + 0x28], 0x71
mov dword [rsp + 0x34], 0x38f
mov ecx, dword [rsp + 0x34]
mov eax, dword [rsp + 0x28]
add ecx, eax
mov dword [rsp + 0x28], ecx
mov eax, dword [rsp + 0x28]
cmp qword [rbp + 0x70], 0
mov word [rbp - 0x60], ax
jbe 0x180047ef7
cmp qword [rbp + 0x78], 0x10
lea r8, [rbp + 0x60]
cmovae r8, qword [rbp + 0x60]
xor edi, edi
mov ecx, edi
movzx edx, byte [r8]
test dl, dl
je 0x180047ea8
movzx eax, dl
cmp al, 0x39
jg 0x180047e8e
movzx edx, al
cmp al, 0x30
jge 0x180047ea8
movzx edx, al
cmp al, 0x2d
je 0x180047ea8
cmp al, 0x2b
je 0x180047ea8
movzx edx, byte [r8 + 1]
inc r8
movzx eax, dl
test dl, dl
jne 0x180047e83
cmp dl, 0x2d
je 0x180047eb6
movzx r9d, dl
cmp dl, 0x2b
jne 0x180047ebe
movzx r9d, byte [r8 + 1]
inc r8
test r9b, r9b
je 0x180047ee4
lea eax, [r9 - 0x30]
cmp al, 9
ja 0x180047ee4
inc r8
movsx eax, r9b
lea ecx, [rcx + rcx*4]
lea ecx, [rcx - 0x18]
movzx r9d, byte [r8]
lea ecx, [rax + rcx*2]
test r9b, r9b
jne 0x180047ec3
movzx eax, cx
neg ax
cmp dl, 0x2d
cmovne ax, cx
mov word [rbp - 0x60], ax
jmp 0x180047ef9
xor edi, edi
cmp qword [rbp - 0x68], 0x10
lea r10, [rbp - 0x80]
lea r11, [rsp + 0x30]
cmovae r10, qword [rbp - 0x80]
movzx eax, byte [r10]
lea ecx, [rax - 0x30]
cmp cl, 9
ja 0x1800480ff
mov r8d, edi
mov r9d, 0xa
mov edx, edi
cmp al, 0x30
jne 0x180047f52
movzx eax, byte [r10 + 1]
inc r10
lea ecx, [rax - 0x58]
test cl, 0xdf
je 0x180047f45
lea edx, [r9 - 9]
lea r9d, [rdx + 7]
jmp 0x180047f52
mov r9d, 0x10
inc r10
movzx eax, byte [r10]
lea ecx, [rax - 0x30]
cmp cl, 9
ja 0x180047f88
cmp r9d, 8
jne 0x180047f6c
lea ecx, [rax - 0x38]
cmp cl, 1
jbe 0x1800480ff
mov edx, r9d
imul edx, r8d
movsx r8d, al
add r8d, 0xffffffd0
add r8d, edx
mov edx, 1
inc r10
jmp 0x180047f4e
cmp r9d, 0x10
jne 0x180047fd8
lea ecx, [rax - 0x30]
cmp cl, 9
jbe 0x180047fa6
lea ecx, [rax - 0x61]
cmp cl, 5
jbe 0x180047fa6
lea ecx, [rax - 0x41]
cmp cl, 5
ja 0x180047fd8
lea ecx, [rax - 0x61]
mov edx, 0x41
cmp cl, 0x19
mov ecx, 0x61
cmovbe edx, ecx
movsx ecx, al
sub ecx, edx
mov eax, r8d
shl eax, 4
mov edx, 1
lea r8d, [rcx + 0xa]
or r8d, eax
inc r10
jmp 0x180047f4e
cmp al, 0x2e
jne 0x180048005
lea rax, [rsp + 0x33]
cmp r11, rax
jae 0x1800480ff
cmp r8d, 0xff
ja 0x1800480ff
mov byte [r11], r8b
inc r11
inc r10
jmp 0x180047f0c
cmp al, 0x20
ja 0x1800480ff
movabs rcx, 0x100003e01
bt rcx, rax
jae 0x1800480ff
test edx, edx
je 0x1800480ff
lea rax, [rsp + 0x30]
sub r11d, eax
inc r11d
sub r11d, 2
je 0x180048098
sub r11d, 1
je 0x180048074
cmp r11d, 1
jne 0x1800480ac
cmp r8d, 0xff
ja 0x1800480ff
movzx eax, byte [rsp + 0x31]
movzx ecx, byte [rsp + 0x30]
shl ecx, 8
or ecx, eax
movzx eax, byte [rsp + 0x32]
shl ecx, 8
or ecx, eax
shl ecx, 8
or r8d, ecx
jmp 0x1800480ac
cmp r8d, 0xffff
ja 0x1800480ff
movzx ecx, byte [rsp + 0x30]
movzx eax, byte [rsp + 0x31]
shl ecx, 8
or ecx, eax
shl ecx, 0x10
or r8d, ecx
jmp 0x1800480ac
cmp r8d, 0xffffff
ja 0x1800480ff
movzx eax, byte [rsp + 0x30]
shl eax, 0x18
or r8d, eax
bswap r8d
mov eax, 0xffffffff
mov dword [rbp + 0x18], r8d
cmp r8d, eax
je 0x1800480ff
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0x1c8]
call fcn.1803520c0
movzx eax, word [rbp - 0x60]
lea rdx, [rbp + 0x1c8]
mov word [rbp + 0x1e8], ax
lea rcx, [0x1803a1a28]
mov eax, dword [rbp - 0x5c]
mov dword [rbp + 0x1ec], eax
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0x1f0], rax
call fcn.18000c940
lea rcx, [rbp + 0x60]
call fcn.180353810
lea rcx, [rbp - 0x80]
call fcn.180353810
mov rcx, qword [rbp + 0x28]
call fcn.180001ae0
lea rcx, [rsp + 0x60]
call fcn.180353810
xor eax, eax
mov word [rsp + 0x24], 0xf5c6
mov byte [rsp + 0x26], al
mov qword [rsp + 0x28], rdi
mov rax, qword [rsp + 0x28]
cmp rax, 1
jae 0x180048173
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x28]
sub cl, 0x77
xor cl, byte [rsp + rax + 0x25]
mov rax, qword [rsp + 0x28]
mov byte [rsp + rax + 0x25], cl
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp rax, 1
jb 0x180048141
mov byte [rsp + 0x26], 0
test r12, r12
jne 0x180048182
mov r15, rdi
jmp 0x1800481dd
cmp byte [r12], 0
mov r9, rdi
movzx ebx, byte [rsp + 0x25]
je 0x1800481c6
lea rcx, [rsp + 0x25]
test bl, bl
je 0x1800481c6
movzx r8d, byte [r9 + r12]
movzx eax, bl
movzx edx, al
cmp r8b, al
je 0x1800481b8
movzx eax, byte [rcx + 1]
inc rcx
movzx edx, al
test al, al
jne 0x1800481a2
test dl, dl
je 0x1800481c6
inc r9
cmp byte [r9 + r12], 0
jne 0x180048191
movzx eax, byte [r9 + r12]
lea r15, [r9 + r12]
test al, al
jne 0x180048364
mov r15, rdi
mov r12, rdi
mov r13d, dword [rsp + 0x20]
mov rax, qword [rsp + 0x38]
test r15, r15
jne 0x180047b45
mov rbx, qword [rbp + 0x2d0]
mov r13d, edi
mov r12d, 0x40
mov rdx, qword [rbx + 0x38]
mov rax, qword [rdx + 0x78]
sub rax, qword [rdx + 0x70]
sar rax, 3
test eax, eax
je 0x180048719
mov ecx, dword [0x18039b468]
mov rax, qword gs:[0x58]
lea r8, [rax + rcx*8]
mov qword [rsp + 0x38], r8
mov rax, qword [rdx + 0x70]
mov ecx, r13d
mov rcx, qword [rax + rcx*8]
cmp dword [rcx + 0x9c], 1
jne 0x1800486f9
mov rax, qword [r8]
mov ecx, 4
mov ecx, dword [rcx + rax]
cmp dword [0x18039d508], ecx
jle 0x1800482a6
lea rcx, [0x18039d508]
call fcn.180360f8c
cmp dword [0x18039d508], 0xffffffff
jne 0x1800482a6
xorps xmm0, xmm0
mov qword [0x1803a1a38], rdi
lea rcx, [0x1803a1a40]
movdqu xmmword [0x1803a1a28], xmm0
call fcn.180001990
lea rcx, [0x18037d310]
call fcn.1803614c4
lea rcx, [0x18039d508]
call fcn.180360f2c
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp + 0x268]
mov r8d, r13d
call fcn.18004e0c0
cmp qword [rax + 0x18], 0x10
jb 0x1800482c3
mov rax, qword [rax]
mov qword [rsp + 0x50], rdi
mov r8, r14
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1800482e0
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.180353890
lea rdx, [0x1803a1a40]
lea rcx, [rbp + 0x30]
call fcn.180001c30
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x40]
cmp r15, 0x10
mov rsi, qword [rsp + 0x50]
mov qword [rbp - 8], rdi
mov word [rbp + 8], di
mov dword [rbp + 0xc], edi
mov qword [rbp + 0x10], rdi
lea rdi, [rsp + 0x40]
cmovae rdi, r14
mov qword [rbp], 0xf
mov byte [rbp - 0x18], 0
test rsi, rsi
je 0x1800483ca
mov r8, rsi
mov edx, 0x3a
mov rcx, rdi
call fcn.1803630a0
mov rbx, rax
test rax, rax
je 0x1800483ca
sub rbx, rdi
jmp 0x1800483d1
mov r9, r15
movsx r11d, bl
mov r10, rdi
nop
movsx r8d, al
lea rdx, [rsp + 0x25]
cmp r11d, r8d
je 0x180048391
movzx ecx, bl
test cl, cl
je 0x180048391
movsx ecx, byte [rdx + 1]
inc rdx
cmp ecx, r8d
jne 0x180048381
cmp byte [rdx], 0
mov rax, rdi
cmovne rax, rdx
inc r9
test rax, rax
jne 0x1800483ae
movzx eax, byte [r9]
inc r10
test al, al
jne 0x180048370
cmp byte [r10 + r15], 0
lea r12, [r10 + r15]
je 0x1800481da
mov byte [r12], 0
inc r12
jmp 0x1800481dd
mov rbx, 0xffffffffffffffff
lea rdx, [rsp + 0x40]
cmp rbx, 0xffffffffffffffff
jne 0x180048401
mov esi, dword [rsp + 0x20]
lea rcx, [rbp + 0x248]
or esi, 0x10
call fcn.1803520c0
mov rdi, rax
lea rax, [rbp - 0x18]
cmp rax, rdi
je 0x180048482
jmp 0x180048457
or dword [rsp + 0x20], 0x20
lea rcx, [rbp + 0x80]
xor eax, eax
mov qword [rbp + 0x98], 0xf
cmp rsi, rbx
mov qword [rbp + 0x90], rax
mov r8, rbx
mov byte [rbp + 0x80], al
cmovb r8, rsi
mov qword [rbp + 0x168], rbx
cmp r15, 0x10
mov qword [rbp + 0x160], rsi
cmovae rdx, r14
call fcn.180353890
mov esi, dword [rsp + 0x20]
lea rdi, [rbp + 0x80]
lea rcx, [rbp - 0x18]
call fcn.180353810
mov r8d, 0x20
lea rcx, [rbp - 0x18]
mov rdx, rdi
call fcn.180362260
xor eax, eax
mov qword [rdi + 0x18], 0xf
mov qword [rdi + 0x10], rax
mov byte [rdi], al
test sil, 0x20
je 0x180048497
and esi, 0xffffffdf
lea rcx, [rbp + 0x80]
call fcn.180353810
test sil, 0x10
je 0x1800484ac
and esi, 0xffffffef
lea rcx, [rbp + 0x248]
call fcn.180353810
xor edi, edi
cmp rbx, 0xffffffffffffffff
jne 0x1800484e3
mov qword [rbp + 0x148], rdi
lea rbx, [rbp + 0x138]
mov qword [rbp + 0x150], 0xf
lea rdx, [0x18038e6da]
mov byte [rbp + 0x138], dil
mov r8d, edi
mov eax, r12d
jmp 0x180048550
mov rax, qword [rsp + 0x50]
lea rcx, [rbx + 1]
mov qword [rbp + 0x128], rdi
mov qword [rbp + 0x130], 0xf
mov byte [rbp + 0x118], dil
cmp rax, rcx
jb 0x18004887e
sub rax, rcx
lea rbx, [rbp + 0x118]
mov rdx, 0xffffffffffffffff
mov qword [rbp + 0x190], rax
cmp rax, rdx
mov qword [rbp + 0x158], rdx
mov r8, rdx
lea rdx, [rsp + 0x40]
cmovb r8, rax
cmp qword [rsp + 0x58], 0x10
mov eax, 0x80
cmovae rdx, qword [rsp + 0x40]
add rdx, rcx
or esi, eax
mov rcx, rbx
mov dword [rsp + 0x20], esi
call fcn.180353890
mov r8d, 0x20
mov qword [rbp + 0x50], rdi
mov rdx, rbx
mov qword [rbp + 0x58], rdi
lea rcx, [rbp + 0x40]
call fcn.180362260
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
test sil, sil
jns 0x1800485a0
btr esi, 7
lea rcx, [rbp + 0x118]
mov dword [rsp + 0x20], esi
call fcn.180353810
test r12b, sil
je 0x1800485b8
and esi, 0xffffffbf
lea rcx, [rbp + 0x138]
mov dword [rsp + 0x20], esi
call fcn.180353810
mov dword [rsp + 0x34], 0x71
mov dword [rsp + 0x28], 0x38f
mov ecx, dword [rsp + 0x28]
mov eax, dword [rsp + 0x34]
add ecx, eax
mov dword [rsp + 0x28], ecx
mov eax, dword [rsp + 0x28]
cmp qword [rbp + 0x50], 0
mov word [rbp + 8], ax
jbe 0x180048676
cmp qword [rbp + 0x58], 0x10
lea r8, [rbp + 0x40]
mov ecx, edi
cmovae r8, qword [rbp + 0x40]
movzx edx, byte [r8]
test dl, dl
je 0x180048629
movzx eax, dl
cmp al, 0x39
jg 0x18004860f
movzx edx, al
cmp al, 0x30
jge 0x180048629
movzx edx, al
cmp al, 0x2d
je 0x180048629
cmp al, 0x2b
je 0x180048629
movzx edx, byte [r8 + 1]
inc r8
movzx eax, dl
test dl, dl
jne 0x180048604
cmp dl, 0x2d
je 0x180048637
movzx r9d, dl
cmp dl, 0x2b
jne 0x18004863f
movzx r9d, byte [r8 + 1]
inc r8
test r9b, r9b
je 0x180048665
lea eax, [r9 - 0x30]
cmp al, 9
ja 0x180048665
inc r8
movsx eax, r9b
lea ecx, [rcx + rcx*4]
lea ecx, [rcx - 0x18]
movzx r9d, byte [r8]
lea ecx, [rax + rcx*2]
test r9b, r9b
jne 0x180048644
movzx eax, cx
neg ax
cmp dl, 0x2d
cmovne ax, cx
mov word [rbp + 8], ax
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 0x1f8]
call fcn.1803520c0
movzx eax, word [rbp + 8]
lea rdx, [rbp + 0x1f8]
mov word [rbp + 0x218], ax
lea rcx, [0x1803a1a28]
mov eax, dword [rbp + 0xc]
mov dword [rbp + 0x21c], eax
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x220], rax
call fcn.18000c940
lea rcx, [rbp + 0x40]
call fcn.180353810
lea rcx, [rbp - 0x18]
call fcn.180353810
mov rcx, qword [rbp + 0x30]
call fcn.180001ae0
lea rcx, [rsp + 0x40]
call fcn.180353810
lea rcx, [rbp + 0x268]
call fcn.180353810
mov rbx, qword [rbp + 0x2d0]
mov r8, qword [rsp + 0x38]
mov rdx, qword [rbx + 0x38]
mov rcx, qword [rdx + 0x78]
inc r13d
sub rcx, qword [rdx + 0x70]
sar rcx, 3
cmp r13d, ecx
jae 0x180048719
mov r14, 0xffffffffffffffff
jmp 0x180048230
mov rax, qword gs:[0x58]
mov edx, dword [0x18039b468]
mov ecx, 4
mov rbx, qword [rax + rdx*8]
add rbx, rcx
mov eax, dword [rbx]
cmp dword [0x18039d508], eax
jle 0x180048789
lea rcx, [0x18039d508]
call fcn.180360f8c
cmp dword [0x18039d508], 0xffffffff
jne 0x180048789
xorps xmm0, xmm0
mov qword [0x1803a1a38], rdi
lea rcx, [0x1803a1a40]
movdqu xmmword [0x1803a1a28], xmm0
call fcn.180001990
lea rcx, [0x18037d310]
call fcn.1803614c4
lea rcx, [0x18039d508]
call fcn.180360f2c
lea rdx, [0x1803a1a40]
lea rcx, [rbp + 0x38]
call fcn.180001c30
lea rax, [rbp + 0x2e0]
mov ecx, 0xffffffff
mov qword [rbp + 0xc0], rax
mov rax, 0xffffffffffffffff
dec r12
shr rax, 1
cmp rax, rcx
ja 0x1800487b3
mov rdx, qword [0x1803a1a30]
lea r8, [rbp + 0xc0]
mov rcx, qword [0x1803a1a28]
mov qword [rbp + 0xc8], r12
mov qword [rbp + 0xd0], rax
call fcn.180357ca0
mov rcx, qword [rbp + 0x38]
call fcn.180001ae0
mov eax, dword [rbx]
cmp dword [0x18039d508], eax
jle 0x180048844
lea rcx, [0x18039d508]
call fcn.180360f8c
cmp dword [0x18039d508], 0xffffffff
jne 0x180048844
xorps xmm0, xmm0
mov qword [0x1803a1a38], rdi
lea rcx, [0x1803a1a40]
movdqu xmmword [0x1803a1a28], xmm0
call fcn.180001990
lea rcx, [0x18037d310]
call fcn.1803614c4
lea rcx, [0x18039d508]
call fcn.180360f2c
lea rcx, [0x1803a1a28]
call fcn.18000ccd0
mov r12, qword [rsp + 0x398]
mov rsi, qword [rsp + 0x3a0]
mov rbx, qword [rsp + 0x3d8]
mov r14, qword [rsp + 0x390]
add rsp, 0x3a8
pop r15
pop r13
pop rdi
pop rbp
ret
call fcn.1803544b0
int3
call fcn.1803544b0
int3