Function at 0x180057320
Capabilities:
Contain obfuscated stackstrings
Encode data using base64

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x998]
sub rsp, 0xa60
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x180121650]
xor rax, rsp
mov qword [rbp + 0x8b0], rax
mov rsi, qword [rbp + 0x9c0]
mov r14, r8
imul eax, r9d, 0xc60
mov r12, rcx
mov dword [rbp + 0x10], r9d
mov qword [rbp - 0x40], r8
mov qword [rbp - 0x28], rdx
mov qword [rbp - 0x58], rcx
mov dword [rbp - 0x68], eax
mov ebx, dword [rbp - 0x68]
mov qword [rbp - 0x48], rsi
mov dword [rsp + 0x50], r9d
cmp r9d, eax
ja 0x180057a91
mov rax, qword [rbp - 0x18]
xor r10d, r10d
movzx ecx, byte [rsp + 0x42]
xorps xmm13, xmm13
movzx edx, byte [rsp + 0x42]
movzx r9d, byte [rsp + 0x42]
mov rdi, qword [rbp - 0x18]
mov r15, qword [rbp - 0x18]
mov r8d, dword [rbp - 0x68]
mov r11, qword [rbp - 0x18]
mov r13d, dword [rbp - 0x68]
movsd xmm14, qword [0x180119c30]
movsd xmm15, qword [0x1801196f0]
movsd xmm8, qword [0x1801196e0]
movsd xmm10, qword [0x180119730]
movsd xmm11, qword [0x1801196d0]
movsd xmm9, qword [0x180119708]
movsd xmm12, qword [0x180119700]
movsd xmm6, qword [rsp + 0x60]
movsd xmm7, qword [rbp - 0x18]
mov qword [rbp - 0x30], rax
movzx eax, byte [rsp + 0x42]
mov byte [rsp + 0x4c], al
movzx eax, byte [rsp + 0x42]
mov dword [rbp - 0x64], eax
mov eax, dword [rbp - 0x68]
mov dword [rsp + 0x58], eax
mov eax, dword [rbp - 0x68]
mov dword [rbp - 0x78], eax
movzx eax, byte [rsp + 0x42]
mov byte [rsp + 0x54], al
movzx eax, byte [rsp + 0x42]
mov byte [rsp + 0x44], al
movzx eax, byte [rsp + 0x42]
mov byte [rsp + 0x55], al
movzx eax, byte [rsp + 0x42]
mov byte [rsp + 0x56], al
mov eax, dword [rbp - 0x68]
mov dword [rbp - 0x10], eax
movzx eax, byte [rsp + 0x42]
mov byte [rsp + 0x57], cl
mov rcx, qword [rbp - 0x18]
mov byte [rsp + 0x42], al
mov rax, qword [rbp - 0x18]
mov qword [rbp + 0x18], rcx
mov ecx, dword [rsp + 0x50]
mov qword [rbp + 0x20], rax
mov qword [rbp - 0x80], rdi
mov qword [rbp + 8], r15
mov dword [rbp - 0x60], ebx
mov byte [rsp + 0x41], dl
mov dword [rsp + 0x48], r8d
mov qword [rbp - 0x50], r11
mov dword [rsp + 0x68], r13d
mov byte [rsp + 0x40], r9b
nop word [rax + rax]
cmp ecx, 0x835e
ja 0x180057a53
je 0x180057a48
cmp ecx, 0x102
ja 0x1800578eb
je 0x1800578b6
mov eax, ecx
sub eax, 0x2c
je 0x180057873
sub eax, 0x92
je 0x180057533
sub eax, 1
je 0x180057529
cmp eax, 4
je 0x180059048
jmp 0x180057c91
mov eax, dword [rsi]
mov dword [r14], eax
jmp 0x180057c91
mov eax, 1
mov word [rbp + 0x30], 0xa64
xorps xmm0, xmm0
mov dword [rbp + 0x34], eax
lea rcx, str.numExtends
mov byte [rbp + 0x38], al
mov qword [rbp + 0x40], rcx
lea rdx, [0x1801015e0]
lea rcx, str.ShowDebugMessage
mov qword [rbp + 0x48], r10
mov qword [rbp + 0xa0], rcx
lea rcx, [0x18010159c]
mov qword [rbp + 0xa8], rcx
lea rcx, str.CameraRollObject
mov qword [rbp + 0xc0], rcx
lea rcx, [0x1801015b4]
mov qword [rbp + 0xc8], rcx
lea rcx, [0x1801015b8]
mov qword [rbp + 0x100], rcx
lea rcx, [0x1801015bc]
mov qword [rbp + 0x108], rcx
lea rcx, str.01234567
mov qword [rbp + 0x120], rcx
lea rcx, [0x1801015cc]
mov qword [rbp + 0x128], rcx
lea rcx, str.comici.ttf
mov qword [rbp + 0x140], rcx
lea rcx, [0x1801015dc]
mov qword [rbp + 0x180], rcx
mov qword [rbp + 0x1c0], rcx
mov word [rbp + 0x50], 0x73
mov dword [rbp + 0x54], r10d
mov byte [rbp + 0x58], 6
movdqa xmmword [rbp + 0x60], xmm0
mov word [rbp + 0x70], 0x63
mov dword [rbp + 0x74], r10d
mov byte [rbp + 0x78], 8
movdqa xmmword [rbp + 0x80], xmm0
mov word [rbp + 0x90], 0x1078
mov dword [rbp + 0x94], r10d
mov byte [rbp + 0x98], al
mov word [rbp + 0xb0], 0x1058
mov dword [rbp + 0xb4], r10d
mov byte [rbp + 0xb8], al
mov word [rbp + 0xd0], 0x7a
mov dword [rbp + 0xd4], r10d
mov byte [rbp + 0xd8], 0xd
movdqa xmmword [rbp + 0xe0], xmm0
mov word [rbp + 0xf0], 0x242
mov dword [rbp + 0xf4], r10d
mov byte [rbp + 0xf8], al
mov word [rbp + 0x110], 0x86f
mov dword [rbp + 0x114], r10d
mov byte [rbp + 0x118], al
mov word [rbp + 0x130], 0xa75
mov dword [rbp + 0x134], r10d
mov byte [rbp + 0x138], al
mov qword [rbp + 0x148], r10
mov word [rbp + 0x150], 0x66
mov dword [rbp + 0x154], eax
mov byte [rbp + 0x158], 2
movdqa xmmword [rbp + 0x160], xmm0
mov word [rbp + 0x170], 0x65
mov dword [rbp + 0x174], eax
mov byte [rbp + 0x178], 3
mov qword [rbp + 0x188], r10
mov word [rbp + 0x190], 0x45
mov dword [rbp + 0x194], eax
mov byte [rbp + 0x198], 3
mov qword [rbp + 0x1a0], rdx
mov qword [rbp + 0x1a8], r10
mov word [rbp + 0x1b0], 0x67
mov dword [rbp + 0x1b4], eax
mov byte [rbp + 0x1b8], 4
mov qword [rbp + 0x1c8], r10
mov word [rbp + 0x1d0], 0x47
mov dword [rbp + 0x1d4], eax
mov byte [rbp + 0x1d8], 4
mov qword [rbp + 0x1e0], rdx
mov qword [rbp + 0x1e8], r10
mov word [rbp + 0x1f0], 0xa69
mov dword [rbp + 0x1f4], eax
lea rcx, [rbp + 0x30]
mov byte [rbp + 0x1f8], al
mov edx, 4
lea rax, str.WriteTitle
mov qword [rbp + 0x208], r10
mov qword [rbp + 0x200], rax
lea rax, str.ST4Fourv2d
mov qword [rbp + 0x260], rax
lea rax, [rbp + 0x270]
mov word [rbp + 0x210], 0x6e
mov dword [rbp + 0x214], r10d
mov byte [rbp + 0x218], 5
movdqa xmmword [rbp + 0x220], xmm0
mov word [rbp + 0x230], 0x25
mov dword [rbp + 0x234], r10d
mov byte [rbp + 0x238], 7
movdqa xmmword [rbp + 0x240], xmm0
mov word [rbp + 0x250], 0xa70
mov dword [rbp + 0x254], r10d
mov byte [rbp + 0x258], 1
mov qword [rbp + 0x268], r10
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm1
sub rdx, 1
jne 0x1800577f1
movups xmm0, xmmword [rcx]
mov rdi, qword [rbp - 0x20]
movups xmm1, xmmword [rcx + 0x10]
mov qword [rbp - 0x80], rdi
movups xmmword [rax], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x10], xmm1
movups xmm1, xmmword [rcx + 0x30]
mov ecx, dword [rsp + 0x50]
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm1
jmp 0x180057c8c
lea rax, [r14 + 0x7f0]
mov r9d, 0xad
lea rdx, [rax + 0x158]
mov qword [rbp - 0x30], rax
xor r8d, r8d
xor ecx, ecx
call fcn.18005af70
mov r8d, dword [rsp + 0x48]
xor r10d, r10d
movzx r9d, byte [rsp + 0x40]
mov r11, qword [rbp - 0x50]
mov ecx, dword [rsp + 0x50]
movsd xmm6, qword [rsp + 0x60]
jmp 0x180057c8c
cmp dword [rsi], 1
mov rax, qword [rbp - 0x20]
mov r15, qword [rbp - 0x20]
mov qword [rbp], rax
mov qword [rbp + 8], r15
jge 0x180057c91
xor r9d, r9d
xor edx, edx
mov r8d, 0xed
mov rcx, r14
call fcn.1800f3ce0
xor edi, edi
mov eax, edi
jmp 0x180057a93
cmp ecx, 0x1e6c
je 0x1800579ae
cmp ecx, 0x3cac
je 0x18005799a
cmp ecx, 0x5aec
je 0x180057943
cmp ecx, 0x792c
jne 0x180057c91
mov r14, qword [rbp - 0x30]
mov rax, qword [rsi]
mov qword [r14 + 0x148], rax
lea rax, [r14 + 0xd0]
mov qword [r14 + 0xc8], rax
mov qword [r14 + 0x150], r12
mov r14, qword [rbp - 0x40]
jmp 0x180057c91
cmp qword [rax + 8], 0
je 0x180057c91
nop
mov rdi, qword [rax + 8]
xor r9d, r9d
mov r8d, 0xeb
mov rdx, rax
xor ecx, ecx
call fcn.18001f690
cmp qword [rdi + 8], 0
mov rax, rdi
jne 0x180057950
movsd xmm6, qword [rsp + 0x60]
xor r10d, r10d
mov r8d, dword [rsp + 0x48]
movzx r9d, byte [rsp + 0x40]
mov r11, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x80]
mov ecx, dword [rsp + 0x50]
mov qword [rbp + 0x20], rax
jmp 0x180057c8c
mov rax, qword [rbp - 0x30]
mov rax, qword [rax + 0xc8]
mov qword [rbp + 0x20], rax
jmp 0x180057c91
mov rdi, qword [rbp - 0x30]
mov r9d, 0xad
xor r8d, r8d
xor ecx, ecx
lea rdx, [rdi + 0x180]
call fcn.18005af70
lea r8, [rdi + 0x1c8]
xor r9d, r9d
xor edi, edi
xor edx, edx
mov qword [rsp + 0x38], rdi
mov ecx, 0xb4
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
call fcn.18002fc30
mov r8, qword [rbp - 0x30]
xor r9d, r9d
mov qword [rsp + 0x38], rdi
add r8, 0x1a8
mov qword [rsp + 0x30], rdi
xor edx, edx
mov qword [rsp + 0x28], rdi
mov ecx, 0xb4
mov qword [rsp + 0x20], rdi
call fcn.18002fc30
mov r8d, dword [rsp + 0x48]
xor r10d, r10d
movzx r9d, byte [rsp + 0x40]
mov r11, qword [rbp - 0x50]
mov ecx, dword [rsp + 0x50]
movsd xmm6, qword [rsp + 0x60]
mov rdi, qword [rbp - 0x80]
jmp 0x180057c8c
xor dl, dl
mov byte [rsp + 0x41], dl
jmp 0x180057c91
cmp ecx, 0x105fe
ja 0x180058f80
je 0x180057b86
cmp ecx, 0x976c
je 0x180057b61
cmp ecx, 0xb262
je 0x180057b0b
cmp ecx, 0xb5ac
je 0x180057af5
cmp ecx, 0xd3ec
jne 0x180057c91
mov eax, ebx
mov rcx, qword [rbp + 0x8b0]
xor rcx, rsp
call fcn.1800fd9d0
lea r11, [rsp + 0xa60]
mov rbx, qword [r11 + 0x58]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rbp - 0x30]
mov ebx, r10d
mov dword [rbp - 0x60], ebx
mov dword [rax + 0x1f8], r10d
jmp 0x180057c91
mov rax, qword [r12]
lea r8, [rbp + 0x14]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor edx, edx
mov ecx, 0xac
call fcn.180093140
movsxd rcx, dword [rbp + 0x14]
mov qword [rbp], rax
cmp ecx, 1
jl 0x1800578cf
movsd xmm6, qword [rsp + 0x60]
lea r15, [rax + rcx]
mov r8d, dword [rsp + 0x48]
xor r10d, r10d
movzx r9d, byte [rsp + 0x40]
mov r11, qword [rbp - 0x50]
mov ecx, dword [rsp + 0x50]
mov qword [rbp + 8], r15
jmp 0x180057c8c
mov rax, qword [rbp - 0x30]
mov qword [rax + 0x208], r10
mov qword [rax + 0x200], r10
mov qword [rax + 0x1f0], r10
mov qword [rax + 0x1e8], r10
jmp 0x180057c91
movups xmm0, xmmword [str.base::OS::SetPermissions_data__length__permission_]
movzx eax, word [0x180112060]
mov edx, r10d
movups xmm1, xmmword [0x180112040]
mov word [0x180132610], ax
mov r14, r10
movzx eax, byte [0x180112062]
movups xmmword [0x1801325e0], xmm0
mov byte [0x180132612], al
movups xmm0, xmmword [0x180112050]
mov qword [rsp + 0x70], rdx
movups xmmword [0x1801325f0], xmm1
movups xmmword [0x180132600], xmm0
movsx r15d, byte [r12]
mov dword [rsp + 0x78], r15d
test r15d, r15d
je 0x180057c84
nop dword [rax]
mov esi, 0x3d
lea eax, [rsi - 0x3d]
cmp eax, 9
ja case.default.0x180057c15
lea rcx, [0x180000000]
mov ecx, dword [rcx + rax*4 + 0x5908c]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov rdi, r10
mov qword [rbp - 0x80], r10
mov byte [rsp + 0x4c], 9
lea rcx, [rbp + 0x270]
mov rdx, r10
nop dword [rax]
movsx eax, byte [rcx]
cmp r15d, eax
je 0x180057cb0
inc rdx
add rcx, 0x20
cmp rdx, 0x12
jl 0x180057c30
mov ecx, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x70]
inc esi
movzx r9d, byte [rsp + 0x40]
mov r10d, 0
mov r11, qword [rbp - 0x50]
cmp esi, 0x47
jb 0x180057bf5
movsx r15d, byte [r12 + 1]
inc r12
mov qword [rbp - 0x58], r12
mov dword [rsp + 0x78], r15d
test r15d, r15d
jne 0x180057bf0
mov rsi, qword [rbp - 0x48]
mov r15, qword [rbp + 8]
mov r14, qword [rbp - 0x40]
movzx edx, byte [rsp + 0x41]
imul eax, dword [rbp + 0x10], 0xb0
add ecx, eax
mov dword [rsp + 0x50], ecx
cmp ecx, dword [rbp - 0x68]
ja 0x180057a91
mov rax, qword [rbp + 0x20]
jmp 0x1800574e0
shl rdx, 5
lea rdi, [rbp + 0x270]
add rdi, rdx
mov qword [rbp - 0x80], rdi
movzx eax, byte [rdi + 8]
mov byte [rsp + 0x4c], al
mov ecx, 0x105fe
mov esi, 0x43
mov dword [rsp + 0x50], ecx
jmp case.default.0x180057c15
cmp byte [rbp - 0x64], 0
mov ecx, 0x105fe
mov dword [rsp + 0x50], ecx
jne case.default.0x180057c15
mov edi, dword [rsp + 0x58]
sub edi, edx
test edi, edi
jle 0x180058f77
cmp edi, 0x32
jl 0x180057d48
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp - 0x40]
lea rcx, [0x1801325e0]
mov r8, qword [rbp - 0x48]
mov edx, 0x32
call qword [rax]
mov dword [rbp - 0x78], eax
test eax, eax
jne 0x180057fd8
sub edi, 0x32
cmp edi, 0x32
jge 0x180057d10
movsd xmm6, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x50]
test edi, edi
jle 0x180058f77
mov rax, qword [rbp - 0x40]
lea rcx, [0x1801325e0]
mov r8, qword [rbp - 0x48]
mov edx, edi
call qword [rax]
mov dword [rbp - 0x78], eax
test eax, eax
jne 0x180057fd8
movsd xmm6, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x48]
mov rdi, qword [rbp - 0x80]
jmp 0x180057c45
xor cl, cl
mov byte [rsp + 0x57], cl
cmp r15d, 0x6c
je 0x180057d98
cmp r15d, 0x71
jne 0x180057c45
cmp r15d, 0x71
movsx r15d, byte [r12 + 1]
mov dword [rsp + 0x78], r15d
sete cl
inc r12
inc cl
mov qword [rbp - 0x58], r12
mov byte [rsp + 0x57], cl
mov ecx, dword [rsp + 0x50]
cmp r15d, 0x6c
jne case.default.0x180057c15
mov byte [rsp + 0x57], 2
jmp case.default.0x180057c15
test edx, edx
jle 0x180057dfb
mov rax, qword [rbp - 0x40]
mov rcx, r14
mov r8, qword [rbp - 0x48]
call qword [rax]
mov dword [rbp - 0x78], eax
test eax, eax
jne 0x180057fd8
movsd xmm6, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x48]
mov rdx, qword [rsp + 0x70]
cmp byte [rbp - 0x64], 0
je 0x180057c45
mov edi, dword [rsp + 0x58]
sub edi, edx
test edi, edi
jle 0x180057d79
cmp edi, 0x32
jl 0x180057e4f
nop dword [rax + rax]
mov rax, qword [rbp - 0x40]
lea rcx, [0x1801325e0]
mov r8, qword [rbp - 0x48]
mov edx, 0x32
call qword [rax]
mov dword [rbp - 0x78], eax
test eax, eax
jne 0x180057fd8
sub edi, 0x32
cmp edi, 0x32
jge 0x180057e20
movsd xmm6, qword [rsp + 0x60]
test edi, edi
jle 0x180057d74
jmp 0x180057d50
mov eax, r10d
mov dword [rsp + 0x58], eax
cmp r15d, 0x2a
jne 0x180057eb0
mov rax, qword [rbp - 0x28]
mov r9d, 1
add qword [rax], 4
mov rax, qword [rax]
movsx r15d, byte [r12 + 1]
mov dword [rsp + 0x78], r15d
mov ecx, dword [rax - 4]
test ecx, ecx
mov eax, dword [rbp - 0x64]
mov edx, ecx
movzx eax, al
cmovs eax, r9d
inc r12
neg edx
mov dword [rbp - 0x64], eax
test ecx, ecx
mov qword [rbp - 0x58], r12
cmovns edx, ecx
mov dword [rsp + 0x58], edx
jmp 0x180057c45
cmp r15d, 0x30
jl 0x180057c45
nop word [rax + rax]
cmp r15d, 0x39
ja 0x180057c45
inc r12
lea eax, [rax + rax*4]
lea eax, [rax - 0x18]
mov qword [rbp - 0x58], r12
lea eax, [r15 + rax*2]
mov dword [rsp + 0x58], eax
movsx r15d, byte [r12]
mov dword [rsp + 0x78], r15d
cmp r15d, 0x30
jge 0x180057ec0
jmp 0x180057c45
cmp r15d, 0x25
je 0x180057f99
mov edi, 0xdc
cmp edi, 0xdc
je 0x180057f3b
cmp edi, 0x8f84
jne 0x180057f78
cmp dword [rbp - 0x78], 0
jne 0x180057fd8
test r15d, r15d
jne 0x180057f78
cmp byte [rsp + 0x41], 0
mov eax, 0xffffffeb
mov edi, 0
cmova edi, eax
mov eax, edi
jmp 0x180057a93
movsx r15d, byte [r12 + 1]
mov r14, r12
inc r12
mov edx, 1
cmp r15d, 0x25
je 0x180057f68
test r15d, r15d
je 0x180057f68
movsx r15d, byte [r12 + 1]
inc r12
inc edx
cmp r15d, 0x25
jne 0x180057f52
mov rax, qword [rbp - 0x40]
mov rcx, r14
mov r8, qword [rbp - 0x48]
call qword [rax]
mov dword [rbp - 0x78], eax
add edi, 0x8ea8
cmp edi, 0x11d50
jbe 0x180057f03
movsd xmm6, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x48]
mov rdi, qword [rbp - 0x80]
movsx r15d, byte [r12 + 1]
inc r12
mov qword [rbp - 0x58], r12
mov dword [rsp + 0x78], r15d
test r15d, r15d
jne 0x180057c45
mov edi, 0xc9
nop dword [rax]
mov eax, edi
sub eax, 0xc9
je 0x180057fe2
cmp eax, 1
jne 0x180058000
cmp dword [rbp - 0x78], 0
je 0x180057f22
mov eax, 0xfffffff6
jmp 0x180057a93
mov rax, qword [rbp - 0x40]
lea rcx, [0x1801063f0]
mov r8, qword [rbp - 0x48]
mov edx, 1
mov byte [rsp + 0x41], 1
call qword [rax]
mov dword [rbp - 0x78], eax
inc edi
cmp edi, 0xcb
jb 0x180057fc0
movsd xmm6, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x48]
mov rdi, qword [rbp - 0x80]
jmp 0x180057c45
mov eax, dword [rsp + 0x58]
mov ecx, 0x3f6
cmp eax, ecx
mov r8d, 0xffffffff
mov dword [rsp + 0x48], r8d
cmovg eax, ecx
mov dword [rsp + 0x58], eax
cmp r15d, 0x2e
jne 0x180057c45
movsx r15d, byte [r12 + 1]
inc r12
mov r8d, r10d
mov dword [rsp + 0x48], r8d
mov qword [rbp - 0x58], r12
mov dword [rsp + 0x78], r15d
cmp r15d, 0x2a
jne 0x180058098
mov rax, qword [rbp - 0x28]
inc r12
mov qword [rbp - 0x58], r12
add qword [rax], 4
mov rax, qword [rax]
movsx r15d, byte [r12]
mov dword [rsp + 0x78], r15d
mov eax, dword [rax - 4]
cdq
mov r8d, eax
xor r8d, edx
sub r8d, edx
mov dword [rsp + 0x48], r8d
jmp 0x180057c45
cmp r15d, 0x30
jl 0x180057c45
cmp r15d, 0x39
ja 0x180057c45
inc r12
lea r8d, [r8 + r8*4]
lea r8d, [r8 - 0x18]
mov qword [rbp - 0x58], r12
lea r8d, [r15 + r8*2]
mov dword [rsp + 0x48], r8d
movsx r15d, byte [r12]
mov dword [rsp + 0x78], r15d
cmp r15d, 0x30
jge 0x1800580a2
jmp 0x180057c45
movzx esi, byte [rsp + 0x4c]
lea eax, [rsi - 1]
cmp eax, 0xc
ja case.0x180058104.10
cdqe
lea rcx, [0x180000000]
mov ecx, dword [rcx + rax*4 + 0x590b4]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov r9d, 0xdc
nop dword [rax]
cmp r9d, 0xdc
je 0x180058267
cmp r9d, 0x4830
je 0x1800581ed
cmp r9d, 0x8f84
je 0x180058145
cmp r9d, 0xd6d8
je 0x180058c4b
jmp 0x18005834d
mov eax, r8d
sub eax, edx
test eax, eax
jle 0x18005815d
nop
dec r14
dec eax
mov byte [r14], 0x30
test eax, eax
jg 0x180058150
movzx r10d, byte [rsp + 0x43]
test r10b, r10b
je 0x18005816e
dec r14
mov byte [r14], r10b
cmp byte [rsp + 0x44], 0
je 0x1800581d9
cmp qword [rdi + 0x18], 0
je 0x1800581d9
mov ecx, 0x76
cmp ecx, 0x76
je 0x1800581c3
cmp ecx, 0x3664
jne 0x1800581c7
movzx eax, byte [r11]
cmp byte [r14], al
je 0x1800581c7
mov r11, qword [rdi + 0x18]
movzx eax, byte [r11]
test al, al
je 0x1800581c7
nop dword [rax]
nop word [rax + rax]
dec r14
inc r11
mov byte [r14], al
movzx eax, byte [r11]
test al, al
jne 0x1800581b0
jmp 0x1800581c7
mov r11, qword [rdi + 0x18]
add ecx, 0x35ee
cmp ecx, 0x6bdc
jbe 0x180058181
mov qword [rbp - 0x50], r11
lea rdx, [rbp + 0x8af]
sub edx, r14d
mov qword [rsp + 0x70], rdx
jmp 0x18005834d
cmp byte [rsp + 0x54], 0
je 0x18005820f
movzx eax, byte [rsp + 0x43]
neg al
mov eax, dword [rsp + 0x58]
sbb ecx, ecx
add eax, ecx
cmp r8d, eax
cmovl r8d, eax
mov dword [rsp + 0x48], r8d
mov rcx, qword [rdi + 0x10]
lea r14, [rbp + 0x8af]
movzx r8d, byte [rdi + 1]
mov rdi, qword [rbp - 8]
nop dword [rax]
nop word [rax + rax]
mov rax, rdi
dec r14
cqo
idiv r8
mov rdi, rax
movzx eax, byte [rdx + rcx]
mov byte [r14], al
test rdi, rdi
jg 0x180058230
mov r8d, dword [rsp + 0x48]
lea rdx, [rbp + 0x8af]
sub edx, r14d
mov qword [rbp - 8], rdi
mov qword [rsp + 0x70], rdx
jmp 0x180058349
movzx ecx, byte [rsp + 0x57]
mov rsi, qword [rbp - 0x28]
test cl, cl
je 0x180058296
mov rax, qword [rsi]
cmp cl, 1
jbe 0x180058289
add rax, 8
mov qword [rsi], rax
mov rdi, qword [rax - 8]
jmp 0x1800582b1
add rax, 4
mov qword [rsi], rax
movsxd rdi, dword [rax - 4]
jmp 0x1800582b1
mov rcx, qword [rsi]
mov eax, dword [rdi + 4]
add rcx, 4
mov qword [rsi], rcx
and eax, 1
je 0x1800582ae
movsxd rdi, dword [rcx - 4]
jmp 0x1800582b1
mov edi, dword [rcx - 4]
mov eax, 0x3d8
mov qword [rbp - 8], rdi
cmp r8d, eax
mov ecx, r10d
cmovg r8d, eax
movzx eax, byte [rsp + 0x44]
test rdi, rdi
mov dword [rsp + 0x48], r8d
cmovne ecx, eax
mov rax, qword [rbp - 0x80]
mov byte [rsp + 0x44], cl
test byte [rax + 4], 1
je 0x180058326
test rdi, rdi
jns 0x180058303
neg rdi
mov byte [rsp + 0x43], 0x2d
movabs rax, 0x7fffffffffffffff
cmovs rdi, rax
mov qword [rbp - 8], rdi
jmp 0x180058349
cmp byte [rsp + 0x55], 0
je 0x180058311
mov byte [rsp + 0x43], 0x2b
jmp 0x180058349
movzx eax, byte [rsp + 0x56]
neg al
sbb r10b, r10b
and r10b, 0x20
mov byte [rsp + 0x43], r10b
jmp 0x180058349
test rdi, rdi
jns 0x180058340
neg rdi
movabs rax, 0x7fffffffffffffff
cmovs rdi, rax
mov qword [rbp - 8], rdi
mov byte [rsp + 0x43], 0
mov byte [rsp + 0x44], cl
mov rdi, qword [rbp - 0x80]
add r9d, 0x4754
mov r10d, 0
cmp r9d, 0x11d50
jbe 0x180058110
movsd xmm6, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x40]
movzx esi, byte [rsp + 0x4c]
movsxd rax, dword [rsp + 0x58]
mov r15d, 0x72
mov dword [rbp - 0x70], r15d
mov r12, rax
mov qword [rbp - 0x20], rax
nop
cmp r15d, 0xabe4
ja 0x180058627
je 0x180058505
cmp r15d, 0x72
je 0x1800584ea
cmp r15d, 0x22bc
je 0x1800584d1
cmp r15d, 0x4506
je 0x1800584b6
cmp r15d, 0x6750
je 0x1800583fa
cmp r15d, 0x899a
jne 0x1800589bd
cmp byte [rdi + 8], 2
jne 0x1800583ed
addsd xmm6, xmm7
movsd qword [rsp + 0x60], xmm6
mov r13d, r10d
mov dword [rsp + 0x68], r10d
jmp 0x1800589bd
comisd xmm13, xmm6
jbe 0x180058412
xorps xmm6, xmm14
mov byte [rsp + 0x43], 0x2d
movsd qword [rsp + 0x60], xmm6
jmp 0x18005842f
cmp byte [rsp + 0x55], 0
je 0x180058420
mov byte [rsp + 0x43], 0x2b
jmp 0x18005842f
movzx eax, byte [rsp + 0x56]
neg al
sbb al, al
and al, 0x20
mov byte [rsp + 0x43], al
cmp byte [rdi + 8], 4
jne 0x180058442
test r8d, r8d
jle 0x180058442
dec r8d
mov dword [rsp + 0x48], r8d
mov ecx, r8d
movaps xmm7, xmm15
cmp r8d, 8
jl 0x18005849e
lea eax, [r8 - 8]
shr eax, 3
inc eax
mov edx, eax
lea eax, [rax*8]
sub ecx, eax
nop dword [rax]
nop word [rax + rax]
mulsd xmm7, xmm8
mulsd xmm7, xmm8
mulsd xmm7, xmm8
mulsd xmm7, xmm8
mulsd xmm7, xmm8
mulsd xmm7, xmm8
mulsd xmm7, xmm8
mulsd xmm7, xmm8
sub rdx, 1
jne 0x180058470
test ecx, ecx
jle 0x1800589b4
dec ecx
mulsd xmm7, xmm8
test ecx, ecx
jg 0x1800584a6
jmp 0x1800589b4
mov ecx, 0x3d8
cmp r8d, ecx
jle 0x1800589bd
mov r8d, ecx
mov dword [rsp + 0x48], r8d
jmp 0x1800589bd
test r8d, r8d
jns 0x1800589bd
mov r8d, 6
mov dword [rsp + 0x48], r8d
jmp 0x1800589bd
mov rax, qword [rbp - 0x28]
add qword [rax], 8
mov rax, qword [rax]
movsd xmm6, qword [rax - 8]
movsd qword [rsp + 0x60], xmm6
jmp 0x1800589b9
comisd xmm6, xmm13
jbe 0x1800589bd
mov ecx, 0x69
mov eax, ecx
sub eax, 0x69
je 0x18005855d
cmp eax, 0x56
jne 0x180058613
lea eax, [r13 + 0x15e]
cmp eax, 0x2bc
jbe 0x180058613
mov r15d, dword [rsp + 0x78]
lea r14, [0x18010b3e4]
mov r12, qword [rbp - 0x58]
mov ecx, 3
mov rdi, qword [rbp - 0x80]
mov qword [rsp + 0x70], rcx
lea esi, [rcx + 0x41]
jmp 0x180057c45
comisd xmm6, xmm10
jb 0x180058588
cmp r13d, 0x15e
jg 0x180058583
mulsd xmm6, xmm11
add r13d, 8
comisd xmm6, xmm10
movsd qword [rsp + 0x60], xmm6
jae 0x180058564
mov dword [rsp + 0x68], r13d
comisd xmm6, xmm9
jb 0x1800585b3
nop
cmp r13d, 0x15e
jg 0x1800585ae
mulsd xmm6, xmm8
inc r13d
comisd xmm6, xmm9
movsd qword [rsp + 0x60], xmm6
jae 0x180058590
mov dword [rsp + 0x68], r13d
comisd xmm11, xmm6
jbe 0x1800585e4
nop word [rax + rax]
cmp r13d, 0xfffffea2
jl 0x1800585df
mulsd xmm6, xmm10
sub r13d, 8
comisd xmm11, xmm6
movsd qword [rsp + 0x60], xmm6
ja 0x1800585c0
mov dword [rsp + 0x68], r13d
comisd xmm12, xmm6
jbe 0x180058613
nop dword [rax + rax]
cmp r13d, 0xfffffea2
jl 0x18005860e
mulsd xmm6, xmm9
dec r13d
comisd xmm12, xmm6
movsd qword [rsp + 0x60], xmm6
ja 0x1800585f0
mov dword [rsp + 0x68], r13d
add ecx, 0x56
cmp ecx, 0x115
jb 0x180058515
jmp 0x1800589b9
cmp r15d, 0xce2e
je 0x180058c12
cmp r15d, 0xf078
je 0x18005876a
cmp r15d, 0x112c2
je 0x180058754
cmp r15d, 0x1350c
je 0x180058669
cmp r15d, 0x15756
je case.0x180058104.10
jmp 0x1800589bd
cmp byte [rsp + 0x54], 0
lea r14, [rbp + 0x4b0]
je 0x1800589bd
cmp byte [rbp - 0x64], 0
jne 0x1800589bd
cmp edx, eax
jge 0x1800589bd
movzx ebx, byte [rsp + 0x43]
mov edi, 0x10e
mov r15d, dword [rbp - 0x10]
mov r13d, dword [rsp + 0x58]
movsxd rsi, edx
mov eax, edi
sub eax, 0x10c
je 0x180058747
sub eax, 1
je 0x180058716
cmp eax, 1
jne 0x1800586f2
mov r15d, r13d
mov r8, r12
sub r15d, edx
mov rdx, r12
sub rdx, rsi
cmp r12, rdx
jl 0x1800586ed
nop
lea rcx, [rbp + 0x4b0]
add rcx, r8
dec r8
mov rax, rcx
sub rax, rdx
movzx eax, byte [rax]
mov byte [rcx], al
cmp r8, rdx
jge 0x1800586d0
mov rdx, qword [rsp + 0x70]
dec edi
cmp edi, 0x10b
ja 0x1800586a3
mov ebx, dword [rbp - 0x60]
mov r13d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x48]
mov dword [rbp - 0x10], r15d
mov r15d, dword [rbp - 0x70]
jmp 0x1800589b9
test r15d, r15d
je 0x180058742
mov rax, r10
mov r8d, r15d
test bl, bl
lea rcx, [rbp + 0x4b0]
mov dl, 0x30
setne al
add rcx, rax
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [rsp + 0x70]
xor r10d, r10d
mov r15d, r10d
dec r15d
jmp 0x1800586f2
mov edx, r13d
mov rsi, r12
mov qword [rsp + 0x70], rdx
jmp 0x1800586f2
mov edx, r14d
lea rcx, [rbp + 0x4b0]
sub edx, ecx
mov qword [rsp + 0x70], rdx
jmp 0x1800589b9
cmp sil, 2
je 0x180058797
movaps xmm0, xmm7
addsd xmm0, xmm6
comisd xmm0, xmm9
movsd qword [rsp + 0x60], xmm0
jb 0x180058797
mulsd xmm0, xmm8
inc r13d
mov dword [rsp + 0x68], r13d
movsd qword [rsp + 0x60], xmm0
cmp sil, 4
jne 0x1800587c9
cmp byte [rsp + 0x44], 0
sete sil
cmp r13d, 0xfffffffc
jl 0x1800587c1
cmp r13d, r8d
jg 0x1800587c1
sub r8d, r13d
mov al, 2
mov dword [rsp + 0x48], r8d
mov byte [rsp + 0x4c], al
jmp 0x1800587d1
mov al, 3
mov byte [rsp + 0x4c], al
jmp 0x1800587d1
movzx eax, byte [rsp + 0x4c]
xor sil, sil
mov dword [rbp - 0x38], r10d
cmp al, 2
jne 0x1800589ec
lea eax, [r8 + r13]
cmp eax, 0x3e2
jge 0x1800589ec
movzx r12d, byte [rsp + 0x43]
mov edi, 0x32
movzx r15d, byte [rsp + 0x44]
nop dword [rax]
cmp edi, 0x32
je 0x180058911
cmp edi, 0xd0
je 0x180058899
cmp edi, 0x16e
je 0x18005888d
cmp edi, 0x20c
jne 0x18005898f
test sil, sil
je 0x18005898c
test r9b, r9b
je 0x18005898c
lea rax, [rbp + 0x4b0]
cmp r14, rax
jb 0x18005898c
nop dword [rax + rax]
cmp byte [r14], 0x30
lea rax, [rbp + 0x4b0]
jne 0x18005886e
mov byte [r14], 0
dec r14
cmp r14, rax
jae 0x180058850
jmp 0x18005898c
cmp r14, rax
jb 0x18005898c
cmp byte [r14], 0x2e
jne 0x18005898c
mov byte [r14], 0
dec r14
jmp 0x18005898c
mov byte [r14], 0
dec r14
jmp 0x18005898f
add r13d, 1
jns 0x1800588ba
nop
test r8d, r8d
jle 0x1800588fe
mov byte [r14], 0x30
dec r8d
inc r14
add r13d, 1
mov dword [rsp + 0x68], r13d
js 0x1800588a0
test r8d, r8d
jle 0x1800588fe
nop
dec r8d
mov qword [rsp + 0x28], r10
mov dword [rsp + 0x48], r8d
lea r9, [rsp + 0x60]
xor r8d, r8d
mov qword [rsp + 0x20], r10
lea rdx, [rbp - 0x38]
mov ecx, 0x129
call fcn.1800c6d20
mov r8d, dword [rsp + 0x48]
mov r10d, 0
mov byte [r14], al
inc r14
test r8d, r8d
jg 0x1800588c0
movzx r9d, byte [rsp + 0x40]
dec r8d
mov dword [rsp + 0x48], r8d
jmp 0x18005898f
test r8d, r8d
jg 0x180058923
test r15b, r15b
jne 0x180058923
xor al, al
mov byte [rsp + 0x40], al
jmp 0x180058928
mov byte [rsp + 0x40], 1
test r12b, r12b
je 0x180058933
mov byte [r14], r12b
inc r14
test r13d, r13d
jns 0x180058941
mov byte [r14], 0x30
inc r14
jmp 0x18005897d
mov qword [rsp + 0x28], r10
lea r9, [rsp + 0x60]
xor r8d, r8d
mov qword [rsp + 0x20], r10
lea rdx, [rbp - 0x38]
mov ecx, 0x129
call fcn.1800c6d20
mov byte [r14], al
mov r10d, 0
inc r14
sub r13d, 1
jns 0x180058941
mov r8d, dword [rsp + 0x48]
mov dword [rsp + 0x68], r13d
movzx r9d, byte [rsp + 0x40]
test r9b, r9b
je 0x18005898f
mov byte [r14], 0x2e
inc r14
add edi, 0x9e
cmp edi, 0x2aa
jb 0x180058800
mov dword [rsp + 0x68], r13d
mov r15d, dword [rbp - 0x70]
mov r12, qword [rbp - 0x20]
movsd xmm6, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
mov eax, dword [rsp + 0x58]
add r15d, 0x224a
xor r10d, r10d
mov dword [rbp - 0x70], r15d
cmp r15d, 0x1792e
ja case.0x180058104.5
movzx r9d, byte [rsp + 0x40]
mov rdi, qword [rbp - 0x80]
movzx esi, byte [rsp + 0x4c]
jmp 0x180058390
movzx r12d, byte [rsp + 0x43]
mov edi, StrCmpNICW
movzx r15d, byte [rsp + 0x44]
movzx ebx, byte [rsp + 0x42]
mov eax, edi
sub eax, 0x98
je 0x180058bda
sub eax, 1
je 0x180058ba1
sub eax, 1
je 0x180058b33
cmp eax, 1
jne 0x180058bf1
test sil, sil
je 0x180058a6d
test r9b, r9b
je 0x180058a6d
lea rax, [rbp + 0x4b0]
cmp r14, rax
jb 0x180058a6d
cmp byte [r14], 0x30
lea rax, [rbp + 0x4b0]
jne 0x180058a5b
mov byte [r14], 0
dec r14
cmp r14, rax
jae 0x180058a40
jmp 0x180058a6d
cmp r14, rax
jb 0x180058a6d
cmp byte [r14], 0x2e
jne 0x180058a6d
mov byte [r14], 0
dec r14
inc r14
test r13d, r13d
jne 0x180058a7d
test bl, bl
je 0x180058bf1
mov r8d, 0x3a
mov eax, r8d
sub eax, 0x38
je 0x180058aea
sub eax, 1
je 0x180058ac1
cmp eax, 1
jne 0x180058b1c
mov rax, qword [rbp - 0x80]
mov rax, qword [rax + 0x10]
movzx ecx, byte [rax]
mov byte [r14], cl
test r13d, r13d
jns 0x180058aba
mov byte [r14 + 1], 0x2d
add r14, 2
neg r13d
jmp 0x180058b1c
mov byte [r14 + 1], 0x2b
jmp 0x180058b18
cmp r13d, 0x64
jl 0x180058b1c
mov eax, 0x51eb851f
imul r13d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + 0x30]
mov byte [r14], al
inc r14
imul eax, edx, 0xffffff9c
add r13d, eax
jmp 0x180058b1c
mov eax, 0x66666667
imul r13d
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx ecx, dl
lea eax, [rdx + 0x30]
shl dl, 2
mov byte [r14], al
add cl, dl
add cl, cl
movzx eax, r13b
sub al, cl
add al, 0x30
mov byte [r14 + 1], al
add r14, 2
dec r8d
cmp r8d, 0x37
ja 0x180058a83
mov dword [rsp + 0x68], r13d
jmp 0x180058bf1
test r9b, r9b
je 0x180058b3f
mov byte [r14], 0x2e
inc r14
test r8d, r8d
jle 0x180058b94
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov qword [rsp + 0x28], r10
mov dword [rsp + 0x48], r8d
lea r9, [rsp + 0x60]
xor r8d, r8d
mov qword [rsp + 0x20], r10
lea rdx, [rbp - 0x38]
mov ecx, 0x129
call fcn.1800c6d20
mov r8d, dword [rsp + 0x48]
mov r10d, 0
mov byte [r14], al
inc r14
test r8d, r8d
jg 0x180058b50
movzx r9d, byte [rsp + 0x40]
dec r8d
mov dword [rsp + 0x48], r8d
dec r14
jmp 0x180058bf1
test r12b, r12b
je 0x180058bac
mov byte [r14], r12b
inc r14
mov qword [rsp + 0x28], r10
lea r9, [rsp + 0x60]
xor r8d, r8d
mov qword [rsp + 0x20], r10
lea rdx, [rbp - 0x38]
mov ecx, 0x129
call fcn.1800c6d20
movzx r9d, byte [rsp + 0x40]
mov byte [r14], al
inc r14
jmp 0x180058bf1
test r8d, r8d
jg 0x180058be9
test r15b, r15b
jne 0x180058be9
xor r9b, r9b
jmp 0x180058bec
mov r9b, 1
mov byte [rsp + 0x40], r9b
mov r8d, dword [rsp + 0x48]
inc edi
mov r10d, 0
cmp edi, 0x9c
jb 0x180058a02
mov ebx, dword [rbp - 0x60]
jmp 0x1800589a6
cmp sil, 3
lea r14, [rbp + 0x4b0]
sete byte [rsp + 0x42]
jmp 0x1800589bd
mov rax, qword [rbp - 0x28]
mov dword [rsp + 0x58], r10d
add qword [rax], 8
mov rax, qword [rax]
mov rcx, qword [rax - 8]
mov rax, qword [rbp - 0x48]
mov eax, dword [rax]
mov dword [rcx], eax
mov ecx, r10d
mov qword [rsp + 0x70], rcx
movsd xmm6, qword [rsp + 0x60]
mov esi, 0x44
mov r15d, dword [rsp + 0x78]
mov r12, qword [rbp - 0x58]
mov rdi, qword [rbp - 0x80]
jmp 0x180057c45
mov eax, 0x95
nop dword [rax]
cmp eax, 0x95
je 0x180058c84
cmp eax, 0x13ca
je case.0x180058104.10
jmp 0x180058c9c
mov edx, 1
mov byte [rbp + 0x4b0], 0x25
mov qword [rsp + 0x70], rdx
lea r14, [rbp + 0x4b0]
add eax, 0x1335
cmp eax, 0x266a
jbe 0x180058c70
mov edi, 0x10e
nop dword [rax]
cmp edi, 0x10e
je 0x180058cd7
cmp edi, 0xc42c
je 0x180058cce
cmp edi, 0x1874a
je case.0x180058104.10
jmp 0x180058d38
lea r14, [rbp + 0x4b0]
jmp 0x180058d38
mov rax, qword [rbp - 0x28]
add qword [rax], 4
mov rax, qword [rax]
mov r15d, dword [rax - 4]
mov eax, 0x3d8
mov dword [rsp + 0x78], r15d
mov byte [rbp + 0x4b0], r15b
cmp r8d, eax
jle 0x180058d06
mov r8d, eax
mov dword [rsp + 0x48], r8d
jmp 0x180058d11
test r8d, r8d
js 0x180058d2e
cmp r8d, 1
jle 0x180058d29
dec r8
lea rcx, [rbp + 0x4b1]
movzx edx, r15b
call sub.VCRUNTIME140.dll_memset
mov r8d, dword [rsp + 0x48]
mov edx, r8d
jmp 0x180058d33
mov edx, 1
mov qword [rsp + 0x70], rdx
add edi, 0xc31e
cmp edi, 0x2495a
jbe 0x180058cb0
mov edi, 0x11c
nop
mov eax, edi
sub eax, 0x11a
je 0x180058c4b
sub eax, 1
je 0x180058d84
cmp eax, 1
jne 0x180058dae
mov rdx, qword [rbp - 0x28]
add qword [rdx], 8
mov rax, qword [rdx]
mov r14, qword [rax - 8]
test r14, r14
je 0x180058e09
mov edx, r8d
jmp 0x180058da9
test r8d, r8d
jns 0x180058da2
xor edx, edx
xor r9d, r9d
mov r8, r14
lea ecx, [rdx + 0x3f]
call fcn.180049c60
mov r8d, dword [rsp + 0x48]
mov edx, eax
jmp 0x180058da9
cmp r8d, edx
cmovl edx, r8d
mov qword [rsp + 0x70], rdx
dec edi
cmp edi, 0x119
ja 0x180058d50
movsd xmm6, qword [rsp + 0x60]
mov ecx, 0xbb
cmp ecx, 0xbb
je 0x180058e6a
cmp ecx, 0x1eae
je 0x180058e35
cmp ecx, 0x3ca1
jne 0x180058e7d
mov rcx, qword [rbp + 0x18]
mov esi, 0x44
mov r15d, dword [rsp + 0x78]
mov r12, qword [rbp - 0x58]
mov rdi, qword [rbp - 0x80]
mov r14, qword [rcx]
mov ecx, dword [rcx + 8]
mov qword [rsp + 0x70], rcx
jmp 0x180057c45
movsd xmm6, qword [rsp + 0x60]
lea r14, [0x18010713c]
mov r15d, dword [rsp + 0x78]
mov ecx, 1
mov r12, qword [rbp - 0x58]
mov rdi, qword [rbp - 0x80]
mov qword [rsp + 0x70], rcx
lea esi, [rcx + 0x43]
jmp 0x180057c45
mov rax, qword [rbp + 0x18]
test rax, rax
je 0x180058e44
cmp qword [rax], 0
jne 0x180058e7d
mov r15d, dword [rsp + 0x78]
lea r14, [0x18010713c]
mov r12, qword [rbp - 0x58]
mov ecx, 1
mov rdi, qword [rbp - 0x80]
mov qword [rsp + 0x70], rcx
lea esi, [rcx + 0x43]
jmp 0x180057c45
mov rax, qword [rbp - 0x28]
add qword [rax], 8
mov rax, qword [rax]
mov rax, qword [rax - 8]
mov qword [rbp + 0x18], rax
add ecx, 0x1df3
cmp ecx, 0x59d9
jbe 0x180058dc3
mov eax, 0x5b
lea r13d, [rax - 0x5a]
cmp eax, 0x5b
je 0x180058ea6
cmp eax, 0x111
je 0x180058ed0
jmp 0x180058ec4
mov byte [rbp + 0x4b0], 0x3f
mov ecx, r13d
mov qword [rsp + 0x70], rcx
lea r14, [rbp + 0x4b0]
test r15d, r15d
jne 0x180058ec4
dec r12
add eax, 0xb6
cmp eax, 0x1c7
jb 0x180058e98
mov r13d, dword [rsp + 0x68]
mov qword [rbp - 0x58], r12
mov r15d, dword [rsp + 0x78]
mov esi, 0x44
mov r12, qword [rbp - 0x58]
mov rdi, qword [rbp - 0x80]
jmp 0x180057c45
mov ecx, 0x105fe
mov byte [rsp + 0x54], 0
mov dword [rsp + 0x50], ecx
mov esi, 0x3e
mov byte [rsp + 0x44], 0
mov byte [rsp + 0x56], 0
mov byte [rsp + 0x55], 0
mov byte [rbp - 0x64], 0
cmp r15d, 0x20
je 0x180058f56
cmp r15d, 0x23
je 0x180058f4f
cmp r15d, 0x2b
je 0x180058f48
cmp r15d, 0x2d
je 0x180058f42
cmp r15d, 0x30
jne 0x180058f3b
mov byte [rsp + 0x54], 1
jmp 0x180058f5b
test r15d, r15d
jne 0x180058f69
jmp 0x180058f5b
mov byte [rbp - 0x64], 1
jmp 0x180058f5b
mov byte [rsp + 0x55], 1
jmp 0x180058f5b
mov byte [rsp + 0x44], 1
jmp 0x180058f5b
mov byte [rsp + 0x56], 1
movsx r15d, byte [r12 + 1]
inc r12
test r15d, r15d
jne 0x180058f16
mov qword [rbp - 0x58], r12
mov dword [rsp + 0x78], r15d
jmp case.default.0x180057c15
mov rdi, qword [rbp - 0x80]
jmp case.default.0x180057c15
cmp ecx, 0x163c2
je 0x180058fb3
cmp ecx, 0x1889e
je 0x180058fa1
cmp ecx, 0x20b3e
je 0x180057a91
jmp 0x180057c91
movzx eax, dl
neg al
sbb ebx, ebx
and ebx, 0xffffffeb
mov dword [rbp - 0x60], ebx
jmp 0x180057c91
mov ecx, 0x5e
mov eax, ecx
sub eax, 0x5e
je 0x180058fca
cmp eax, 1
je 0x180057a91
jmp 0x18005903d
cmp qword [rbp], r15
jae 0x180059029
mov edi, 1
nop word [rax + rax]
mov rdx, qword [rbp]
lea r9, [rbp]
mov r8, r15
mov ecx, 0xcd
call fcn.18005b9c0
mov dword [rbp - 0x18], eax
test eax, eax
je 0x180059022
lea rax, [rbp - 0x18]
mov dword [rbp - 0x70], edi
lea r9, [rbp - 0x70]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov edx, 0xdb
mov rcx, r14
call fcn.18002dea0
cmp qword [rbp], r15
jb 0x180058fe0
mov rdi, qword [rbp - 0x80]
xor r10d, r10d
mov eax, 0x163c2
mov ebx, r10d
mov dword [rsp + 0x50], eax
mov ecx, 0x5e
mov dword [rbp - 0x60], ebx
inc ecx
cmp ecx, 0x60
jb 0x180058fb8
mov eax, 1
mov qword [rbp - 0x48], r10
mov r9, r14
mov dword [rbp - 0x70], eax
xor edx, edx
lea rcx, [rbp - 0x70]
mov r8d, 0xfe
mov rsi, r10
call fcn.1800dee70
mov r8d, dword [rsp + 0x48]
xor r10d, r10d
movzx r9d, byte [rsp + 0x40]
mov r11, qword [rbp - 0x50]
mov ecx, dword [rsp + 0x50]
movsd xmm6, qword [rsp + 0x60]
jmp 0x180057c8c