Function at 0x1400a27a0
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 0x1400a2d98
cmp qword [rsp + 0x30], 0
je 0x1400a2d98
mov rax, qword [rsp + 0x20]
cmp qword [rax + 0x408], 0
je 0x1400a2d98
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x408], 0
je 0x1400a2d98
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 0x1400a28a8
mov dword [rsp + 0x28], 1
jmp case.0x1400a2948.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.0x1400a2948.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 0x1400a294a
cmp dword [rsp + 0x86c], 0x1f5
jge case.0x1400a2948.84
mov eax, dword [rsp + 0x86c]
sub eax, 1
mov dword [rsp + 0x86c], eax
cmp dword [rsp + 0x86c], 0xcc
ja case.0x1400a2948.3
movsxd rax, dword [rsp + 0x86c]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0xa2dd8]
mov eax, dword [rcx + rax*4 + 0xa2db8]
add rax, rcx
jmp rax
cmp dword [rsp + 0x86c], 0x3e8
je case.0x1400a2948.4
jmp case.0x1400a2948.3
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x408]
mov ecx, dword [rax + 8]
call fcn.1400a5c50
mov dword [rsp + Ordinal_2165], eax
mov rcx, qword [rsp + 0x20]
mov rcx, qword [rcx + 0x408]
mov ecx, dword [rcx + 8]
call fcn.1400a5c50
mov ecx, dword [rsp + 0x870]
cmp ecx, eax
jge 0x1400a29a2
mov dword [rsp + 0x28], 1
jmp case.0x1400a2948.3
mov dword [rsp + 0x860], 0
jmp 0x1400a29c5
mov eax, dword [rsp + 0x860]
add eax, 1
mov dword [rsp + 0x860], eax
cmp dword [rsp + 0x860], 6
jge 0x1400a2a4e
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 0x1400a2a09
jmp 0x1400a2a4e
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 0x1400a2a49
mov dword [rsp + 0x28], 1
jmp 0x1400a2a4e
jmp 0x1400a29b4
jmp case.0x1400a2948.3
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x408]
movsx eax, word [rax + 2]
cmp eax, 0x18
jne 0x1400a2a75
mov dword [rsp + Ordinal_2165], 1
jmp 0x1400a2ab0
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x408]
movsx eax, word [rax + 2]
cmp eax, 0x19
jne 0x1400a2a97
mov dword [rsp + 0x878], 2
jmp 0x1400a2aa2
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 0x1400a2adc
mov eax, dword [rsp + 0x864]
add eax, 1
mov dword [rsp + 0x864], eax
mov eax, dword [rsp + 0x868]
cmp dword [rsp + 0x864], eax
jge 0x1400a2b63
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 0x1400a2b22
jmp 0x1400a2b63
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 0x1400a2b5e
mov dword [rsp + 0x28], 1
jmp 0x1400a2b63
jmp 0x1400a2acb
jmp case.0x1400a2948.3
mov rax, qword [rsp + 0x8a0]
mov rax, qword [rax + 0xf8]
mov eax, dword [rax + 0x112c]
and eax, 0x4000
test eax, eax
jne 0x1400a2bfa
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 0x1400a2bf8
mov dword [rsp + 0x28], 1
jmp 0x1400a2c2e
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 0x1400a2c2e
mov dword [rsp + 0x28], 1
jmp case.0x1400a2948.3
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x408]
add rax, 8
mov rcx, rax
call fcn.1400a4600
mov dword [rsp + 0x87c], eax
mov rcx, qword [rsp + 0x20]
mov rcx, qword [rcx + 0x408]
add rcx, 8
call fcn.1400a4600
mov ecx, dword [rsp + 0x87c]
cmp ecx, eax
jge 0x1400a2c7a
mov dword [rsp + 0x28], 1
jmp case.0x1400a2948.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 0x1400a2cc8
mov dword [rsp + 0x28], 1
jmp case.0x1400a2948.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 0x1400a2d53
mov dword [rsp + 0x28], 1
jmp case.0x1400a2948.3
mov dword [rsp + 0x28], 0
cmp dword [rsp + 0x28], 0
je 0x1400a2d98
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