Function at 0x14002bd70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x200
lea rbp, [rsp + 0x40]
xor r9d, r9d
mov qword [rbp + 0x208], rbx
mov r14, rcx
mov dword [rbp + 0x18], r9d
xor ecx, ecx
mov dword [rbp + 0xc], r9d
mov dword [rbp + 0x68], r9d
mov dword [rbp + 0x88], ecx
mov r10, qword [r14 + 0x48]
mov qword [rbp + 0x38], r10
mov byte [rbp + 0x8c], cl
mov dword [rbp + 0x110], r9d
mov qword [rbp + 0x120], r9
test r8, r8
jne 0x14002bde0
lea eax, [rcx + 7]
jmp 0x14002c146
movzx ecx, word [r14 + 0x18]
movzx r8d, byte [r14 + 0xc]
lea ebx, [r8 + rcx]
cmp ebx, 2
jae 0x14002bdf8
mov edx, r9d
jmp 0x14002be21
test edx, edx
jne 0x14002be01
mov edx, r9d
jmp 0x14002be14
cmp edx, ebx
jne 0x14002be12
mov eax, dword [rbp + 0x220]
lea edx, [rax - 2]
add edx, ebx
jmp 0x14002be1a
dec edx
mov eax, dword [rbp + 0x220]
mov ebx, 2
sub ebx, eax
mov eax, edx
mov dword [rbp + 0x1c], edx
sub eax, r8d
mov dword [rbp + 0x40], ebx
add eax, ebx
lea r13d, [rbx + 1]
mov dword [rbp + 0x50], r13d
cmp eax, ecx
jne 0x14002be4c
mov rdx, qword [r14 + 0x50]
movzx ecx, byte [r14 + 9]
add rdx, 8
add rdx, rcx
jmp 0x14002be71
add eax, eax
movsxd rcx, eax
mov rax, qword [r14 + 0x60]
movzx edx, byte [rcx + rax]
movzx eax, byte [rcx + rax + 1]
shl rdx, 8
or rdx, rax
movzx eax, word [r14 + 0x1a]
and rdx, rax
add rdx, qword [r14 + 0x50]
movzx eax, byte [rdx + 2]
lea r8, [rbp + 0x98]
movzx r12d, byte [rdx + 1]
mov rcx, r10
shl r12d, 8
or r12d, eax
movsxd r15, ebx
movzx eax, byte [rdx]
shl eax, 0x18
shl r12d, 8
or r12d, eax
mov qword [rbp + 0x90], rdx
movzx eax, byte [rdx + 3]
lea rsi, [r15*8]
or r12d, eax
mov qword [rbp + 0x1a0], r15
mov edx, r12d
mov dword [rbp + 0x34], r12d
add r8, rsi
mov dword [rbp + 0x48], r12d
mov dword [rsp + 0x20], r9d
call fcn.140027174
mov edi, eax
mov dword [rbp + 0x30], eax
mov dword [rbp], eax
xor r9d, r9d
movsxd rax, r13d
mov qword [rbp + 0x60], rax
test edi, edi
jne 0x14002c0bb
lea r10, [rbp + 0x70]
lea r15, [r10 + r15*4]
mov rcx, qword [rbp + rsi + 0x98]
mov r10d, 4
movsxd r13, ebx
cmp dword [rcx + 0x14], r9d
jge 0x14002bf25
call fcn.140026cf8
xor r9d, r9d
mov dword [rbp + 0x30], eax
mov dword [rbp], eax
mov edi, eax
test eax, eax
jne 0x14002c160
lea r10d, [rax + 4]
mov eax, ebx
sub r15, r10
dec ebx
sub rsi, 8
test eax, eax
je 0x14002c17c
cmp byte [r14 + 0xc], r9b
je 0x14002bf9c
mov ecx, dword [rbp + 0x1c]
movzx eax, word [r14 + 0x1c]
add ecx, ebx
cmp ecx, eax
jne 0x14002bf9c
mov rdx, qword [r14 + 0x28]
mov rcx, r14
mov qword [rbp + rsi + 0xb0], rdx
movzx eax, byte [rdx + 2]
movzx r12d, byte [rdx + 1]
shl r12d, 8
or r12d, eax
movzx eax, byte [rdx + 3]
shl r12d, 8
or r12d, eax
movzx eax, byte [rdx]
shl eax, 0x18
or r12d, eax
mov dword [rbp + 0x34], r12d
mov dword [rbp + 0x48], r12d
call qword [r14 + Ordinal_122]
movzx eax, ax
mov dword [r15], eax
xor eax, eax
mov byte [r14 + 0xc], al
jmp 0x14002c085
movzx eax, byte [r14 + 0xc]
mov ecx, dword [rbp + 0x1c]
sub ecx, eax
mov rax, qword [r14 + 0x60]
add ecx, ebx
add ecx, ecx
movsxd rcx, ecx
movzx edi, byte [rcx + rax + 1]
movzx eax, byte [rcx + rax]
mov rcx, r14
shl rax, 8
or rdi, rax
movzx eax, word [r14 + 0x1a]
and rdi, rax
add rdi, qword [r14 + 0x50]
mov rdx, rdi
mov qword [rbp + rsi + 0xb0], rdi
movzx eax, byte [rdi + 2]
movzx r12d, byte [rdi + 1]
shl r12d, 8
or r12d, eax
movzx eax, byte [rdi + 3]
shl r12d, 8
or r12d, eax
movzx eax, byte [rdi]
shl eax, 0x18
or r12d, eax
mov dword [rbp + 0x34], r12d
mov dword [rbp + 0x48], r12d
call qword [r14 + Ordinal_122]
mov rdx, qword [rbp + 0x38]
movzx r14d, ax
mov rax, qword [rbp + 0x200]
mov dword [r15], r14d
test byte [rdx + 0x26], 0xc
je 0x14002c064
mov ecx, edi
sub ecx, dword [rax + 0x50]
lea eax, [r14 + rcx]
cmp eax, dword [rdx + 0x34]
jg 0x14002c168
movsxd rcx, ecx
mov r8d, r14d
add rcx, qword [rbp + 0x210]
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbp + 0x200]
sub rdi, qword [rax + 0x50]
add rdi, qword [rbp + 0x210]
mov qword [rbp + rsi + 0xb0], rdi
movzx eax, byte [rax + 0xc]
lea r9, [rbp]
mov edx, dword [rbp + 0x1c]
mov r8d, r14d
mov r14, qword [rbp + 0x200]
sub edx, eax
add edx, ebx
mov rcx, r14
call fcn.14002af9c
mov rcx, qword [rbp + 0x38]
lea r8, [rbp + 0x98]
movsxd rax, ebx
xor r9d, r9d
mov edx, r12d
lea r8, [r8 + rax*8]
xor eax, eax
mov dword [rsp + 0x20], eax
call fcn.140027174
xor r9d, r9d
mov dword [rbp + 0x30], eax
mov dword [rbp], eax
mov edi, eax
test eax, eax
je 0x14002bef2
lea eax, [rbx + 1]
movsxd r8, eax
shl r8, 3
lea rcx, [rbp + 0x98]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
xor r9d, r9d
mov r11d, 1
mov r14, qword [rbp + 0x60]
test r14, r14
jle 0x14002c113
mov rbx, r9
mov r11d, 1
mov rcx, qword [rbp + rbx*8 + 0x98]
test rcx, rcx
je 0x14002c10b
mov rcx, qword [rcx + 0x70]
call fcn.140021ed0
xor r9d, r9d
lea r11d, [r9 + 1]
add rbx, r11
cmp rbx, r14
jl 0x14002c0ee
movsxd rsi, dword [rbp + 0x18]
test rsi, rsi
jle 0x14002c144
mov rbx, r9
mov rcx, qword [rbp + rbx*8 + 0xe0]
test rcx, rcx
je 0x14002c13c
mov rcx, qword [rcx + 0x70]
call fcn.140021ed0
xor r9d, r9d
lea r11d, [r9 + 1]
add rbx, r11
cmp rbx, rsi
jl 0x14002c11f
mov eax, edi
mov rbx, qword [rbp + 0x208]
lea rsp, [rbp + 0x1c0]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movsxd r8, ebx
jmp 0x14002c0c1
mov ecx, 0x1154e
call fcn.14008370c
mov edi, eax
mov r8, r13
jmp 0x14002c0c1
mov rax, qword [rbp + 0x38]
mov r8d, dword [rax + 0x30]
mov eax, 0xaaaaaaab
lea ecx, [r8 - 8]
mul ecx
shr edx, 2
add edx, r10d
imul edx, dword [rbp + 0x50]
add edx, 3
and edx, 0xfffffffc
lea eax, [rdx + rdx*4]
lea eax, [r8 + rax*2]
cdqe
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x14002c1bb
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1400c49e0
sub rsp, rcx
lea r8, [rsp + 0x40]
mov qword [rbp + 0x120], r8
test r8, r8
jne 0x14002c1e4
lea edi, [r8 + 7]
jmp 0x14002c0d6
movsxd rax, edx
xor r11d, r11d
mov dword [rbp + 8], r11d
lea r9, [r8 + rax*8]
lea rax, [r9 + rax*2]
mov qword [rbp + 0x128], r9
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x118], rax
movzx r10d, byte [rax + 8]
movzx r8d, byte [rax + 3]
shl r10w, 2
mov word [rbp + 0x10], r10w
mov dword [rbp + 4], r8d
cmp qword [rbp + 0x60], r11
jle 0x14002c4bc
mov r15d, r11d
mov r14, qword [rbp + r15*8 + 0x98]
movzx eax, word [r14 + 0x1a]
mov r13, qword [r14 + 0x50]
movzx ebx, word [r14 + 0x12]
movzx esi, word [r14 + 0x18]
add rbx, r13
mov word [rbp + 0x14], ax
mov rax, qword [rbp + 0x98]
mov rcx, qword [rax + 0x50]
mov al, byte [rcx]
cmp byte [r13], al
jne 0x14002c4a4
movsxd rax, dword [rbp + 0x110]
xor edx, edx
movzx r8d, byte [r14 + 0xc]
add r8, rsi
add r8, r8
lea rcx, [r9 + rax*2]
call sub.VCRUNTIME140.dll_memset
mov cl, byte [r14 + 0xc]
xor r11d, r11d
test cl, cl
je 0x14002c333
movzx eax, word [r14 + 0x1c]
cmp si, ax
jb 0x14002c49d
mov r10d, dword [rbp + 0x110]
lea esi, [r11 + 1]
cmp r11w, ax
mov r11, qword [rbp + 0x120]
jae 0x14002c2fa
movzx r9d, word [rbp + 0x14]
mov edx, eax
movzx eax, byte [rbx + 1]
movzx ecx, byte [rbx]
add rbx, 2
shl rcx, 8
or rcx, rax
movsxd rax, r10d
and rcx, r9
add r10d, esi
add rcx, r13
mov qword [r11 + rax*8], rcx
sub rdx, rsi
jne 0x14002c2c6
mov cl, byte [r14 + 0xc]
mov dword [rbp + 0x110], r10d
jmp 0x14002c2ff
movzx r9d, word [rbp + 0x14]
xor eax, eax
mov r8d, eax
test cl, cl
je 0x14002c338
lea rdx, [r14 + 0x28]
mov rax, qword [rdx]
add r8d, esi
movsxd rcx, r10d
lea rdx, [rdx + 8]
add r10d, esi
mov qword [r11 + rcx*8], rax
movzx eax, byte [r14 + 0xc]
cmp r8d, eax
jl 0x14002c30c
mov dword [rbp + 0x110], r10d
jmp 0x14002c338
movzx r9d, word [rbp + 0x14]
movzx ecx, word [r14 + 0x12]
movzx edx, word [r14 + 0x18]
add rcx, r13
lea r8, [rcx + rdx*2]
cmp rbx, r8
jae 0x14002c396
mov r10, qword [rbp + 0x120]
mov r11d, 1
movzx edx, r9w
mov r9d, dword [rbp + 0x110]
movzx eax, byte [rbx + 1]
movzx ecx, byte [rbx]
add rbx, 2
shl rcx, 8
or rcx, rax
movsxd rax, r9d
and rcx, rdx
add r9d, r11d
add rcx, r13
mov qword [r10 + rax*8], rcx
cmp rbx, r8
jb 0x14002c366
mov dword [rbp + 0x110], r9d
jmp 0x14002c39d
mov r9d, dword [rbp + 0x110]
mov edx, dword [rbp + 8]
mov r8d, dword [rbp + 4]
mov dword [rbp + r15*4 + 0x188], r9d
cmp edx, dword [rbp + 0x40]
jge 0x14002c477
test r8b, r8b
jne 0x14002c477
movzx ecx, word [rbp + r15*4 + 0x70]
movsxd r13, dword [rbp + 0xc]
mov r8d, ecx
mov rax, qword [rbp + 0x128]
mov rbx, r13
add rbx, qword [rbp + 0x20]
add r13d, ecx
mov rdx, qword [rbp + r15*8 + 0xb0]
movsxd rsi, r9d
mov dword [rbp + 0xc], r13d
mov word [rax + rsi*2], cx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
movzx r10d, word [rbp + 0x10]
xor r11d, r11d
mov r8, qword [rbp + 0x120]
mov r9, qword [rbp + 0x128]
lea rax, [rbx + r10]
mov qword [r8 + rsi*8], rax
sub word [r9 + rsi*2], r10w
cmp byte [r14 + 8], r11b
jne 0x14002c42f
mov rax, qword [r14 + 0x50]
mov rcx, qword [r8 + rsi*8]
mov eax, dword [rax + 8]
mov dword [rcx], eax
jmp 0x14002c461
mov edx, 4
cmp word [r9 + rsi*2], dx
jae 0x14002c461
mov rcx, qword [rbp + 0x20]
movsxd rax, r13d
add rcx, rax
lea eax, [rdx - 3]
mov byte [rcx], r11b
add r13d, eax
add word [r9 + rsi*2], ax
add rcx, rax
cmp word [r9 + rsi*2], dx
jb 0x14002c448
mov dword [rbp + 0xc], r13d
mov edx, dword [rbp + 8]
mov r11d, 1
add dword [rbp + 0x110], r11d
mov r8d, dword [rbp + 4]
jmp 0x14002c489
movzx r10d, word [rbp + 0x10]
mov r11d, 1
mov r9, qword [rbp + 0x128]
add edx, r11d
add r15, r11
mov dword [rbp + 8], edx
cmp r15, qword [rbp + 0x60]
jge 0x14002c4c2
jmp 0x14002c234
mov ecx, 0x115a9
jmp 0x14002c4a9
mov ecx, 0x11591
call fcn.14008370c
mov r14, qword [rbp + 0x60]
mov edi, eax
xor r9d, r9d
jmp 0x14002c0e5
mov r11d, 1
mov rax, qword [rbp + 0x38]
xor r9d, r9d
movzx ecx, r10w
mov r15d, r9d
mov dword [rbp + 0x180], ecx
mov dword [rbp + 8], r9d
mov edx, dword [rax + 0x34]
add edx, 0xfffffff4
add edx, ecx
mov dword [rbp + 0x14], edx
cmp qword [rbp + 0x60], r9
jle 0x14002c5fe
mov esi, r9d
mov qword [rbp + 0x20], r9
mov ebx, r9d
lea r14, [rbp + 0x15c]
mov r13, qword [rbp + rsi*8 + 0x98]
mov ecx, dword [rbp + rsi*4 + 0x188]
mov rax, qword [r13 + 0x58]
mov qword [rbp + rbx*8 + reloc.WLDAP32.dll_Ordinal_304], rax
mov eax, 4
mov dword [rbp + rbx*4 + 0x160], ecx
test r15d, r15d
je 0x14002c53e
cmp ecx, dword [r14]
jne 0x14002c53e
sub r15d, r11d
dec rbx
mov dword [rbp + 8], r15d
sub r14, rax
test r8b, r8b
jne 0x14002c56d
add rbx, r11
add r15d, r11d
add r14, rax
mov dword [rbp + 8], r15d
mov rax, qword [rbp + 0x200]
mov rax, qword [rax + 0x58]
mov qword [rbp + rbx*8 + reloc.WLDAP32.dll_Ordinal_304], rax
lea eax, [rcx + 1]
mov dword [rbp + rbx*4 + 0x160], eax
mov r12d, edx
mov edi, r9d
sub r12d, dword [r13 + 0x14]
mov dword [rbp + rsi*4 + 0x70], r12d
cmp byte [r13 + 0xc], r9b
jbe 0x14002c5d1
lea rsi, [r13 + 0x28]
mov r15d, 1
mov rdx, qword [rsi]
mov rcx, r13
call qword [r13 + Ordinal_122]
movzx eax, ax
add edi, r15d
add eax, 2
lea rsi, [rsi + 8]
add r12d, eax
movzx eax, byte [r13 + 0xc]
cmp edi, eax
jl 0x14002c58c
mov rsi, qword [rbp + 0x20]
xor r9d, r9d
mov r15d, dword [rbp + 8]
mov edx, dword [rbp + 0x14]
mov r8d, dword [rbp + 4]
mov ecx, dword [rbp + rsi*4 + 0x188]
lea r11d, [r9 + 1]
mov dword [rbp + rsi*4 + 0x70], r12d
add r15d, r11d
mov dword [rbp + rsi*4 + 0xc8], ecx
add rsi, r11
mov dword [rbp + 8], r15d
add rbx, r11
mov qword [rbp + 0x20], rsi
add r14, 4
cmp rsi, qword [rbp + 0x60]
jl 0x14002c500
mov edi, dword [rbp + 0x30]
mov r12d, dword [rbp + 0x34]
mov eax, dword [rbp + 0x50]
mov ecx, eax
mov dword [rbp + 8], eax
mov dword [rbp + 0xc], r9d
test eax, eax
jle 0x14002c805
mov rbx, r9
mov r13d, r11d
mov r14d, dword [rbp + rbx*4 + 0x70]
jmp 0x14002c6e6
cmp r13d, ecx
jl 0x14002c64e
lea eax, [r13 + 1]
mov dword [rbp + 8], eax
lea rax, [rbx + 2]
cmp rax, 5
jg 0x14002c7ed
mov ecx, dword [rbp + 0x110]
mov dword [rbp + rax*4 + 0xc4], ecx
mov dword [rbp + rax*4 + 0x6c], r9d
movsxd rsi, dword [rbp + rbx*4 + 0xc8]
mov rcx, qword [rbp + 0x128]
lea r15d, [rsi - 1]
movzx eax, word [rcx + rsi*2 - 2]
test ax, ax
jne 0x14002c68b
mov edx, r15d
lea rcx, [rbp + 0x110]
call fcn.14002b24c
mov rcx, qword [rbp + 0x128]
xor r9d, r9d
mov edx, dword [rbp + 0x14]
mov r8d, dword [rbp + 4]
mov r14d, dword [rbp + rbx*4 + 0x70]
movzx eax, ax
add eax, 2
sub r14d, eax
mov dword [rbp + rbx*4 + 0x70], r14d
test r8b, r8b
jne 0x14002c6d7
cmp esi, dword [rbp + 0x110]
jge 0x14002c6d4
movzx eax, word [rcx + rsi*2]
test ax, ax
jne 0x14002c6c9
mov edx, esi
lea rcx, [rbp + 0x110]
call fcn.14002b24c
mov r8d, dword [rbp + 4]
xor r9d, r9d
mov edx, dword [rbp + 0x14]
movzx eax, ax
add eax, 2
jmp 0x14002c6d7
mov eax, r9d
add dword [rbp + rbx*4 + 0x74], eax
mov ecx, dword [rbp + 8]
mov dword [rbp + rbx*4 + 0xc8], r15d
cmp r14d, edx
jg 0x14002c622
movsxd rsi, dword [rbp + rbx*4 + 0xc8]
mov ecx, dword [rbp + 0x110]
cmp esi, ecx
jge 0x14002c7c5
mov rdx, qword [rbp + 0x128]
mov edi, 1
mov r12d, dword [rbp + 4]
lea r15, [rdx + rsi*2]
movzx eax, word [r15]
test ax, ax
jne 0x14002c739
mov edx, esi
lea rcx, [rbp + 0x110]
call fcn.14002b24c
mov ecx, dword [rbp + 0x110]
xor r9d, r9d
mov edx, dword [rbp + 0x14]
movzx eax, ax
add eax, 2
add r14d, eax
cmp r14d, edx
jg 0x14002c79f
add esi, edi
mov dword [rbp + rbx*4 + 0x70], r14d
add r15, 2
mov dword [rbp + rbx*4 + 0xc8], esi
test r12b, r12b
jne 0x14002c793
cmp esi, ecx
jge 0x14002c790
movzx eax, word [r15]
test ax, ax
jne 0x14002c788
mov edx, esi
lea rcx, [rbp + 0x110]
call fcn.14002b24c
mov ecx, dword [rbp + 0x110]
xor r9d, r9d
mov edx, dword [rbp + 0x14]
movzx eax, ax
add eax, 2
jmp 0x14002c793
mov eax, r9d
sub dword [rbp + rbx*4 + 0x74], eax
cmp esi, ecx
jl 0x14002c719
mov edi, dword [rbp + 0x30]
mov r12d, dword [rbp + 0x34]
cmp esi, ecx
jge 0x14002c7c5
cmp dword [rbp + 0xc], r9d
jle 0x14002c7b9
mov eax, dword [rbp + rbx*4 + 0xc4]
jmp 0x14002c7bc
mov eax, r9d
cmp esi, eax
jle 0x14002c7fe
mov ecx, dword [rbp + 8]
jmp 0x14002c7cb
mov ecx, r13d
mov dword [rbp + 8], ecx
mov eax, dword [rbp + 0xc]
mov r11d, 1
add eax, r11d
add r13d, r11d
add rbx, r11
mov dword [rbp + 0xc], eax
cmp eax, ecx
jge 0x14002c805
mov r8d, dword [rbp + 4]
jmp 0x14002c618
mov ecx, 0x1160e
call fcn.14008370c
mov edi, eax
jmp 0x14002c0d3
mov ecx, 0x1162f
jmp 0x14002c7f2
lea eax, [rcx - 1]
movsxd r15, eax
mov dword [rbp + 0x58], eax
mov rbx, r15
test eax, eax
jle 0x14002c96f
mov eax, dword [rbp + rbx*4 + 0x6c]
lea rcx, [rbp + 0xc8]
mov r14, qword [rbp + 0x128]
sub rcx, 4
mov r13d, dword [rbp + rbx*4 + 0x70]
xor r10d, r10d
mov dword [rbp + 0xc], eax
mov qword [rbp + 0x20], rcx
mov r9d, dword [rcx + rbx*4]
mov dword [rbp + 0x40], r9d
lea esi, [r9 - 1]
mov eax, esi
sub eax, dword [rbp + 4]
lea edx, [rax + 1]
cdqe
inc rax
lea rax, [r14 + rax*2]
mov qword [rbp + 0xb0], rax
cmp word [rax], r10w
jne 0x14002c877
lea rcx, [rbp + 0x110]
call fcn.14002b24c
xor r10d, r10d
mov edi, dword [rbp + 0x58]
mov r12d, dword [rbp + 0x220]
movsxd rax, esi
lea r14, [r14 + rax*2]
cmp word [r14], r10w
jne 0x14002c89f
mov edx, esi
lea rcx, [rbp + 0x110]
call fcn.14002b24c
xor r10d, r10d
mov r8d, dword [rbp + 0xc]
test r13d, r13d
je 0x14002c8d8
test r12d, r12d
jne 0x14002c927
mov eax, r15d
mov edx, r8d
sub eax, edi
neg eax
sbb eax, eax
and eax, 2
sub edx, eax
movzx eax, word [r14]
sub edx, eax
mov rax, qword [rbp + 0xb0]
movzx ecx, word [rax]
add ecx, 2
add ecx, r13d
cmp ecx, edx
jg 0x14002c927
mov rdx, qword [rbp + 0xb0]
mov ecx, 0xfffffffe
mov r11d, 1
mov dword [rbp + 0x40], esi
mov r9d, esi
movzx eax, word [rdx]
sub rdx, 2
add eax, 2
mov qword [rbp + 0xb0], rdx
add r13d, eax
movzx eax, word [r14]
sub ecx, eax
sub r14, 2
add r8d, ecx
mov rcx, qword [rbp + 0x20]
mov dword [rbp + 0xc], r8d
mov dword [rcx + rbx*4], esi
sub esi, r11d
jns 0x14002c888
jmp 0x14002c935
mov r9d, dword [rbp + 0x40]
mov r11d, 1
mov rcx, qword [rbp + 0x20]
mov edi, dword [rbp + 0x30]
mov r12d, dword [rbp + 0x34]
mov dword [rbp + rbx*4 + 0x70], r13d
mov dword [rbp + rbx*4 + 0x6c], r8d
cmp rbx, r11
jbe 0x14002c951
mov eax, dword [rcx + rbx*4 - 4]
jmp 0x14002c954
mov eax, r10d
cmp r9d, eax
jle 0x14002c9de
sub r15d, r11d
sub rbx, r11
xor r9d, r9d
test rbx, rbx
jg 0x14002c819
mov rax, qword [rbp + 0x98]
mov rcx, qword [rax + 0x50]
movsxd rax, dword [rbp + 8]
mov r14, rax
movzx r13d, byte [rcx]
mov dword [rbp + 0x58], r13d
test eax, eax
jle 0x14002ca98
mov rbx, r9
cmp rbx, qword [rbp + 0x60]
jge 0x14002c9e8
mov rcx, qword [rbp + rbx*8 + 0x98]
mov qword [rbp + rbx*8 + 0xe0], rcx
mov qword [rbp + 0x20], rcx
mov qword [rbp + rbx*8 + 0x98], r9
mov rcx, qword [rcx + 0x70]
call fcn.1400224c4
mov r11d, 1
mov dword [rbp], eax
add dword [rbp + 0x18], r11d
xor r9d, r9d
mov edi, eax
test eax, eax
jne 0x14002c0dc
jmp 0x14002ca8c
mov ecx, 0x11659
jmp 0x14002c7f2
cmp dword [rbp + 0x220], r9d
lea r8, [rbp + 0x48]
mov r15, qword [rbp + 0x38]
lea rdx, [rbp + 0x20]
cmovne r12d, r11d
mov byte [rsp + 0x20], r9b
mov r9d, r12d
mov rcx, r15
call fcn.140029fe8
xor r9d, r9d
mov dword [rbp], eax
mov edi, eax
test eax, eax
jne 0x14002c0d6
mov rsi, qword [rbp + 0x20]
mov edx, r13d
mov rcx, rsi
call fcn.140026fbc
mov eax, dword [rbp + 0x110]
lea r11d, [rdi + 1]
add dword [rbp + 0x18], r11d
xor r9d, r9d
mov qword [rbp + rbx*8 + 0xe0], rsi
mov dword [rbp + rbx*4 + 0x188], eax
cmp byte [r15 + 0x21], r9b
je 0x14002ca88
mov edx, dword [rsi + 4]
lea rax, [rbp]
mov qword [rsp + 0x20], rax
mov r8b, 5
mov rax, qword [rbp + 0x200]
mov rcx, r15
mov r9d, dword [rax + 4]
call fcn.140025e68
mov edi, dword [rbp]
xor r9d, r9d
lea r11d, [r9 + 1]
test edi, edi
jne 0x14002c0dc
mov r12d, dword [rbp + 0x48]
add rbx, r11
cmp rbx, r14
jl 0x14002c994
movsxd r8, dword [rbp + 0x18]
mov r14, r8
test r8d, r8d
jle 0x14002cbcc
mov rdx, r9
mov rax, qword [rbp + rdx*8 + 0xe0]
mov r8d, dword [rax + 4]
mov rax, qword [rax + 0x70]
mov dword [rbp + rdx*4 + 0x1a8], r8d
mov dword [rbp + rdx*4 + 0xb0], r8d
movzx ecx, word [rax + 0x34]
mov rax, r9
mov word [rbp + rdx*2 + 0x20], cx
test rdx, rdx
jle 0x14002caf2
cmp dword [rbp + rax*4 + 0x1a8], r8d
je 0x14002ccd4
add rax, r11
cmp rax, rdx
jl 0x14002cadc
add rdx, r11
cmp rdx, r14
jl 0x14002caab
mov r13, qword [rbp + 0x38]
mov rbx, r9
mov edx, r9d
mov rsi, r9
mov r8d, r11d
mov rcx, r11
cmp r11, r14
jge 0x14002cb4e
lea rax, [rcx*4]
mov r10d, dword [rbp + rax + 0xb0]
cmp r10d, dword [rbp + r9 + 0xb0]
jae 0x14002cb32
mov rsi, rcx
mov r9, rax
mov eax, r8d
mov r11d, 1
cmovae eax, edx
add r8d, r11d
add rcx, r11
mov edx, eax
cmp rcx, r14
jl 0x14002cb12
xor r9d, r9d
mov r15d, dword [rbp + rsi*4 + 0xb0]
or dword [rbp + rsi*4 + 0xb0], 0xffffffff
cmp rsi, rbx
je 0x14002cbb2
jle 0x14002cb83
mov eax, dword [r13 + 0x3c]
inc eax
add edx, eax
mov rax, qword [rbp + rsi*8 + 0xe0]
mov rcx, qword [rax + 0x70]
mov word [rcx + 0x34], r9w
call fcn.14001d91c
mov rax, qword [rbp + rbx*8 + 0xe0]
mov edx, r15d
mov rcx, qword [rax + 0x70]
movzx eax, word [rbp + rsi*2 + 0x20]
mov word [rcx + 0x34], ax
call fcn.14001d91c
mov rax, qword [rbp + rbx*8 + 0xe0]
mov r11d, 1
mov dword [rax + 4], r15d
add rbx, r11
mov r9d, 0
cmp rbx, r14
jl 0x14002cb01
mov r13d, dword [rbp + 0x58]
mov r8d, dword [rbp + 0x18]
mov rdx, qword [rbp + 0x90]
lea r12, [r14 - 1]
mov rax, qword [rbp + r12*8 + 0xe0]
mov ecx, dword [rax + 4]
mov eax, ecx
shr eax, 0x18
mov byte [rdx], al
mov eax, ecx
shr eax, 0x10
mov byte [rdx + 1], al
mov eax, ecx
shr eax, 8
mov byte [rdx + 2], al
mov byte [rdx + 3], cl
test r13b, 8
jne 0x14002cc3b
cmp dword [rbp + 0x50], r8d
je 0x14002cc3b
mov rcx, qword [rbp + 0x1a0]
lea rdx, [rbp + 0x98]
lea rax, [rbp + 0xe0]
cmovge rax, rdx
mov rax, qword [rax + rcx*8]
mov rdx, qword [rax + 0x50]
mov rax, qword [rbp + r12*8 + 0xe0]
mov rcx, qword [rax + 0x50]
mov eax, dword [rdx + 8]
mov dword [rcx + 8], eax
mov r11, qword [rbp + 0x38]
cmp byte [r11 + 0x21], r9b
je 0x14002ce27
mov rbx, qword [rbp + 0xe0]
mov esi, r9d
movzx r13d, word [rbx + 0x18]
movzx eax, byte [rbx + 0xc]
add r13d, eax
cmp dword [rbp + 0x110], r9d
jle 0x14002ce2e
mov rdx, qword [rbp + 0x128]
lea r8, [rbp + 0xc8]
mov rax, qword [rbp + 0x120]
mov r15, r9
mov r10d, dword [rbp + 0x110]
lea r9, [rbp + 0xe0]
mov qword [rbp + 0x20], r9
mov rcx, rbx
mov qword [rbp + 0x48], rdx
mov qword [rbp + 0x90], r8
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x58], rbx
mov r12, qword [rax]
cmp esi, r13d
jne 0x14002cd0a
xor eax, eax
cmp byte [rbp + 4], al
mov edx, eax
sete dl
lea r11d, [rax + 1]
add r15, r11
cmp r15, r14
jge 0x14002ccde
mov rbx, qword [rbp + r15*8 + 0xe0]
jmp 0x14002cce6
mov ecx, 0x116a3
jmp 0x14002c7f2
mov rbx, qword [rbp + r15*8 + 0x98]
movzx eax, word [rbx + 0x18]
movzx ecx, byte [rbx + 0xc]
add eax, edx
add ecx, eax
add r13d, ecx
cmp esi, r13d
je 0x14002ccc2
mov rcx, qword [rbp + 0x58]
mov rax, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x48]
mov r11, qword [rbp + 0x38]
cmp esi, dword [r8]
jne 0x14002cd33
add r9, 8
add r8, 4
cmp byte [rbp + 4], 0
mov qword [rbp + 0x90], r8
mov qword [rbp + 0x20], r9
mov rcx, qword [r9]
mov qword [rbp + 0x58], rcx
je 0x14002ce05
cmp r15, r14
jge 0x14002cd55
mov eax, dword [rbp + r15*4 + 0x1a8]
cmp dword [rcx + 4], eax
jne 0x14002cd55
cmp r12, qword [rbx + 0x50]
jb 0x14002cd55
cmp r12, qword [rbx + 0x58]
jb 0x14002ce01
xor eax, eax
cmp word [rbp + 0x10], ax
jne 0x14002cda2
movzx eax, byte [r12 + 2]
mov r8b, 5
movzx edx, byte [r12 + 1]
mov r9d, dword [rcx + 4]
mov rcx, r11
shl edx, 8
or edx, eax
movzx eax, byte [r12 + 3]
shl edx, 8
or edx, eax
movzx eax, byte [r12]
shl eax, 0x18
or edx, eax
lea rax, [rbp]
mov qword [rsp + 0x20], rax
call fcn.140025e68
mov rcx, qword [rbp + 0x58]
mov edi, dword [rbp]
mov rax, qword [rbp + 0x48]
movzx eax, word [rax]
test ax, ax
jne 0x14002cdc0
mov edx, esi
lea rcx, [rbp + 0x110]
call fcn.14002b24c
mov rcx, qword [rbp + 0x58]
cmp ax, word [rcx + 0x10]
jbe 0x14002cddc
lea r9, [rbp]
mov r8, r12
mov rdx, rbx
call fcn.140026378
mov rcx, qword [rbp + 0x58]
mov edi, dword [rbp]
xor r9d, r9d
test edi, edi
jne 0x14002c0d6
mov rdx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x90]
mov r9, qword [rbp + 0x20]
mov r10d, dword [rbp + 0x110]
mov r11, qword [rbp + 0x38]
mov rax, qword [rbp + 0x40]
add rax, 8
add rdx, 2
inc esi
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rdx
cmp esi, r10d
jl 0x14002ccac
lea r12, [r14 - 1]
xor r9d, r9d
mov rbx, qword [rbp + 0xe0]
test r12, r12
jle 0x14002cf42
mov r13d, dword [rbp + 0x180]
mov rsi, r9
movsxd rdx, dword [rbp + rsi*4 + 0xc8]
xor r8d, r8d
mov rax, qword [rbp + 0x128]
mov r15, qword [rbp + rsi*8 + 0xe0]
mov rcx, qword [rbp + 0x120]
movsxd rdi, dword [rbp + 0x68]
movzx eax, word [rax + rdx*2]
add rdi, qword [rbp + 0x210]
mov rbx, qword [rcx + rdx*8]
lea r9d, [rax + r13]
cmp byte [r15 + 8], r8b
jne 0x14002ce8a
mov rcx, qword [r15 + 0x50]
mov eax, dword [rbx]
mov dword [rcx + 8], eax
jmp 0x14002cee4
cmp byte [rbp + 4], r8b
je 0x14002cec3
mov rdx, qword [rcx + rdx*8 - 8]
lea r8, [rbp + 0x1a8]
mov rcx, r15
call qword [r15 + Ordinal_133]
mov rdx, qword [rbp + 0x1a8]
lea rcx, [rdi + 4]
mov rbx, rdi
call fcn.140019dfc
lea r9d, [rax + 4]
xor eax, eax
mov edi, eax
jmp 0x14002cee4
mov ecx, 4
sub rbx, rcx
cmp ax, cx
jne 0x14002cee4
mov rax, qword [rbp + 0x200]
mov rdx, rbx
mov rcx, rax
call qword [rax + Ordinal_122]
movzx r9d, ax
add dword [rbp + 0x68], r9d
lea rax, [rbp]
mov qword [rsp + 0x30], rax
mov r8, rbx
mov eax, dword [r15 + 4]
mov r15, qword [rbp + 0x200]
mov ebx, dword [rbp + 0x1c]
mov rcx, r15
mov dword [rsp + 0x28], eax
mov edx, ebx
mov qword [rsp + 0x20], rdi
call fcn.14002b0a4
mov edi, dword [rbp]
xor r9d, r9d
lea r11d, [r9 + 1]
test edi, edi
jne 0x14002c0dc
add ebx, r11d
add rsi, r11
mov dword [rbp + 0x1c], ebx
cmp rsi, r12
jl 0x14002ce41
mov rbx, qword [rbp + 0xe0]
jmp 0x14002cf4f
mov r15, qword [rbp + 0x200]
mov r11d, 1
mov r8d, dword [rbp + 0x18]
mov esi, r11d
sub esi, r8d
cmp esi, r8d
jge 0x14002d046
mov r12d, dword [rbp + 0x14]
mov r13d, dword [rbp + 0x50]
mov eax, esi
cdq
xor eax, edx
sub eax, edx
movsxd rbx, eax
cmp byte [rbp + rbx + 0x88], r9b
jne 0x14002d033
test esi, esi
jns 0x14002cf9a
mov ecx, dword [rbp + rbx*4 + 0xc4]
cmp dword [rbp + rbx*4 + 0x184], ecx
jl 0x14002d033
test eax, eax
jne 0x14002cfad
mov edx, r9d
mov r8d, r9d
mov r9d, dword [rbp + 0xc8]
jmp 0x14002cfe8
cmp eax, r13d
mov eax, dword [rbp + 4]
jge 0x14002cfc6
test al, al
mov edx, r9d
sete dl
add edx, dword [rbp + rbx*4 + 0x184]
jmp 0x14002cfcc
mov edx, dword [rbp + 0x110]
mov r8d, r9d
test al, al
mov r9d, dword [rbp + rbx*4 + 0xc8]
sete r8b
add r8d, dword [rbp + rbx*4 + 0xc4]
sub r9d, r8d
mov rcx, qword [rbp + rbx*8 + 0xe0]
lea rax, [rbp + 0x110]
mov qword [rsp + 0x20], rax
call fcn.14002b73c
xor r9d, r9d
mov dword [rbp], eax
mov edi, eax
lea r11d, [r9 + 1]
test eax, eax
jne 0x14002c0dc
mov rax, qword [rbp + rbx*8 + 0xe0]
mov ecx, r12d
sub ecx, dword [rbp + rbx*4 + 0x70]
mov r8d, dword [rbp + 0x18]
mov byte [rbp + rbx + 0x88], r11b
mov dword [rax + 0x14], ecx
add esi, r11d
cmp esi, r8d
jl 0x14002cf6a
mov rbx, qword [rbp + 0xe0]
cmp dword [rbp + 0x218], r9d
je 0x14002d0b6
cmp word [r15 + 0x18], r9w
jne 0x14002d0b6
movzx eax, byte [r15 + 9]
cmp eax, dword [rbx + 0x14]
jg 0x14002d0b6
or edx, 0xffffffff
mov rcx, rbx
call fcn.14002642c
mov rcx, qword [rbp + 0xe0]
lea r8, [rbp]
mov rdx, r15
mov dword [rbp], eax
call fcn.14002bc98
mov edi, dword [rbp]
xor r9d, r9d
test edi, edi
jne 0x14002d0a7
mov rcx, qword [rbp + 0xe0]
mov rdx, rcx
mov r8d, dword [rcx + 4]
mov rcx, qword [rcx + 0x48]
call fcn.14002a7b0
mov edi, eax
xor r9d, r9d
mov r11d, 1
mov rbx, qword [rbp + 0x60]
jmp 0x14002d154
mov r10, qword [rbp + 0x38]
cmp byte [r10 + 0x21], r9b
je 0x14002d0ad
cmp word [rbp + 0x10], r9w
jne 0x14002d0ad
test r14, r14
jle 0x14002d0ad
mov rbx, r9
mov r8, qword [rbp + rbx*8 + 0xe0]
mov rcx, qword [r8 + 0x50]
mov r9d, dword [r8 + 4]
mov r8b, 5
movzx eax, byte [rcx + 0xa]
movzx edx, byte [rcx + 9]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + 0xb]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + 8]
shl eax, 0x18
mov rcx, r10
or edx, eax
lea rax, [rbp]
mov qword [rsp + 0x20], rax
call fcn.140025e68
mov r10, qword [rbp + 0x38]
mov r11d, 1
add rbx, r11
cmp rbx, r14
jl 0x14002d0cf
mov edi, dword [rbp]
xor r9d, r9d
jmp 0x14002d0ad
mov rcx, qword [rbp + r14*8 + 0x98]
test edi, edi
jne 0x14002d151
mov r8d, dword [rcx + 4]
mov rdx, rcx
mov rcx, qword [rcx + 0x48]
call fcn.14002a7b0
xor r9d, r9d
mov edi, eax
lea r11d, [r9 + 1]
add r14, r11
cmp r14, rbx
jl 0x14002d12c
jmp 0x14002c0dc