Function at 0x1401f8580
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe8
mov rax, qword [0x1411d99d8]
xor rax, rsp
mov qword [rbp + 7], rax
xor ebx, ebx
mov qword [rbp - 0x41], r9
xor r12b, r12b
mov byte [rbp - 0x7d], r8b
cmp byte [0x1411dd026], bl
mov r15, r9
movzx esi, r8b
mov qword [rbp - 0x31], rdx
mov rdi, rcx
mov qword [rbp - 0x39], rcx
mov byte [rbp - 0x6d], r12b
mov word [rbp - 0x61], 0x301
mov word [rbp - 0x71], 0x1001
mov word [rbp - 0x49], 0x1101
mov word [rbp - 0x51], 0x1701
mov word [rbp - 0x79], 0x4a01
mov word [rbp - 0x65], 0xfe00
mov dword [rbp - 9], 0x41444f4b
mov dword [rbp - 1], 0x61646f4b
mov dword [rbp - 0x29], 0x20534344
mov dword [rbp - 0x25], 0x206f7250
mov dword [rbp - 0x21], 0x41444f4b
mov dword [rbp - 0x1d], 0x4344204b
mov word [rbp - 0x19], 0x3532
mov dword [rbp - 0x11], 0x61646f4b
mov dword [rsp + 0x40], ebx
mov dword [rbp - 0x4d], ebx
jne 0x1401f934d
mov edx, dword [rcx + 0x28]
imul edx, dword [rcx + 0x48]
lea ecx, [rbx + 1]
mov qword [rsp + 0xe0], r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r13, rax
test rax, rax
je 0x1401f9345
mov eax, dword [rdi + 0x28]
mov r9, r13
mov ecx, dword [rdi + 0x48]
mov r8, r15
imul eax, ecx
movzx edx, sil
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0xd8], r14
mov dword [rsp + 0x20], eax
call fcn.1401c1720
test eax, eax
je 0x1401f9334
cmp byte [0x1411dd028], r12b
mov ebx, dword [r13 + 4]
jne 0x1401f86b8
mov eax, ebx
mov byte [rbp - 0x56], bl
shr eax, 0x18
mov byte [rbp - 0x59], al
mov eax, ebx
shr eax, 0x10
mov byte [rbp - 0x58], al
mov eax, ebx
shr eax, 8
mov byte [rbp - 0x57], al
mov ebx, dword [rbp - 0x59]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, dword [rdi + 0x28]
xor edx, edx
imul ecx, dword [rdi + 0x48]
mov eax, ebx
div ecx
mov r14d, eax
add r14, r15
cmp byte [0x1411dd026], r12b
jne 0x1401f933d
mov edx, ecx
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r13, rax
test rax, rax
je 0x1401f933d
mov eax, dword [rdi + 0x28]
mov r9, r13
mov ecx, dword [rdi + 0x48]
mov r8, r14
imul eax, ecx
movzx edx, sil
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], eax
call fcn.1401c1720
test eax, eax
je 0x1401f9334
mov ecx, dword [rdi + 0x28]
xor edx, edx
imul ecx, dword [rdi + 0x48]
mov eax, ebx
div ecx
lea ebx, [rdx + 2]
cmp ebx, ecx
ja 0x1401f9334
cmp byte [0x1411dd028], r12b
movzx esi, word [rdx + r13]
jne 0x1401f8767
movzx eax, si
mov byte [rbp - 0x58], sil
shr ax, 8
mov byte [rbp - 0x59], al
movzx esi, word [rbp - 0x59]
movzx eax, si
mov rcx, r13
add ax, ax
add si, ax
shl si, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, dword [rdi + 0x28]
xor edx, edx
imul ecx, dword [rdi + 0x48]
movzx r15d, si
mov eax, r15d
mov dword [rbp - 0x75], r15d
div ecx
lea esi, [rcx + rcx]
sub esi, edx
add esi, r15d
cmp byte [0x1411dd026], r12b
mov dword [rbp - 0x69], esi
jne 0x1401f933d
mov edx, esi
mov ecx, 1
mov qword [rbp - 0x59], rdx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r13, rax
test rax, rax
je 0x1401f933d
movzx edx, byte [rbp - 0x7d]
xor eax, eax
mov ecx, dword [rdi + 0x48]
mov r9, r13
mov dword [rsp + 0x30], eax
mov r8, r14
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
call fcn.1401c1720
test eax, eax
je 0x1401f9334
movzx r10d, byte [0x1411dd026]
lea r8d, [r15 + rbx]
movzx r15d, word [rbp - 0x65]
mov ecx, ebx
mov r9, qword [rbp - 0x59]
nop dword [rax + rax]
test r10b, r10b
jne 0x1401f9334
mov edx, ecx
lea rax, [rdx + 2]
cmp rax, r9
ja 0x1401f9334
cmp r15w, word [rdx + r13]
je 0x1401f883b
inc ecx
cmp ecx, r8d
jbe 0x1401f8810
jmp 0x1401f9334
lea eax, [rcx + 0xc]
cmp eax, esi
ja 0x1401f9334
lea eax, [rcx + 8]
mov edx, dword [rax + r13]
movzx eax, byte [0x1411dd028]
test al, al
sete r10b
mov byte [rbp - 0x59], r10b
test al, al
jne 0x1401f8880
mov eax, edx
mov byte [rbp - 0x62], dl
shr eax, 0x18
mov byte [rbp - 0x65], al
mov eax, edx
shr eax, 0x10
mov byte [rbp - 0x64], al
mov eax, edx
shr eax, 8
mov byte [rbp - 0x63], al
mov edx, dword [rbp - 0x65]
movzx esi, word [rbp - 0x49]
movzx r14d, word [rbp - 0x51]
cmp edx, 1
jne 0x1401f896b
mov r10d, dword [rbp - 0x75]
mov edx, ebx
movzx eax, word [rbp - 0x61]
add r10d, ebx
nop
mov r8d, edx
lea rcx, [r8 + 2]
cmp rcx, r9
ja 0x1401f9334
cmp ax, word [r8 + r13]
je 0x1401f88c3
inc edx
cmp edx, r10d
jbe 0x1401f88a0
jmp 0x1401f9334
mov r11d, dword [rbp - 0x69]
lea eax, [rdx + 0xc]
cmp eax, r11d
ja 0x1401f9334
mov ecx, ebx
nop word [rax + rax]
mov edx, ecx
lea rax, [rdx + 2]
cmp rax, r9
ja 0x1401f9334
cmp si, word [rdx + r13]
je 0x1401f8902
inc ecx
cmp ecx, r10d
jbe 0x1401f88e0
jmp 0x1401f9334
lea eax, [rcx + 0xc]
cmp eax, r11d
ja 0x1401f9334
mov ecx, ebx
mov edx, ecx
lea rax, [rdx + 2]
cmp rax, r9
ja 0x1401f9334
cmp r14w, word [rdx + r13]
je 0x1401f8932
inc ecx
cmp ecx, r10d
jbe 0x1401f8910
jmp 0x1401f9334
lea eax, [rcx + 0xc]
cmp eax, r11d
ja 0x1401f9334
movzx r10d, byte [rbp - 0x59]
movzx eax, word [rbp - 0x71]
mov edx, ebx
nop dword [rax]
mov r8d, edx
lea rcx, [r8 + 2]
cmp rcx, r9
ja 0x1401f9334
cmp ax, word [r8 + r13]
je 0x1401f8971
inc edx
jmp 0x1401f8950
mov r11d, dword [rbp - 0x69]
jmp 0x1401f8943
lea eax, [rdx + 4]
cmp eax, r11d
ja 0x1401f9334
lea eax, [rdx + 8]
mov ecx, dword [rax + r13]
mov dword [rbp - 0x51], ecx
test r10b, r10b
je 0x1401f89ad
mov eax, ecx
mov byte [rbp - 0x6e], cl
shr eax, 0x18
mov byte [rbp - 0x71], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp - 0x70], al
mov eax, ecx
shr eax, 8
mov byte [rbp - 0x6f], al
mov ecx, dword [rbp - 0x71]
mov dword [rbp - 0x51], ecx
mov r8d, dword [rbp - 0x75]
movzx eax, word [rbp - 0x79]
add r8d, ebx
nop dword [rax + rax]
lea rcx, [rbx + 2]
cmp rcx, r9
ja 0x1401f9334
cmp ax, word [rbx + r13]
je 0x1401f89e0
inc ebx
cmp ebx, r8d
jbe 0x1401f89c0
jmp 0x1401f9334
add ebx, 2
lea eax, [rbx + 0xa]
cmp eax, r11d
ja 0x1401f9334
cmp byte [0x1411dd028], r12b
lea edx, [rbx + 2]
movzx ecx, word [rbx + r13]
mov word [rbp - 0x79], cx
jne 0x1401f8a65
movzx eax, cx
mov byte [rbp - 0x78], cl
shr ax, 8
mov byte [rbp - 0x79], al
mov eax, dword [rdx + r13]
mov ecx, eax
shr ecx, 0x18
mov byte [rbp - 0x61], cl
mov ecx, eax
shr ecx, 0x10
mov byte [rbp - 0x60], cl
mov ecx, eax
shr ecx, 8
mov byte [rbp - 0x5f], cl
mov byte [rbp - 0x5e], al
lea eax, [rdx + 4]
mov eax, dword [rax + r13]
mov ecx, eax
shr ecx, 0x18
mov byte [rbp - 0x71], cl
mov ecx, eax
shr ecx, 0x10
mov byte [rbp - 0x70], cl
mov ecx, eax
mov byte [rbp - 0x6e], al
mov eax, dword [rbp - 0x61]
shr ecx, 8
mov dword [rbp - 0x75], eax
movzx eax, word [rbp - 0x79]
mov byte [rbp - 0x6f], cl
mov ebx, dword [rbp - 0x71]
mov word [rbp - 0x79], ax
jmp 0x1401f8a73
lea eax, [rdx + 4]
mov ebx, dword [rax + r13]
mov eax, dword [rdx + r13]
mov dword [rbp - 0x75], eax
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [rdi + 0x28]
imul eax, dword [rdi + 0x48]
cmp byte [0x1411dd026], r12b
mov dword [rbp - 0x69], eax
jne 0x1401f933d
mov edx, eax
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r13, rax
test rax, rax
je 0x1401f933d
mov eax, dword [rbp - 0x51]
xor edx, edx
div dword [rbp - 0x69]
mov r9d, dword [rdi + 0x28]
mov ecx, dword [rdi + 0x48]
movzx edx, byte [rbp - 0x7d]
imul r9d, ecx
mov r8d, eax
xor eax, eax
add r8, qword [rbp - 0x41]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
mov r9, r13
call fcn.1401c1720
test eax, eax
je 0x1401f9334
mov r8d, dword [rdi + 0x28]
xor edx, edx
imul r8d, dword [rdi + 0x48]
mov eax, dword [rbp - 0x51]
div r8d
mov dword [rbp - 0x71], r8d
lea eax, [rdx + 0xa]
cmp eax, r8d
ja 0x1401f9334
mov r9d, dword [rbp - 9]
mov r11b, 0x4b
mov ecx, edx
add rcx, r13
cmp r9d, dword [rcx]
jne 0x1401f8b22
cmp r11b, byte [rcx + 4]
je 0x1401f8b32
mov eax, dword [rbp - 1]
cmp eax, dword [rcx]
jne 0x1401f8ba2
mov r10b, 0x6b
cmp r10b, byte [rcx + 4]
jne 0x1401f8ba2
mov rax, qword [rbp - 0x21]
mov r9d, 1
movzx edx, byte [rbp + 0x7f]
cmp rax, qword [rcx]
jne 0x1401f8b5f
movzx eax, word [rbp - 0x19]
cmp ax, word [rcx + 8]
jne 0x1401f8b5f
mov eax, dword [rbp - 0x6d]
cmp dl, r9b
movzx eax, al
cmove eax, r9d
mov dword [rbp - 0x6d], eax
mov rax, qword [rbp - 0x29]
cmp rax, qword [rcx]
jne 0x1401f8b77
mov eax, dword [rsp + 0x40]
cmp dl, 2
cmove eax, r9d
mov dword [rsp + 0x40], eax
mov eax, dword [rbp - 0x11]
mov r10d, 1
cmp eax, dword [rcx]
jne 0x1401f8c39
mov al, 0x6b
cmp al, byte [rcx + 4]
mov eax, dword [rbp - 0x4d]
jne 0x1401f8c3c
cmp dl, 3
cmove eax, r9d
jmp 0x1401f8c3c
cmp edx, 8
jb 0x1401f9334
mov r10d, dword [rbp - 0x11]
cmp r10d, dword [rcx - 8]
jne 0x1401f8bbc
mov dl, 0x6b
cmp dl, byte [rcx - 4]
je 0x1401f8bdc
cmp r9d, dword [rcx - 6]
jne 0x1401f8bc8
cmp r11b, byte [rcx - 2]
je 0x1401f8bdc
cmp eax, dword [rcx - 6]
jne 0x1401f9334
mov al, 0x6b
cmp al, byte [rcx - 2]
jne 0x1401f9334
mov rax, qword [rbp - 0x21]
mov r9d, 1
movzx edx, byte [rbp + 0x7f]
cmp rax, qword [rcx]
jne 0x1401f8c07
movzx eax, word [rbp - 0x19]
cmp ax, word [rcx + 8]
jne 0x1401f8c07
movzx eax, byte [rbp - 0x6d]
cmp dl, r9b
cmove eax, r9d
mov byte [rbp - 0x6d], al
mov rax, qword [rbp - 0x29]
cmp rax, qword [rcx]
jne 0x1401f8c1f
mov eax, dword [rsp + 0x40]
cmp dl, 2
cmove eax, r9d
mov dword [rsp + 0x40], eax
cmp r10d, dword [rcx]
mov r10d, 1
jne 0x1401f8c39
mov al, 0x6b
cmp al, byte [rcx + 4]
jne 0x1401f8c39
mov eax, r10d
cmp dl, 3
je 0x1401f8c3c
mov eax, dword [rbp - 0x4d]
cmp byte [rbp - 0x6d], r12b
jne 0x1401f8c50
test eax, eax
jne 0x1401f8c50
cmp dword [rsp + 0x40], eax
je 0x1401f9334
mov ecx, dword [rbp - 0x75]
mov dword [rbp - 0x69], 0
cmp ecx, 1
jne 0x1401f8c6b
mov edi, dword [rbp - 0x75]
mov dword [rbp - 0x69], r10d
jmp 0x1401f8ded
lea eax, [rbx + 4]
mov r12b, 1
mov dword [rsp + 0x40], eax
movzx eax, word [rbp - 0x79]
imul eax, ecx
add eax, 0xfffffffc
add eax, ebx
cmp byte [0x1411dd026], 0
mov dword [rbp - 0x75], eax
jne 0x1401f9334
mov edx, r8d
mov rcx, r10
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r13, rax
test rax, rax
je 0x1401f933d
mov r9d, dword [rdi + 0x28]
xor edx, edx
mov ebx, dword [rsp + 0x40]
mov eax, ebx
div dword [rbp - 0x71]
mov ecx, dword [rdi + 0x48]
movzx edx, byte [rbp - 0x7d]
imul r9d, ecx
mov r8d, eax
xor eax, eax
add r8, qword [rbp - 0x41]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
mov r9, r13
call fcn.1401c1720
test eax, eax
je 0x1401f9334
mov ecx, dword [rdi + 0x28]
xor edx, edx
imul ecx, dword [rdi + 0x48]
mov eax, ebx
div ecx
mov dword [rbp - 0x6d], ecx
lea eax, [rdx + 3]
cmp eax, ecx
ja 0x1401f8f73
cmp byte [0x1411dd028], 0
mov ebx, dword [rdx + r13]
jne 0x1401f8d32
mov eax, ebx
mov byte [rbp - 0x7e], bl
shr eax, 0x18
mov byte [rsp + 0x40], al
mov eax, ebx
shr eax, 0x10
mov byte [rbp - 0x80], al
mov eax, ebx
shr eax, 8
mov byte [rbp - 0x7f], al
mov ebx, dword [rsp + 0x40]
cmp byte [0x1411dd026], 0
jne 0x1401f9334
mov edx, ecx
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r13, rax
test rax, rax
je 0x1401f933d
mov eax, dword [rbp - 0x75]
xor edx, edx
div dword [rbp - 0x6d]
mov r9d, dword [rdi + 0x28]
mov ecx, dword [rdi + 0x48]
movzx edx, byte [rbp - 0x7d]
imul r9d, ecx
mov r8d, eax
xor eax, eax
add r8, qword [rbp - 0x41]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r9d
mov r9, r13
call fcn.1401c1720
test eax, eax
je 0x1401f9334
mov ecx, dword [rdi + 0x28]
xor edx, edx
imul ecx, dword [rdi + 0x48]
mov eax, dword [rbp - 0x75]
div ecx
lea eax, [rdx + 3]
cmp eax, ecx
ja 0x1401f8f73
cmp byte [0x1411dd028], 0
mov edi, dword [rdx + r13]
jne 0x1401f8ddd
mov eax, edi
mov byte [rbp - 0x7e], dil
shr eax, 0x18
mov byte [rsp + 0x40], al
mov eax, edi
shr eax, 0x10
mov byte [rbp - 0x80], al
mov eax, edi
shr eax, 8
mov byte [rbp - 0x7f], al
mov edi, dword [rsp + 0x40]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r13d, r13d
lea r10d, [r13 + 1]
mov rax, qword [rbp - 0x39]
xor edx, edx
mov ecx, dword [rax + 0x28]
imul ecx, dword [rax + 0x48]
mov eax, ebx
div ecx
add rax, qword [rbp - 0x41]
cmp byte [0x1411dd026], 0
mov qword [rbp - 0x29], rax
jne 0x1401f932c
mov edx, ecx
mov rcx, r10
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r13, rax
mov r12b, 1
test rax, rax
je 0x1401f933d
mov rax, qword [rbp - 0x39]
xor edx, edx
mov r8, qword [rbp - 0x29]
mov r9, r13
mov dword [rsp + 0x30], edx
mov qword [rsp + 0x28], rdx
mov ecx, dword [rax + 0x48]
mov eax, dword [rax + 0x28]
movzx edx, byte [rbp - 0x7d]
imul eax, ecx
mov dword [rsp + 0x20], eax
call fcn.1401c1720
test eax, eax
je 0x1401f9334
mov rax, qword [rbp - 0x39]
xor edx, edx
mov ecx, dword [rax + 0x28]
imul ecx, dword [rax + 0x48]
mov eax, ebx
div ecx
cmp byte [0x1411dd028], 0
mov dword [rsp + 0x40], edx
movzx r12d, word [rdx + r13]
jne 0x1401f8e98
movzx eax, r12w
mov byte [rbp - 0x78], r12b
shr ax, 8
mov byte [rbp - 0x79], al
movzx r12d, word [rbp - 0x79]
movzx eax, r12w
mov rcx, r13
add ax, ax
add r12w, ax
shl r12w, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbx, qword [rbp - 0x39]
xor edx, edx
movzx r8d, r12w
mov r12b, 1
mov eax, r8d
mov dword [rbp - 0x6d], r8d
mov ecx, dword [rbx + 0x28]
imul ecx, dword [rbx + 0x48]
div ecx
lea eax, [rcx + rcx]
sub eax, edx
add eax, r8d
cmp byte [0x1411dd026], 0
mov dword [rbp - 0x75], eax
jne 0x1401f933d
mov edx, eax
mov ecx, 1
mov qword [rbp - 1], rdx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r13, rax
test rax, rax
je 0x1401f933d
mov r8, qword [rbp - 0x29]
xor eax, eax
movzx edx, byte [rbp - 0x7d]
mov r9, r13
mov ecx, dword [rbx + 0x48]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x75]
mov dword [rsp + 0x20], eax
call fcn.1401c1720
test eax, eax
je 0x1401f9334
mov edx, dword [rsp + 0x40]
mov r12d, dword [rbp - 0x6d]
add edx, 2
movzx r10d, byte [0x1411dd026]
mov ecx, edx
mov r9, qword [rbp - 1]
lea r11d, [r12 + rdx]
nop dword [rax]
test r10b, r10b
jne 0x1401f9327
mov r8d, ecx
lea rax, [r8 + 2]
cmp rax, r9
ja 0x1401f8f73
cmp r15w, word [r8 + r13]
je 0x1401f8f7b
inc ecx
cmp ecx, r11d
jbe 0x1401f8f50
xor r12b, r12b
jmp 0x1401f9334
mov r11d, dword [rbp - 0x75]
lea eax, [rcx + 0xc]
cmp eax, r11d
ja 0x1401f8f73
lea eax, [rcx + 8]
mov r8d, dword [rax + r13]
movzx eax, byte [0x1411dd028]
test al, al
sete r15b
mov byte [rbp - 0x59], r15b
test al, al
jne 0x1401f8fc8
mov eax, r8d
mov byte [rbp - 0x7e], r8b
shr eax, 0x18
mov byte [rsp + 0x40], al
mov eax, r8d
shr eax, 0x10
mov byte [rbp - 0x80], al
mov eax, r8d
shr eax, 8
mov byte [rbp - 0x7f], al
mov r8d, dword [rsp + 0x40]
test r8d, r8d
je 0x1401f8fd7
cmp byte [rbp - 0x59], 0
je 0x1401f90d2
mov ecx, edx
lea r10d, [r12 + rdx]
nop dword [rax]
mov r8d, ecx
lea rax, [r8 + 2]
cmp rax, r9
ja 0x1401f8f73
cmp si, word [r8 + r13]
je 0x1401f9002
inc ecx
cmp ecx, r10d
jbe 0x1401f8fe0
xor r12b, r12b
jmp 0x1401f9334
lea eax, [rcx + 0xc]
cmp eax, r11d
ja 0x1401f8f73
lea eax, [rcx + 8]
mov r12d, dword [rax + r13]
test r15b, r15b
je 0x1401f9040
mov eax, r12d
mov byte [rbp - 0x7e], r12b
shr eax, 0x18
mov byte [rsp + 0x40], al
mov eax, r12d
shr eax, 0x10
mov byte [rbp - 0x80], al
mov eax, r12d
shr eax, 8
mov byte [rbp - 0x7f], al
mov r12d, dword [rsp + 0x40]
nop
lea rax, [rdx + 2]
cmp rax, r9
ja 0x1401f8f73
cmp r14w, word [rdx + r13]
je 0x1401f9063
inc edx
cmp edx, r10d
jbe 0x1401f9040
xor r12b, r12b
jmp 0x1401f9334
lea eax, [rdx + 0xc]
cmp eax, r11d
ja 0x1401f8f73
cmp byte [rbp - 0x59], 0
lea eax, [rdx + 8]
mov r15d, dword [rax + r13]
je 0x1401f90a1
mov eax, r15d
mov byte [rbp - 0x7e], r15b
shr eax, 0x18
mov byte [rsp + 0x40], al
mov eax, r15d
shr eax, 0x10
mov byte [rbp - 0x80], al
mov eax, r15d
shr eax, 8
mov byte [rbp - 0x7f], al
mov r15d, dword [rsp + 0x40]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [rbp - 0x31]
lea ecx, [r15 + r12]
xor r13d, r13d
mov rax, qword [rdx + 0x71]
mov qword [rdx + 0x10], rcx
mov dword [rax], r13d
mov rcx, qword [rdx + 0x71]
mov eax, dword [rdx + 0x10]
mov dword [rcx + 4], eax
movzx r10d, byte [0x1411dd026]
cmp dword [rbp - 0x69], 0
jne 0x1401f932c
mov ecx, dword [rbx + 0x28]
xor edx, edx
imul ecx, dword [rbx + 0x48]
mov eax, edi
div ecx
mov r15d, eax
add r15, qword [rbp - 0x41]
mov qword [rbp - 0x41], r15
test r10b, r10b
jne 0x1401f932c
mov edx, ecx
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r13, rax
mov r12b, 1
test rax, rax
je 0x1401f933d
mov ecx, dword [rbx + 0x48]
xor edx, edx
mov dword [rsp + 0x30], edx
mov eax, ecx
imul eax, dword [rbx + 0x28]
mov r9, r13
mov qword [rsp + 0x28], rdx
mov r8, r15
movzx edx, byte [rbp - 0x7d]
mov dword [rsp + 0x20], eax
call fcn.1401c1720
test eax, eax
je 0x1401f9334
mov ecx, dword [rbx + 0x28]
xor edx, edx
imul ecx, dword [rbx + 0x48]
mov eax, edi
div ecx
lea ebx, [rdx + 2]
cmp ebx, ecx
ja 0x1401f8f73
cmp byte [0x1411dd028], 0
movzx r15d, word [rdx + r13]
jne 0x1401f9182
movzx eax, r15w
mov byte [rbp - 0x78], r15b
shr ax, 8
mov byte [rbp - 0x79], al
movzx r15d, word [rbp - 0x79]
movzx eax, r15w
mov rcx, r13
add ax, ax
add r15w, ax
shl r15w, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdi, qword [rbp - 0x39]
xor edx, edx
movzx ecx, r15w
mov eax, ecx
mov dword [rbp - 0x69], ecx
mov r8d, dword [rdi + 0x28]
imul r8d, dword [rdi + 0x48]
div r8d
lea eax, [r8 + r8]
sub eax, edx
add eax, ecx
cmp byte [0x1411dd026], 0
mov dword [rbp - 0x75], eax
jne 0x1401f933d
mov edx, eax
mov ecx, 1
mov r15d, eax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r13, rax
test rax, rax
je 0x1401f933d
mov r8, qword [rbp - 0x41]
xor eax, eax
movzx edx, byte [rbp - 0x7d]
mov r9, r13
mov ecx, dword [rdi + 0x48]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x75]
mov dword [rsp + 0x20], eax
call fcn.1401c1720
test eax, eax
je 0x1401f9334
mov r10d, dword [rbp - 0x69]
mov ecx, ebx
movzx r9d, byte [0x1411dd026]
lea r8d, [rbx + r10]
nop dword [rax]
test r9b, r9b
jne 0x1401f9334
movsxd rdx, ecx
lea rax, [rdx + 2]
cmp rax, r15
ja 0x1401f8f73
cmp si, word [rdx + r13]
je 0x1401f925f
inc ecx
cmp ecx, r8d
jle 0x1401f9230
xor r12b, r12b
jmp 0x1401f9334
mov r8d, dword [rbp - 0x75]
add ecx, 2
lea eax, [rcx + 0xa]
cmp eax, r8d
ja 0x1401f8f73
movsxd rax, ecx
mov edx, dword [rax + r13 + 6]
movzx eax, byte [0x1411dd028]
test al, al
sete r11b
test al, al
jne 0x1401f92ab
mov eax, edx
mov byte [rbp - 0x7e], dl
shr eax, 0x18
mov byte [rsp + 0x40], al
mov eax, edx
shr eax, 0x10
mov byte [rbp - 0x80], al
mov eax, edx
shr eax, 8
mov byte [rbp - 0x7f], al
mov edx, dword [rsp + 0x40]
lea r9d, [rbx + r10]
nop
movsxd rcx, ebx
lea rax, [rcx + 2]
cmp rax, r15
ja 0x1401f8f73
cmp r14w, word [rcx + r13]
je 0x1401f92d3
inc ebx
cmp ebx, r9d
jle 0x1401f92b0
xor r12b, r12b
jmp 0x1401f9334
add ebx, 2
lea eax, [rbx + 0xa]
cmp eax, r8d
ja 0x1401f8f73
movsxd rax, ebx
mov ecx, dword [rax + r13 + 6]
test r11b, r11b
je 0x1401f930f
mov eax, ecx
mov byte [rbp - 0x7e], cl
shr eax, 0x18
mov byte [rsp + 0x40], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp - 0x80], al
mov eax, ecx
shr eax, 8
mov byte [rbp - 0x7f], al
mov ecx, dword [rsp + 0x40]
inc edx
add ecx, edx
mov rdx, qword [rbp - 0x31]
movsxd rax, ecx
mov qword [rdx + 0x10], rax
mov rax, qword [rdx + 0x71]
mov dword [rax + 4], ecx
jmp 0x1401f9334
mov r12b, 1
jmp 0x1401f9334
mov r12b, 1
test r13, r13
je 0x1401f933d
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r14, qword [rsp + 0xd8]
mov r13, qword [rsp + 0xe0]
movzx eax, r12b
mov rcx, qword [rbp + 7]
xor rcx, rsp
call fcn.1402b25d0
add rsp, 0xe8
pop r15
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret