Function at 0x1400b2d70
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
mov rax, qword [0x1404097d8]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rbx, rcx
mov qword [rsp + 0x28], rcx
mov qword [rbp + 0x1f], 0x64686d76
mov dword [rbp - 0x75], 0x73747473
mov dword [rbp - 0x71], 0x64737473
mov dword [rbp - 0x6d], 0x7461646d
mov dword [rbp - 0x69], 0x64686b74
mov dword [rbp - 0x65], 0x64686d73
mov dword [rbp - 0x61], 0x6468646d
mov dword [rbp + 0xb], 0x6b617274
mov dword [rbp - 1], 0x736f7774
mov dword [rbp + 3], 0x74776f73
mov dword [rbp - 0x31], 0x73747463
mov dword [rbp + 0xf], 0x6765706a
mov dword [rbp - 0x5d], 0x63737473
mov dword [rbp + 7], 0x7a737473
mov dword [rbp - 0x55], 0x36327365
mov dword [rbp - 0x51], 0x7634706d
mov dword [rbp - 0x4d], 0x68637061
mov dword [rbp - 0x41], 0x6f637061
mov dword [rbp - 0x49], 0x6e637061
mov dword [rbp - 0x45], 0x73637061
mov dword [rbp - 0x3d], 0x68347061
mov dword [rbp - 0x39], 0x31637668
mov dword [rbp - 0x35], 0x31766568
xor edi, edi
mov dword [rbp - 0x59], edi
mov word [rcx + 0x362], di
mov word [rcx + 0x35f], di
mov word [rcx + 0x365], di
mov byte [rcx + 0x369], dil
mov byte [rcx + 0x36b], dil
mov word [rcx + 0x36d], di
xor edx, edx
lea rcx, [0x140100620]
call qword [0x1400febd8]
mov qword [rbp + 0x17], rax
mov dword [0x14040af20], edi
mov dword [rbx + 0x104], edi
mov qword [rbx + 0x1f0], rdi
mov dword [0x14040aeec], edi
mov dword [0x14040aef8], edi
mov dword [0x14040aefc], edi
mov dword [0x14040af00], edi
mov dword [rbx + 0xb4], edi
mov qword [rbx + 0x108], rdi
mov qword [rbx + 0x110], rdi
mov qword [rbx + 0x288], rdi
mov qword [rbx + 0x290], rdi
mov dword [rbx + 0x11c], edi
mov dword [0x14040af04], edi
mov dword [0x14040af08], edi
mov dword [rsp + 0x20], edi
mov rdx, qword [rbx + 0x40]
add rdx, 0x18
xor r8d, r8d
mov rcx, qword [rbx + 0x10]
call qword [0x140100168]
mov r9, qword [rbx + 0x10]
lea edx, [rdi + 1]
lea r8d, [rdi + 4]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
mov rcx, rbx
add qword [rbx + 0x40], 0x18
mov rdx, qword [rbx + 0x40]
mov qword [rbx + 0x1f8], rdx
mov r8, qword [rbx + 0x48]
mov eax, dword [rbx + 0x9c]
cmp rax, r8
jae 0x1400b3bfb
cmp rdx, r8
jae 0x1400b3bf4
mov edi, dword [rbp - 0x75]
mov esi, dword [rbp - 0x71]
mov r14d, dword [rbp - 0x6d]
mov r13d, dword [rbp - 0x69]
mov ebx, dword [rbp - 0x65]
mov r15d, dword [rbp - 0x61]
mov r12d, dword [rbp - 0x5d]
nop dword [rax]
nop dword [rax + rax]
cmp byte [0x14040adcd], 0
jne 0x1400b3bf4
cmp rdx, r8
ja 0x1400b3bf4
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov rcx, qword [rcx + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
mov eax, dword [rsp + 0x20]
cmp eax, dword [rbp + 0xb]
jne 0x1400b30ae
mov dword [rsp + 0x20], 0
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax + 0x40]
sub rdx, 4
xor r8d, r8d
mov rcx, qword [rax + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rcx + 0x40]
mov qword [rcx + 0x1f0], rdx
mov eax, dword [rsp + 0x20]
nop dword [rax + rax]
cmp byte [0x14040adcd], 0
jne 0x1400b30b3
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov rcx, qword [rcx + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rbp + 0x1f]
je 0x1400b3096
cmp eax, ebx
je 0x1400b307e
mov rdx, qword [rcx + 0x40]
inc rdx
mov qword [rcx + 0x40], rdx
jmp 0x1400b3020
mov byte [rcx + 0x35f], 1
mov rdx, qword [rcx + 0x1f0]
add rdx, 4
mov qword [rcx + 0x40], rdx
jmp 0x1400b30b3
mov byte [rcx + 0x362], 1
mov rdx, qword [rcx + 0x1f0]
add rdx, 4
mov qword [rcx + 0x40], rdx
jmp 0x1400b30c0
mov rcx, qword [rsp + 0x28]
cmp byte [rcx + 0x362], 0
je 0x1400b38bf
cmp eax, r15d
jne 0x1400b3127
mov dword [rsp + 0x20], 0
mov rdx, qword [rcx + 0x40]
add rdx, 0x10
xor r8d, r8d
mov rcx, qword [rcx + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 0x5d], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0x5c], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0x5b], al
mov eax, dword [rsp + 0x20]
mov byte [rbp - 0x5a], al
mov ecx, dword [rbp - 0x5d]
mov dword [0x14040aeec], ecx
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rbp + 0xf]
jne 0x1400b3138
mov byte [rcx + 0x365], 1
cmp byte [0x14040aed9], 0
je 0x1400b3152
cmp eax, dword [rbp - 0x55]
je 0x1400b314b
cmp eax, dword [rbp - 0x51]
jne 0x1400b3152
mov byte [rcx + 0x36e], 1
cmp eax, dword [rbp - 0x4d]
je 0x1400b316b
cmp eax, dword [rbp - 0x49]
je 0x1400b316b
cmp eax, dword [rbp - 0x45]
je 0x1400b316b
cmp eax, dword [rbp - 0x41]
je 0x1400b316b
cmp eax, dword [rbp - 0x3d]
jne 0x1400b3172
mov byte [rcx + 0x366], 1
cmp eax, dword [rbp - 0x39]
je 0x1400b317c
cmp eax, dword [rbp - 0x35]
jne 0x1400b3183
mov byte [rcx + 0x36b], 1
cmp eax, r14d
je 0x1400b3bf4
cmp eax, r12d
jne 0x1400b32b8
cmp dword [0x14040af00], 0
jne 0x1400b32b1
mov dword [rsp + 0x20], 0
mov rdx, qword [rcx + 0x40]
sub rdx, 4
xor r8d, r8d
mov rcx, qword [rcx + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 0x75], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0x74], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0x73], al
movzx eax, byte [rsp + 0x20]
mov byte [rbp - 0x72], al
mov edx, dword [rbp - 0x75]
mov dword [rsp + 0x20], 0
mov rax, qword [rsp + 0x28]
add rdx, qword [rax + 0x40]
xor r8d, r8d
mov rcx, qword [rax + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
mov eax, dword [rsp + 0x20]
cmp eax, edi
jne 0x1400b32ac
mov dword [rsp + 0x20], 0
mov rax, qword [rsp + 0x28]
mov edx, dword [rbp - 0x75]
add rdx, 0x10
add rdx, qword [rax + 0x40]
xor r8d, r8d
mov rcx, qword [rax + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 0x61], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0x60], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0x5f], al
mov eax, dword [rsp + 0x20]
mov byte [rbp - 0x5e], al
mov ecx, dword [rbp - 0x61]
mov dword [0x14040af00], ecx
mov rcx, qword [rsp + 0x28]
mov byte [rcx + 0x362], 0
cmp eax, r13d
jne 0x1400b3390
mov dword [rsp + 0x20], 0
mov rdx, qword [rcx + 0x40]
add rdx, 0x4e
xor r8d, r8d
mov rcx, qword [rcx + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 0x65], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0x64], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0x63], al
movzx eax, byte [rsp + 0x20]
mov byte [rbp - 0x62], al
mov eax, dword [rbp - 0x65]
mov dword [0x14040aef8], eax
mov dword [rsp + 0x20], 0
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax + 0x40]
add rdx, 0x52
xor r8d, r8d
mov rcx, qword [rax + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 0x69], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0x68], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0x67], al
mov eax, dword [rsp + 0x20]
mov byte [rbp - 0x66], al
mov ecx, dword [rbp - 0x69]
mov dword [0x14040aefc], ecx
mov rcx, qword [rsp + 0x28]
cmp eax, esi
jne 0x1400b346c
mov dword [rsp + 0x20], 0
mov rdx, qword [rcx + 0x40]
sub rdx, 4
xor r8d, r8d
mov rcx, qword [rcx + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 0x6d], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0x6c], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0x6b], al
mov eax, dword [rsp + 0x20]
mov byte [rbp - 0x6a], al
mov edx, dword [rbp - 0x6d]
mov rcx, qword [rsp + 0x28]
mov dword [rcx + 0xb4], edx
cmp edx, 0x3e8
jae 0x1400b3471
mov eax, 4
mul rdx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400f0414
mov rcx, rax
mov rax, qword [rsp + 0x28]
mov qword [rax + 0x348], rcx
mov rdx, qword [rax + 0x40]
sub rdx, 4
xor r8d, r8d
mov rcx, qword [rax + 0x10]
call qword [0x140100168]
mov rax, qword [rsp + 0x28]
mov r8d, dword [rax + 0xb4]
mov r9, qword [rax + 0x10]
mov edx, 4
mov rcx, qword [rax + 0x348]
call qword [0x140100178]
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
cmp eax, edi
jne 0x1400b34e4
cmp dword [rbp - 0x59], 2
je 0x1400b3bf4
mov dword [rsp + 0x20], 0
mov rdx, qword [rcx + 0x40]
add rdx, 0x10
xor r8d, r8d
mov rcx, qword [rcx + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 0x71], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0x70], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0x6f], al
mov eax, dword [rsp + 0x20]
mov byte [rbp - 0x6e], al
mov ecx, dword [rbp - 0x71]
mov dword [0x14040af00], ecx
inc dword [rbp - 0x59]
cmp eax, dword [rbp - 0x31]
jne 0x1400b38ba
mov rax, qword [rsp + 0x28]
xor ecx, ecx
mov qword [rax + 0x290], rcx
mov dword [rsp + 0x20], ecx
mov rdx, qword [rax + 0x40]
sub rdx, 4
xor r8d, r8d
mov rcx, qword [rax + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 0x2d], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0x2c], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0x2b], al
movzx eax, byte [rsp + 0x20]
mov byte [rbp - 0x2a], al
mov dword [rsp + 0x20], 0
mov edx, dword [rbp - 0x2d]
mov rax, qword [rsp + 0x28]
add rdx, 0xfffffffffffffffc
add rdx, qword [rax + 0x40]
cmp rdx, qword [0x14040aef0]
jae 0x1400b35af
xor r8d, r8d
mov rcx, qword [rax + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
mov rax, qword [rsp + 0x28]
cmp dword [rsp + 0x20], r12d
je 0x1400b35af
mov byte [rax + 0x362], 0
mov rdx, qword [rax + 0x40]
add rdx, 8
xor r8d, r8d
mov rcx, qword [rax + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 0x29], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0x28], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0x27], al
mov eax, dword [rsp + 0x20]
mov byte [rbp - 0x26], al
mov edx, dword [rbp - 0x29]
mov rcx, qword [rsp + 0x28]
mov dword [rcx + 0x104], edx
cmp edx, 1
jbe 0x1400b38bf
mov byte [rcx + 0x363], 1
add qword [rcx + 0x40], 0xc
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov rdx, qword [rcx + 0x40]
mov rcx, qword [rcx + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 0x25], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0x24], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0x23], al
movzx eax, byte [rsp + 0x20]
mov byte [rbp - 0x22], al
mov ecx, dword [rbp - 0x25]
mov rax, qword [rsp + 0x28]
mov dword [rax + 0x108], ecx
mov dword [rsp + 0x20], 0
mov rdx, qword [rax + 0x40]
add rdx, 4
xor r8d, r8d
mov rcx, qword [rax + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 0x21], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0x20], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0x1f], al
movzx eax, byte [rsp + 0x20]
mov byte [rbp - 0x1e], al
mov ecx, dword [rbp - 0x21]
mov rax, qword [rsp + 0x28]
mov dword [rax + 0x10c], ecx
add qword [rax + 0x40], 8
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov rdx, qword [rax + 0x40]
mov rcx, qword [rax + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 0x1d], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0x1c], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0x1b], al
movzx eax, byte [rsp + 0x20]
mov byte [rbp - 0x1a], al
mov ecx, dword [rbp - 0x1d]
mov rax, qword [rsp + 0x28]
mov dword [rax + 0x110], ecx
mov dword [rsp + 0x20], 0
mov rdx, qword [rax + 0x40]
add rdx, 4
xor r8d, r8d
mov rcx, qword [rax + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 0x19], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0x18], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0x17], al
mov eax, dword [rsp + 0x20]
mov byte [rbp - 0x16], al
mov r8d, dword [rbp - 0x19]
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 0x288], r8
mov r9, qword [rcx + 0x40]
add r9, 8
mov qword [rcx + 0x40], r9
mov edx, dword [rcx + 0x110]
cmp edx, 2
jne 0x1400b37e4
mov qword [rcx + 0x290], r8
jmp 0x1400b38bf
cmp edx, 1
jne 0x1400b38bf
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov rdx, r9
mov rcx, qword [rcx + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 0x15], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0x14], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0x13], al
movzx eax, byte [rsp + 0x20]
mov byte [rbp - 0x12], al
mov ecx, dword [rbp - 0x15]
mov rax, qword [rsp + 0x28]
mov dword [rax + 0x114], ecx
mov dword [rsp + 0x20], 0
mov rdx, qword [rax + 0x40]
add rdx, 4
xor r8d, r8d
mov rcx, qword [rax + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 0x11], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0x10], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0xf], al
mov eax, dword [rsp + 0x20]
mov byte [rbp - 0xe], al
mov edx, dword [rbp - 0x11]
mov rcx, qword [rsp + 0x28]
mov qword [rcx + 0x290], rdx
jmp 0x1400b38bf
mov rcx, qword [rsp + 0x28]
cmp byte [rcx + 0x35f], 0
je 0x1400b3b1c
mov byte [0x14040b034], 1
cmp eax, esi
jne 0x1400b3a18
mov dword [rsp + 0x20], 0
mov rdx, qword [rcx + 0x40]
sub rdx, 4
xor r8d, r8d
mov rcx, qword [rcx + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 0xd], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0xc], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0xb], al
movzx eax, byte [rsp + 0x20]
mov byte [rbp - 0xa], al
mov ecx, dword [rbp - 0xd]
mov rax, qword [rsp + 0x28]
mov dword [rax + 0x11c], ecx
cmp ecx, 0x29e
jae 0x1400b39b1
mov eax, 4
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400f0414
mov rcx, rax
mov rax, qword [rsp + 0x28]
mov qword [rax + 0x350], rcx
mov rdx, qword [rax + 0x40]
sub rdx, 4
xor r8d, r8d
mov rcx, qword [rax + 0x10]
call qword [0x140100168]
mov rax, qword [rsp + 0x28]
mov r8d, dword [rax + 0x11c]
mov r9, qword [rax + 0x10]
mov edx, 4
mov rcx, qword [rax + 0x350]
call qword [0x140100178]
mov rax, qword [rsp + 0x28]
mov dword [rsp + 0x20], 0
mov rdx, qword [rax + 0x40]
add rdx, 0x2a
xor r8d, r8d
mov rcx, qword [rax + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 9], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 8], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 7], al
mov eax, dword [rsp + 0x20]
mov byte [rbp - 6], al
mov edx, dword [rbp - 9]
mov rcx, qword [rsp + 0x28]
mov dword [rcx + 0x128], edx
cmp eax, r15d
jne 0x1400b3a7f
mov dword [rsp + 0x20], 0
mov rdx, qword [rcx + 0x40]
add rdx, 0x10
xor r8d, r8d
mov rcx, qword [rcx + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 5], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 4], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 3], al
mov eax, dword [rsp + 0x20]
mov byte [rbp - 2], al
mov ecx, dword [rbp - 5]
mov dword [0x14040af04], ecx
mov rcx, qword [rsp + 0x28]
cmp eax, dword [rbp - 1]
jne 0x1400b3a90
mov byte [rcx + 0x360], 1
cmp eax, dword [rbp + 3]
jne 0x1400b3a9c
mov byte [rcx + 0x36d], 1
cmp eax, dword [rbp + 7]
je 0x1400b3b3d
cmp eax, edi
jne 0x1400b3b0e
mov dword [rsp + 0x20], 0
mov rdx, qword [rcx + 0x40]
add rdx, 0x10
xor r8d, r8d
mov rcx, qword [rcx + 0x10]
call qword [0x140100168]
mov r9, qword [rsp + 0x28]
mov r9, qword [r9 + 0x10]
mov edx, 1
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 0x79], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0x78], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0x77], al
mov eax, dword [rsp + 0x20]
mov byte [rbp - 0x76], al
mov ecx, dword [rbp - 0x79]
mov dword [0x14040af08], ecx
inc dword [rbp - 0x59]
cmp eax, r14d
je 0x1400b3bf4
mov rcx, qword [rsp + 0x28]
inc qword [rcx + 0x40]
dec qword [0x14040aef0]
mov rdx, qword [rcx + 0x40]
mov r8, qword [rcx + 0x48]
cmp rdx, r8
jae 0x1400b3bf4
jmp 0x1400b2f70
xor edi, edi
mov dword [rsp + 0x20], edi
mov rdx, qword [rcx + 0x40]
add rdx, 0x10
xor r8d, r8d
mov rcx, qword [rcx + 0x10]
call qword [0x140100168]
mov rbx, qword [rsp + 0x28]
mov r9, qword [rbx + 0x10]
lea edx, [rdi + 1]
lea r8d, [rdi + 4]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
mov byte [rbp - 0x79], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0x78], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0x77], al
movzx eax, byte [rsp + 0x20]
mov byte [rbp - 0x76], al
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x40]
add rdx, 0x14
mov dword [rsp + 0x20], edi
xor r8d, r8d
call qword [0x140100168]
mov r9, qword [rbx + 0x10]
lea edx, [rdi + 1]
lea r8d, [rdi + 4]
lea rcx, [rsp + 0x20]
call qword [0x140100178]
movzx eax, byte [rsp + 0x23]
cmp dword [rbp - 0x79], 4
mov byte [rbp - 0x79], al
movzx eax, byte [rsp + 0x22]
mov byte [rbp - 0x78], al
movzx eax, byte [rsp + 0x21]
mov byte [rbp - 0x77], al
movzx eax, byte [rsp + 0x20]
mov byte [rbp - 0x76], al
mov eax, dword [rbp - 0x79]
je 0x1400b3bee
add eax, 0xffffffce
mov dword [0x14040af20], eax
mov byte [0x14040aeda], 1
lea rcx, [rbp + 0x17]
call qword [0x1400fec30]
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1400f0100
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret