Function at 0x14014b740
Capabilities:
Check for software breakpoints

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x890
mov rax, qword [0x1401ad1c0]
xor rax, rsp
mov qword [rsp + 0x888], rax
movsxd rax, dword [rsp + 0x8b0]
mov rcx, qword [rsp + 0x8a8]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x20], rax
mov eax, dword [rsp + 0x8b0]
add eax, 1
cdqe
mov rcx, qword [rsp + 0x8a8]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0
mov byte [rsp + Ordinal_1111], 0
lea rax, [rsp + 0x451]
mov rdi, rax
xor eax, eax
mov ecx, 0x409
rep stosb byte [rdi], al
mov byte [rsp + 0x40], 0
lea rax, [rsp + 0x41]
mov rdi, rax
xor eax, eax
mov ecx, 0x409
rep stosb byte [rdi], al
cmp qword [rsp + 0x20], 0
je 0x14014bd38
cmp qword [rsp + 0x30], 0
je 0x14014bd38
mov rax, qword [rsp + 0x20]
cmp qword [rax + 0x408], 0
je 0x14014bd38
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x408], 0
je 0x14014bd38
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x408]
movsx eax, word [rax + 2]
mov rcx, qword [rsp + 0x20]
mov rcx, qword [rcx + 0x408]
movsx ecx, word [rcx + 2]
cmp eax, ecx
jge 0x14014b848
mov dword [rsp + 0x28], 1
jmp case.0x14014b8e8.3
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x408]
movsx eax, word [rax + 2]
mov rcx, qword [rsp + 0x20]
mov rcx, qword [rcx + 0x408]
movsx ecx, word [rcx + 2]
cmp eax, ecx
jne case.0x14014b8e8.3
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x408]
movsx eax, word [rax + 2]
mov dword [rsp + 0x86c], eax
cmp dword [rsp + 0x86c], 0x1f7
jg 0x14014b8ea
cmp dword [rsp + 0x86c], 0x1f5
jge case.0x14014b8e8.84
mov eax, dword [rsp + 0x86c]
sub eax, 1
mov dword [rsp + 0x86c], eax
cmp dword [rsp + 0x86c], 0xcc
ja case.0x14014b8e8.3
movsxd rax, dword [rsp + 0x86c]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x14bd78]
mov eax, dword [rcx + rax*4 + 0x14bd58]
add rax, rcx
jmp rax
cmp dword [rsp + 0x86c], 0x3e8
je case.0x14014b8e8.4
jmp case.0x14014b8e8.3
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x408]
mov ecx, dword [rax + 8]
call fcn.14014ecd0
mov dword [rsp + Ordinal_2165], eax
mov rcx, qword [rsp + 0x20]
mov rcx, qword [rcx + 0x408]
mov ecx, dword [rcx + 8]
call fcn.14014ecd0
mov ecx, dword [rsp + 0x870]
cmp ecx, eax
jge 0x14014b942
mov dword [rsp + 0x28], 1
jmp case.0x14014b8e8.3
mov dword [rsp + 0x860], 0
jmp 0x14014b965
mov eax, dword [rsp + 0x860]
add eax, 1
mov dword [rsp + 0x860], eax
cmp dword [rsp + 0x860], 6
jge 0x14014b9ee
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x408]
movsxd rcx, dword [rsp + 0x860]
movzx eax, byte [rax + rcx + 8]
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx + 0x408]
movsxd rdx, dword [rsp + 0x860]
movzx ecx, byte [rcx + rdx + 8]
cmp eax, ecx
jge 0x14014b9a9
jmp 0x14014b9ee
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x408]
movsxd rcx, dword [rsp + 0x860]
movzx eax, byte [rax + rcx + 8]
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx + 0x408]
movsxd rdx, dword [rsp + 0x860]
movzx ecx, byte [rcx + rdx + 8]
cmp eax, ecx
jle 0x14014b9e9
mov dword [rsp + 0x28], 1
jmp 0x14014b9ee
jmp 0x14014b954
jmp case.0x14014b8e8.3
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x408]
movsx eax, word [rax + 2]
cmp eax, 0x18
jne 0x14014ba15
mov dword [rsp + Ordinal_2165], 1
jmp 0x14014ba50
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x408]
movsx eax, word [rax + 2]
cmp eax, 0x19
jne 0x14014ba37
mov dword [rsp + 0x878], 2
jmp 0x14014ba42
mov dword [rsp + 0x878], 3
mov eax, dword [rsp + 0x878]
mov dword [rsp + Ordinal_2165], eax
mov eax, dword [rsp + 0x874]
mov dword [rsp + 0x868], eax
mov dword [rsp + 0x864], 0
jmp 0x14014ba7c
mov eax, dword [rsp + 0x864]
add eax, 1
mov dword [rsp + 0x864], eax
mov eax, dword [rsp + 0x868]
cmp dword [rsp + 0x864], eax
jge 0x14014bb03
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x408]
movsxd rcx, dword [rsp + 0x864]
mov rdx, qword [rsp + 0x30]
mov rdx, qword [rdx + 0x408]
movsxd rdi, dword [rsp + 0x864]
mov edx, dword [rdx + rdi*4 + 8]
cmp dword [rax + rcx*4 + 8], edx
jae 0x14014bac2
jmp 0x14014bb03
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x408]
movsxd rcx, dword [rsp + 0x864]
mov rdx, qword [rsp + 0x30]
mov rdx, qword [rdx + 0x408]
movsxd rdi, dword [rsp + 0x864]
mov edx, dword [rdx + rdi*4 + 8]
cmp dword [rax + rcx*4 + 8], edx
jbe 0x14014bafe
mov dword [rsp + 0x28], 1
jmp 0x14014bb03
jmp 0x14014ba6b
jmp case.0x14014b8e8.3
mov rax, qword [rsp + 0x8a0]
mov rax, qword [rax + 0xf8]
mov eax, dword [rax + 0x112c]
and eax, 0x4000
test eax, eax
jne 0x14014bb9a
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x408]
add rax, 8
mov rdx, rax
lea rcx, [rsp + 0x450]
call sub.MSVCR110.dll_strcpy
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x408]
add rax, 8
mov rdx, rax
lea rcx, [rsp + 0x40]
call sub.MSVCR110.dll_strcpy
lea rcx, [rsp + 0x450]
call fcn.14008eb80
lea rcx, [rsp + 0x40]
call fcn.14008eb80
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x450]
call sub.MSVCR110.dll_strcmp
test eax, eax
jle 0x14014bb98
mov dword [rsp + 0x28], 1
jmp 0x14014bbce
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x408]
add rax, 8
mov rcx, qword [rsp + 0x20]
mov rcx, qword [rcx + 0x408]
add rcx, 8
mov rdx, rax
call sub.MSVCR110.dll_strcmp
test eax, eax
jle 0x14014bbce
mov dword [rsp + 0x28], 1
jmp case.0x14014b8e8.3
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x408]
add rax, 8
mov rcx, rax
call fcn.14014d5a0
mov dword [rsp + 0x87c], eax
mov rcx, qword [rsp + 0x20]
mov rcx, qword [rcx + 0x408]
add rcx, 8
call fcn.14014d5a0
mov ecx, dword [rsp + 0x87c]
cmp ecx, eax
jge 0x14014bc1a
mov dword [rsp + 0x28], 1
jmp case.0x14014b8e8.3
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x408]
call fcn.1400db9e0
mov qword [rsp + 0x880], rax
mov rcx, qword [rsp + 0x20]
mov rcx, qword [rcx + 0x408]
call fcn.1400db9e0
mov rcx, qword [rsp + 0x880]
mov rdx, rcx
mov rcx, rax
call sub.MSVCR110.dll_strcmp
test eax, eax
jle 0x14014bc68
mov dword [rsp + 0x28], 1
jmp case.0x14014b8e8.3
mov rax, qword [rsp + 0x20]
mov rdx, qword [rax + 0x408]
mov rcx, qword [rsp + 0x8a0]
call fcn.1400e0970
mov rdx, rax
lea rcx, [rsp + 0x450]
call sub.MSVCR110.dll_strcpy
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax + 0x408]
mov rcx, qword [rsp + 0x8a0]
call fcn.1400e0970
mov rdx, rax
lea rcx, [rsp + 0x40]
call sub.MSVCR110.dll_strcpy
lea rcx, [rsp + 0x450]
call fcn.14008eb80
lea rcx, [rsp + 0x40]
call fcn.14008eb80
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x450]
call sub.MSVCR110.dll_strcmp
test eax, eax
jle 0x14014bcf3
mov dword [rsp + 0x28], 1
jmp case.0x14014b8e8.3
mov dword [rsp + 0x28], 0
cmp dword [rsp + 0x28], 0
je 0x14014bd38
movsxd rax, dword [rsp + 0x8b0]
mov rcx, qword [rsp + 0x8a8]
mov rdx, qword [rsp + 0x30]
mov qword [rcx + rax*8], rdx
mov eax, dword [rsp + 0x8b0]
add eax, 1
cdqe
mov rcx, qword [rsp + 0x8a8]
mov rdx, qword [rsp + 0x20]
mov qword [rcx + rax*8], rdx
mov eax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x888]
xor rcx, rsp
call fcn.14006b6a0
add rsp, 0x890
pop rdi
ret