Function at 0x1400b9e30
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 0x1400ba428
cmp qword [rsp + 0x30], 0
je 0x1400ba428
mov rax, qword [rsp + 0x20]
cmp qword [rax + 0x408], 0
je 0x1400ba428
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x408], 0
je 0x1400ba428
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 0x1400b9f38
mov dword [rsp + 0x28], 1
jmp case.0x1400b9fd8.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.0x1400b9fd8.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 0x1400b9fda
cmp dword [rsp + 0x86c], 0x1f5
jge case.0x1400b9fd8.84
mov eax, dword [rsp + 0x86c]
sub eax, 1
mov dword [rsp + 0x86c], eax
cmp dword [rsp + 0x86c], 0xcc
ja case.0x1400b9fd8.3
movsxd rax, dword [rsp + 0x86c]
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0xba468]
mov eax, dword [rcx + rax*4 + 0xba448]
add rax, rcx
jmp rax
cmp dword [rsp + 0x86c], 0x3e8
je case.0x1400b9fd8.4
jmp case.0x1400b9fd8.3
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x408]
mov ecx, dword [rax + 8]
call fcn.1400bc840
mov dword [rsp + Ordinal_2165], eax
mov rcx, qword [rsp + 0x20]
mov rcx, qword [rcx + 0x408]
mov ecx, dword [rcx + 8]
call fcn.1400bc840
mov ecx, dword [rsp + 0x870]
cmp ecx, eax
jge 0x1400ba032
mov dword [rsp + 0x28], 1
jmp case.0x1400b9fd8.3
mov dword [rsp + 0x860], 0
jmp 0x1400ba055
mov eax, dword [rsp + 0x860]
add eax, 1
mov dword [rsp + 0x860], eax
cmp dword [rsp + 0x860], 6
jge 0x1400ba0de
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 0x1400ba099
jmp 0x1400ba0de
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 0x1400ba0d9
mov dword [rsp + 0x28], 1
jmp 0x1400ba0de
jmp 0x1400ba044
jmp case.0x1400b9fd8.3
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x408]
movsx eax, word [rax + 2]
cmp eax, 0x18
jne 0x1400ba105
mov dword [rsp + Ordinal_2165], 1
jmp 0x1400ba140
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x408]
movsx eax, word [rax + 2]
cmp eax, 0x19
jne 0x1400ba127
mov dword [rsp + 0x878], 2
jmp 0x1400ba132
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 0x1400ba16c
mov eax, dword [rsp + 0x864]
add eax, 1
mov dword [rsp + 0x864], eax
mov eax, dword [rsp + 0x868]
cmp dword [rsp + 0x864], eax
jge 0x1400ba1f3
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 0x1400ba1b2
jmp 0x1400ba1f3
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 0x1400ba1ee
mov dword [rsp + 0x28], 1
jmp 0x1400ba1f3
jmp 0x1400ba15b
jmp case.0x1400b9fd8.3
mov rax, qword [rsp + 0x8a0]
mov rax, qword [rax + 0xf8]
mov eax, dword [rax + 0x112c]
and eax, 0x4000
test eax, eax
jne 0x1400ba28a
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 0x1400ba288
mov dword [rsp + 0x28], 1
jmp 0x1400ba2be
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 0x1400ba2be
mov dword [rsp + 0x28], 1
jmp case.0x1400b9fd8.3
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x408]
add rax, 8
mov rcx, rax
call fcn.1400bbc90
mov dword [rsp + 0x87c], eax
mov rcx, qword [rsp + 0x20]
mov rcx, qword [rcx + 0x408]
add rcx, 8
call fcn.1400bbc90
mov ecx, dword [rsp + 0x87c]
cmp ecx, eax
jge 0x1400ba30a
mov dword [rsp + 0x28], 1
jmp case.0x1400b9fd8.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 0x1400ba358
mov dword [rsp + 0x28], 1
jmp case.0x1400b9fd8.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 0x1400ba3e3
mov dword [rsp + 0x28], 1
jmp case.0x1400b9fd8.3
mov dword [rsp + 0x28], 0
cmp dword [rsp + 0x28], 0
je 0x1400ba428
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