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

Disassembly:
dec r8d
mov r9, rcx
cmp r8d, 8
ja case.default.0x1406b7572
lea rcx, [0x140000000]
mov r8d, dword [rcx + r8*4 + 0x6b7714]
add r8, rcx
jmp r8
movzx ecx, byte [r9]
movzx eax, byte [r9 + 1]
shl ecx, 8
add ecx, eax
sub ecx, 1
je 0x1406b7599
cmp ecx, 1
jne case.default.0x1406b7572
mov rcx, r9
jmp 0x1406bc810
mov rcx, r9
jmp 0x1406bc760
movzx ecx, byte [r9]
movzx eax, byte [r9 + 1]
shl ecx, 8
add ecx, eax
sub ecx, 1
je 0x1406b75c5
cmp ecx, 1
jne case.default.0x1406b7572
mov rcx, r9
jmp 0x1406bbf70
mov rcx, r9
jmp 0x1406bbe50
movzx ecx, byte [r9]
movzx eax, byte [r9 + 1]
shl ecx, 8
add ecx, eax
cmp ecx, 1
jne case.default.0x1406b7572
mov rcx, r9
jmp 0x1406badf0
movzx ecx, byte [r9]
movzx eax, byte [r9 + 1]
shl ecx, 8
add ecx, eax
cmp ecx, 1
jne case.default.0x1406b7572
mov rcx, r9
jmp 0x1406bb5c0
movzx ecx, byte [r9]
movzx eax, byte [r9 + 1]
shl ecx, 8
add ecx, eax
cmp ecx, 1
jne case.default.0x1406b7572
mov rcx, r9
jmp 0x1406bb860
movzx ecx, byte [r9]
movzx eax, byte [r9 + 1]
shl ecx, 8
add ecx, eax
cmp ecx, 1
jne case.default.0x1406b7572
mov rcx, r9
jmp 0x1406bba80
movzx ecx, byte [r9]
movzx eax, byte [r9 + 1]
shl ecx, 8
add ecx, eax
sub ecx, 1
je 0x1406b767a
sub ecx, 1
je 0x1406b7672
cmp ecx, 1
jne case.default.0x1406b7572
mov rcx, r9
jmp fcn.1406bad20
mov rcx, r9
jmp fcn.1406bac10
mov rcx, r9
jmp fcn.1406bab30
movzx ecx, byte [r9]
movzx eax, byte [r9 + 1]
shl ecx, 8
add ecx, eax
sub ecx, 1
je 0x1406b76af
sub ecx, 1
je 0x1406b76a7
cmp ecx, 1
jne case.default.0x1406b7572
mov rcx, r9
jmp fcn.1406ba820
mov rcx, r9
jmp fcn.1406ba6d0
mov rcx, r9
jmp fcn.1406ba5f0
movzx ecx, byte [r9]
movzx eax, byte [r9 + 1]
shl ecx, 8
add ecx, eax
cmp ecx, 1
jne case.default.0x1406b7572
movzx ecx, byte [r9 + 5]
movzx eax, byte [r9 + 6]
shl eax, 8
shl ecx, 0x10
add ecx, eax
movzx eax, byte [r9 + 4]
shl eax, 0x18
add ecx, eax
movzx eax, byte [r9 + 7]
add ecx, eax
jne 0x1406b76f8
lea rcx, [0x140e70e30]
jmp 0x1406b76fb
add rcx, r9
movzx r8d, byte [r9 + 2]
movzx eax, byte [r9 + 3]
shl r8d, 8
add r8d, eax
jmp fcn.1406b7550
xor al, al
ret
push rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x58
mov rbp, qword [rdx + 0x90]
lea rsi, [0x140e70e30]
mov rdi, rcx
mov rbx, rdx
movzx ecx, byte [rcx + 2]
shl ecx, 8
movzx eax, byte [rdi + 3]
add ecx, eax
jne 0x1406bae25
mov rcx, rsi
jmp 0x1406bae28
add rcx, rdi
mov rax, qword [rbp + 0xb8]
mov r14d, dword [rbp + 0xa4]
lea rdx, [r14 + r14*4]
mov edx, dword [rax + rdx*4]
call fcn.1406be600
movzx edx, byte [rdi + 4]
movzx ecx, byte [rdi + 5]
shl edx, 8
add edx, ecx
cmp eax, edx
jb 0x1406bae5c
lea r15, [0x140e70e32]
jmp 0x1406bae67
mov r15d, eax
add r15, 2
lea r15, [rdi + r15*4]
movzx ecx, byte [r15]
mov eax, 0x100
movzx edx, byte [r15 + 1]
imul ecx, eax
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x48], r13
add dx, cx
je 0x1406bb165
mov rdx, qword [rbx + 8]
mov dword [rbx], r14d
mov dword [rbx + 0x38], 1
mov rax, qword [rdx + 0x90]
mov ecx, dword [rax + 0xa8]
mov dword [rbx + 0x3c], ecx
mov r8, qword [rdx + 0x90]
mov eax, dword [r8 + 0xa4]
cmp r14d, eax
jne 0x1406baece
lea rcx, [rax + rax*4]
mov rax, qword [r8 + 0xb8]
movzx edx, byte [rax + rcx*4 + 0xf]
jmp 0x1406baed0
xor dl, dl
mov rcx, rbx
mov byte [rbx + 0x1c], dl
call fcn.1406c06d0
test al, al
je 0x1406bb165
movzx ecx, byte [rdi + 2]
movzx eax, byte [rdi + 3]
shl ecx, 8
add ecx, eax
jne 0x1406baef7
mov rcx, rsi
jmp 0x1406baefa
add rcx, rdi
mov r14d, dword [rbx]
mov r13, qword [rbp + 0xb8]
lea rax, [r14 + r14*4]
mov edx, dword [r13 + rax*4]
call fcn.1406be600
movzx edx, byte [rdi + 4]
movzx ecx, byte [rdi + 5]
shl edx, 8
add edx, ecx
cmp eax, edx
jb 0x1406baf28
mov r12, rsi
jmp 0x1406baf32
mov eax, eax
lea r12, [rdi + 6]
lea r12, [r12 + rax*4]
movzx edx, byte [r12]
mov ecx, 0x100
movzx eax, byte [r12 + 1]
imul edx, ecx
add dx, ax
je 0x1406bb165
mov edx, dword [rbp + 0xa4]
mov eax, r14d
sub eax, edx
mov qword [rsp + 0x30], rdx
cmp eax, 2
jb 0x1406baf7c
mov r8d, r14d
mov rcx, rbp
call fcn.1406b4740
mov r8, qword [rbp + 0xb8]
mov rdx, qword [rsp + 0x30]
jmp 0x1406baf7f
mov r8, r13
movzx eax, byte [r15]
movzx ecx, byte [r15 + 1]
shl eax, 8
add ecx, eax
jne 0x1406baf94
mov rcx, rsi
jmp 0x1406baf97
add rcx, rdi
mov eax, edx
lea r9, [rsp + 0xa0]
lea rdx, [rax + rax*4]
mov r8d, dword [r8 + rdx*4]
lea r13, [rdx*4]
lea rax, [rsp + 0x90]
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.1406bdff0
movzx ecx, byte [r12]
movzx eax, byte [r12 + 1]
shl ecx, 8
add ecx, eax
je 0x1406bafdd
mov esi, ecx
add rsi, rdi
lea rax, [r14 + r14*4]
mov rdx, rbx
lea r15, [rax*4]
mov rax, qword [rbp + 0xb8]
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xa8]
mov rcx, rsi
mov r8d, dword [rax + r15]
call fcn.1406bdff0
mov ecx, dword [rbx + 0xb0]
mov rdi, qword [rbp + 0xc8]
mov r9d, dword [rsp + 0x90]
mov edx, dword [rsp + 0x98]
mov r10d, dword [rsp + 0xa0]
mov r8d, dword [rsp + 0xa8]
sub ecx, 4
je 0x1406bb0b9
sub ecx, 1
je 0x1406bb097
sub ecx, 1
je 0x1406bb074
cmp ecx, 1
jne 0x1406bb0d9
mov ecx, dword [rdi + r13 + 0xc]
lea eax, [rcx + r9]
sub dword [rdi + r13 + 4], eax
sub ecx, eax
mov dword [rdi + r13 + 0xc], ecx
mov dword [r15 + rdi + 4], edx
jmp 0x1406bb0d9
mov ecx, dword [rdi + r13 + 0xc]
add ecx, r9d
mov dword [rdi + r13 + 4], ecx
mov ecx, dword [r15 + rdi + 0xc]
lea eax, [rcx + rdx]
sub dword [r15 + rdi + 4], eax
sub ecx, eax
mov dword [r15 + rdi + 0xc], ecx
jmp 0x1406bb0d9
mov ecx, dword [rdi + r13 + 8]
lea eax, [rcx + r10]
sub dword [rdi + r13], eax
sub ecx, eax
mov dword [rdi + r13 + 8], ecx
mov ecx, dword [r15 + rdi + 8]
add ecx, r8d
mov dword [r15 + rdi], ecx
jmp 0x1406bb0d9
mov ecx, dword [rdi + r13 + 8]
add ecx, r10d
mov dword [rdi + r13], ecx
mov ecx, dword [r15 + rdi + 8]
lea eax, [rcx + r8]
sub dword [r15 + rdi], eax
sub ecx, eax
mov dword [r15 + rdi + 8], ecx
mov ecx, dword [rbx + 0xc0]
sub edx, r9d
sub r8d, r10d
mov esi, edx
neg esi
mov r15d, r8d
and ecx, 1
mov eax, r14d
cmovne esi, edx
mov rdx, qword [rsp + 0x30]
mov r9d, edx
neg r15d
test ecx, ecx
mov rcx, rdi
cmovne eax, edx
cmovne r15d, r8d
mov r8d, dword [rbx + 0xb0]
mov edx, eax
cmovne r9d, r14d
mov r11d, eax
call fcn.1406c0d60
lea rax, [r11 + r11*4]
sub r9w, r11w
lea rcx, [rdi + rax*4]
mov byte [rcx + 0x12], 2
mov word [rcx + 0x10], r9w
or dword [rbp + 0x6c], 8
mov eax, dword [rbx + 0xb0]
and eax, 0xfffffffe
cmp eax, 4
jne 0x1406bb156
mov dword [rcx + 0xc], esi
mov al, 1
mov dword [rbp + 0xa4], r14d
jmp 0x1406bb167
mov dword [rcx + 8], r15d
mov al, 1
mov dword [rbp + 0xa4], r14d
jmp 0x1406bb167
xor al, al
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
add rsp, 0x58
pop r15
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov qword [rsp + 0x20], rbx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r13, qword [rdx + 0x90]
lea r15, [0x140e70e30]
movzx eax, byte [rcx + 3]
mov rbx, rdx
movzx edx, byte [rcx + 2]
mov r14, rcx
shl edx, 8
add edx, eax
jne 0x1406bb5fa
mov rcx, r15
jmp 0x1406bb5ff
mov ecx, edx
add rcx, r14
mov rax, qword [r13 + 0xb8]
mov edi, dword [r13 + 0xa4]
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x80], rsi
lea rdx, [rdi + rdi*4]
mov edx, dword [rax + rdx*4]
call fcn.1406be600
mov r12d, eax
cmp eax, 0xffffffff
je 0x1406bb747
mov r8, qword [rbx + 8]
mov dword [rbx], edi
mov dword [rbx + 0x38], 1
mov rcx, qword [r8 + 0x90]
mov edx, dword [rcx + 0xa8]
mov dword [rbx + 0x3c], edx
mov rdx, qword [r8 + 0x90]
mov eax, dword [rdx + 0xa4]
cmp edi, eax
jne 0x1406bb672
lea rcx, [rax + rax*4]
mov rax, qword [rdx + 0xb8]
movzx edx, byte [rax + rcx*4 + 0xf]
jmp 0x1406bb674
xor dl, dl
mov byte [rbx + 0x1c], dl
mov dword [rbx + 0x10], 8
nop
mov ebp, dword [rbx + 0x38]
mov edi, dword [rbx]
cmp edi, ebp
jb 0x1406bb747
mov rcx, qword [rbx + 8]
dec edi
mov dword [rbx], edi
mov rax, qword [rcx + 0x90]
lea r8, [rdi + rdi*4]
mov rdx, qword [rax + 0xc0]
lea rsi, [rdx + r8*4]
mov r8d, dword [rbx + 0x10]
mov rdx, rsi
call fcn.1406bd9e0
test al, al
je 0x1406bb685
movzx ecx, word [rsi + 0x10]
movzx eax, cl
and al, 0x60
cmp al, 0x20
jne 0x1406bb707
movzx eax, byte [rsi + 0xc]
shr al, 5
test al, 1
jne 0x1406bb707
movzx eax, cx
and ax, 0x1f
cmp byte [rbx + 0x14], 0
jne 0x1406bb6ed
cmp ax, 1
jne 0x1406bb6ed
bt cx, 9
jb 0x1406bb707
cmp byte [rbx + 0x15], 0
jne 0x1406bb700
cmp ax, 1
jne 0x1406bb700
bt cx, 8
jb 0x1406bb707
mov edi, 2
jmp 0x1406bb709
xor edi, edi
mov eax, dword [rsi + 4]
test dword [rbx + 0x18], eax
je 0x1406bb73f
movzx eax, byte [rbx + 0x1c]
test al, al
je 0x1406bb71e
cmp al, byte [rsi + 0xf]
jne 0x1406bb73f
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x1406bb76c
mov r8, qword [rbx + 0x28]
mov rdx, qword [rbx + 0x30]
mov ecx, dword [rsi]
call rax
xor ecx, ecx
test al, al
setne cl
cmp ecx, 1
je 0x1406bb774
test edi, edi
jne 0x1406bb680
xor al, al
mov rsi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
test edi, edi
jne 0x1406bb680
mov ecx, dword [rbx + 0x38]
mov rdx, qword [rbx + 0x30]
mov edi, dword [rbx]
lea eax, [rcx - 1]
mov dword [rbx + 0x38], eax
lea rax, [rdx + 2]
mov qword [rbx + 0x30], rax
lea rax, [rdi + rdi*4]
mov r9, qword [r13 + 0xb8]
lea r8, [r9 + rax*4]
movzx eax, byte [r9 + rax*4 + 0xc]
shr al, 6
test al, 1
je 0x1406bb7c1
movzx eax, byte [r8 + 0xe]
test al, 0x10
jne 0x1406bb7c1
and eax, 0xf
je 0x1406bb7c1
mov dword [rbx + 0x38], ecx
mov qword [rbx + 0x30], rdx
jmp 0x1406bb680
movzx ecx, byte [r14 + 4]
movzx eax, byte [r14 + 5]
shl ecx, 8
add ecx, eax
jne 0x1406bb7d7
mov rcx, r15
jmp 0x1406bb7da
add rcx, r14
lea rax, [rdi + rdi*4]
mov edx, dword [r9 + rax*4]
call fcn.1406be600
mov r9d, eax
cmp eax, 0xffffffff
je 0x1406bb747
movzx ecx, byte [r14 + 8]
movzx edx, byte [r14 + 9]
shl ecx, 8
add edx, ecx
jne 0x1406bb809
mov rcx, r15
jmp 0x1406bb80e
mov ecx, edx
add rcx, r14
movzx eax, byte [r14 + 6]
movzx r8d, byte [r14 + 7]
movzx edx, byte [r14 + 0xa]
shl eax, 8
add r8d, eax
shl edx, 8
movzx eax, byte [r14 + 0xb]
add edx, eax
je 0x1406bb835
mov r15d, edx
add r15, r14
mov dword [rsp + 0x30], edi
mov rdx, rbx
mov dword [rsp + 0x28], r8d
mov r8d, r12d
mov qword [rsp + 0x20], r15
call fcn.1406bb3f0
jmp 0x1406bb749
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r13
push r14
sub rsp, 0x40
mov rbp, qword [rdx + 0x90]
lea rdi, [0x140e70e30]
mov rbx, rcx
mov rsi, rdx
movzx ecx, byte [rcx + 2]
shl ecx, 8
movzx eax, byte [rbx + 3]
add ecx, eax
jne 0x1406bb898
mov rcx, rdi
jmp 0x1406bb89b
add rcx, rbx
mov rax, qword [rbp + 0xb8]
mov r14d, dword [rbp + 0xa4]
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r15
lea rdx, [r14 + r14*4]
mov edx, dword [rax + rdx*4]
call fcn.1406be600
mov r13d, eax
cmp eax, 0xffffffff
je 0x1406bba5b
mov r8, qword [rsi + 8]
mov dword [rsi], r14d
mov dword [rsi + 0x38], 1
mov rcx, qword [r8 + 0x90]
mov edx, dword [rcx + 0xa8]
mov dword [rsi + 0x3c], edx
mov rdx, qword [r8 + 0x90]
mov ecx, dword [rdx + 0xa4]
cmp r14d, ecx
jne 0x1406bb90d
mov rax, qword [rdx + 0xb8]
lea rcx, [rcx + rcx*4]
movzx edx, byte [rax + rcx*4 + 0xf]
jmp 0x1406bb90f
xor dl, dl
mov byte [rsi + 0x1c], dl
mov rcx, rsi
mov dword [rsi + 0x10], 8
call fcn.1406c09b0
test al, al
je 0x1406bba5b
movzx ecx, byte [rbx + 4]
movzx eax, byte [rbx + 5]
mov r12d, dword [rsi]
shl ecx, 8
add ecx, eax
jne 0x1406bb940
mov rcx, rdi
jmp 0x1406bb943
add rcx, rbx
mov r14, qword [rbp + 0xb8]
lea rdx, [r12 + r12*4]
lea r15, [r14 + rdx*4]
mov edx, dword [r14 + rdx*4]
call fcn.1406be600
mov r8d, eax
cmp eax, 0xffffffff
je 0x1406bba5b
movzx edx, byte [rbx + 0xa]
movzx ecx, byte [rbx + 0xb]
shl edx, 8
add edx, ecx
jne 0x1406bb97b
mov rdx, rdi
jmp 0x1406bb97e
add rdx, rbx
movzx ecx, byte [rdx]
movzx eax, byte [rdx + 1]
shl ecx, 8
add ecx, eax
cmp r8d, ecx
jb 0x1406bb994
mov r8, rdi
jmp 0x1406bb9b0
movzx ecx, byte [rdx + r8*2 + 2]
movzx r8d, byte [rdx + r8*2 + 3]
shl ecx, 8
add r8d, ecx
jne 0x1406bb9ad
mov r8, rdi
jmp 0x1406bb9b0
add r8, rdx
movzx r9d, byte [r8]
movzx eax, byte [r8 + 1]
shl r9d, 8
add r9d, eax
je 0x1406bba5b
mov eax, dword [rbp + 0xa4]
movzx r10d, byte [r15 + 0xe]
shr r10d, 5
lea rcx, [rax + rax*4]
movzx edx, byte [r14 + rcx*4 + 0xe]
movzx r11d, dl
and r11b, 0x10
test r10d, r10d
je 0x1406bba19
mov eax, edx
shr eax, 5
cmp r10d, eax
jne 0x1406bba19
and edx, 0xf
xor ecx, ecx
test r11b, r11b
mov eax, ecx
cmove eax, edx
test eax, eax
je 0x1406bba19
test r11b, r11b
cmove ecx, edx
cmp r9d, ecx
cmovae r9d, ecx
dec r9d
jmp 0x1406bba1c
dec r9d
movzx ecx, byte [rbx + 8]
movzx eax, byte [rbx + 9]
shl ecx, 8
add ecx, eax
je 0x1406bba30
mov edi, ecx
add rdi, rbx
movzx edx, byte [rbx + 7]
mov rcx, rdi
movzx eax, byte [rbx + 6]
shl eax, 8
add edx, eax
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x28], edx
mov rdx, rsi
mov qword [rsp + 0x20], r8
mov r8d, r13d
call fcn.1406bb3f0
jmp 0x1406bba5d
xor al, al
mov r15, qword [rsp + 0x78]
mov r12, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r14
pop r13
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x40
mov rbp, qword [rdx + 0x90]
lea rsi, [0x140e70e30]
mov rbx, rcx
mov rdi, rdx
movzx ecx, byte [rcx + 2]
shl ecx, 8
movzx eax, byte [rbx + 3]
add ecx, eax
jne 0x1406bbac0
mov rcx, rsi
jmp 0x1406bbac3
add rcx, rbx
mov rax, qword [rbp + 0xb8]
mov r14d, dword [rbp + 0xa4]
lea rdx, [r14 + r14*4]
mov edx, dword [rax + rdx*4]
call fcn.1406be600
mov r15d, eax
cmp eax, 0xffffffff
je 0x1406bbbb3
mov r8, qword [rdi + 8]
mov dword [rdi], r14d
mov dword [rdi + 0x38], 1
mov rcx, qword [r8 + 0x90]
mov edx, dword [rcx + 0xa8]
mov dword [rdi + 0x3c], edx
mov rdx, qword [r8 + 0x90]
mov ecx, dword [rdx + 0xa4]
cmp r14d, ecx
jne 0x1406bbb2b
mov rax, qword [rdx + 0xb8]
lea rcx, [rcx + rcx*4]
movzx edx, byte [rax + rcx*4 + 0xf]
jmp 0x1406bbb2d
xor dl, dl
mov byte [rdi + 0x1c], dl
mov rcx, rdi
mov eax, dword [rdi + 0xc0]
and eax, 0xfffffff1
mov dword [rdi + 0x10], eax
call fcn.1406c09b0
test al, al
je 0x1406bbbb3
mov r14d, dword [rdi]
mov rdx, qword [rbp + 0xb8]
lea rax, [r14 + r14*4]
lea r11, [rdx + rax*4]
movzx eax, byte [rdx + rax*4 + 0xc]
shr al, 3
test al, 1
je 0x1406bbbb3
mov eax, dword [rbp + 0xa4]
xor r9d, r9d
mov r10d, r9d
lea rcx, [rax + rax*4]
movzx edx, byte [rdx + rcx*4 + 0xe]
movzx ecx, byte [r11 + 0xe]
mov r8d, edx
shr r8d, 5
mov ebp, ecx
shr ebp, 5
movzx eax, dl
and edx, 0xf
and al, 0x10
movzx eax, cl
cmove r10d, edx
and ecx, 0xf
and al, 0x10
cmove r9d, ecx
cmp r8d, ebp
jne 0x1406bbbce
test r8d, r8d
je 0x1406bbbe1
cmp r10d, r9d
je 0x1406bbbe1
xor al, al
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x40
pop r15
pop r14
pop rdi
ret
test r8d, r8d
je 0x1406bbbd8
test r10d, r10d
je 0x1406bbbe1
test ebp, ebp
je 0x1406bbbb3
test r9d, r9d
jne 0x1406bbbb3
movzx ecx, byte [rbx + 4]
movzx eax, byte [rbx + 5]
shl ecx, 8
add ecx, eax
jne 0x1406bbbf5
mov rcx, rsi
jmp 0x1406bbbf8
add rcx, rbx
mov edx, dword [r11]
call fcn.1406be600
mov r9d, eax
cmp eax, 0xffffffff
je 0x1406bbbb3
movzx ecx, byte [rbx + 8]
movzx edx, byte [rbx + 9]
shl ecx, 8
add edx, ecx
jne 0x1406bbc1c
mov rcx, rsi
jmp 0x1406bbc21
mov ecx, edx
add rcx, rbx
movzx eax, byte [rbx + 7]
movzx r8d, byte [rbx + 6]
movzx edx, byte [rbx + 0xa]
shl r8d, 8
add r8d, eax
shl edx, 8
movzx eax, byte [rbx + 0xb]
add edx, eax
je 0x1406bbc45
mov esi, edx
add rsi, rbx
mov dword [rsp + 0x30], r14d
mov rdx, rdi
mov dword [rsp + 0x28], r8d
mov r8d, r15d
mov qword [rsp + 0x20], rsi
call fcn.1406bb3f0
jmp 0x1406bbbb5
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov r8, qword [rdx + 0x90]
lea rbx, [0x140e70e30]
mov rsi, rcx
mov rdi, rdx
movzx ecx, byte [rcx + 2]
shl ecx, 8
movzx eax, byte [rsi + 3]
add ecx, eax
jne 0x1406bbe92
mov rcx, rbx
jmp 0x1406bbe95
add rcx, rsi
mov r14d, dword [r8 + 0xa4]
mov rax, qword [r8 + 0xb8]
lea rdx, [r14 + r14*4]
mov edx, dword [rax + rdx*4]
call fcn.1406be600
mov ebp, eax
cmp eax, 0xffffffff
je 0x1406bbf52
mov r8, qword [rdi + 8]
mov dword [rdi], r14d
mov dword [rdi + 0x38], 1
mov rcx, qword [r8 + 0x90]
mov edx, dword [rcx + 0xa8]
mov dword [rdi + 0x3c], edx
mov rdx, qword [r8 + 0x90]
mov eax, dword [rdx + 0xa4]
cmp r14d, eax
jne 0x1406bbefc
lea rcx, [rax + rax*4]
mov rax, qword [rdx + 0xb8]
movzx edx, byte [rax + rcx*4 + 0xf]
jmp 0x1406bbefe
xor dl, dl
mov rcx, rdi
mov byte [rdi + 0x1c], dl
call fcn.1406c06d0
test al, al
je 0x1406bbf52
movzx ecx, byte [rsi + 8]
movzx eax, byte [rsi + 9]
shl ecx, 8
add ecx, eax
cmp ebp, ecx
jb 0x1406bbf23
mov rax, rbx
jmp 0x1406bbf2b
lea rax, [rsi + 0xa]
lea rax, [rax + rbp*2]
movzx ecx, byte [rax]
movzx eax, byte [rax + 1]
shl ecx, 8
add ecx, eax
je 0x1406bbf3e
mov ebx, ecx
add rbx, rsi
mov r9d, dword [rdi]
lea r8, [rsi + 4]
mov rdx, rdi
mov rcx, rbx
call fcn.1406bc250
jmp 0x1406bbf54
xor al, al
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x40
mov rbp, qword [rdx + 0x90]
lea rbx, [0x140e70e30]
mov rdi, rcx
mov rsi, rdx
movzx ecx, byte [rcx + 2]
shl ecx, 8
movzx eax, byte [rdi + 3]
add ecx, eax
jne 0x1406bbfa3
mov rcx, rbx
jmp 0x1406bbfa6
add rcx, rdi
mov rax, qword [rbp + 0xb8]
mov r14d, dword [rbp + 0xa4]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r15
lea rdx, [r14 + r14*4]
mov edx, dword [rax + rdx*4]
call fcn.1406be600
cmp eax, 0xffffffff
je 0x1406bc230
mov rdx, qword [rsi + 8]
mov dword [rsi], r14d
mov dword [rsi + 0x38], 1
mov rax, qword [rdx + 0x90]
mov ecx, dword [rax + 0xa8]
mov dword [rsi + 0x3c], ecx
mov r8, qword [rdx + 0x90]
mov eax, dword [r8 + 0xa4]
cmp r14d, eax
jne 0x1406bc016
lea rcx, [rax + rax*4]
mov rax, qword [r8 + 0xb8]
movzx edx, byte [rax + rcx*4 + 0xf]
jmp 0x1406bc018
xor dl, dl
mov rcx, rsi
mov byte [rsi + 0x1c], dl
call fcn.1406c06d0
test al, al
je 0x1406bc230
movzx eax, byte [rdi + 5]
movzx edx, byte [rdi + 4]
movzx r8d, byte [rdi + 6]
shl edx, 8
add edx, eax
shl r8d, 8
mov ecx, edx
mov qword [rsp + 0x88], r12
shr ecx, 1
and ecx, 0x5b6db6db
mov eax, ecx
shr eax, 1
and eax, 0x5b6db6db
sub edx, eax
mov eax, 0x4104105
sub edx, ecx
mov r9d, edx
shr r9d, 3
add r9d, edx
and r9d, 0xc71c71c7
mul r9d
mov eax, r9d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
imul eax, eax, 0x3f
sub r9d, eax
movzx eax, byte [rdi + 7]
add r8d, eax
mov dword [rsp + 0x78], r9d
mov edx, r8d
mov eax, 0x4104105
shr edx, 1
and edx, 0x5b6db6db
mov ecx, edx
shr ecx, 1
and ecx, 0x5b6db6db
sub r8d, ecx
sub r8d, edx
mov ecx, r8d
shr ecx, 3
add ecx, r8d
and ecx, 0xc71c71c7
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
imul eax, eax, 0x3f
sub ecx, eax
mov dword [rsp + 0x80], ecx
lea eax, [rcx + r9]
movzx ecx, byte [rdi + 9]
mov dword [rsp + 0x70], eax
movzx eax, byte [rdi + 8]
shl eax, 8
add ecx, eax
jne 0x1406bc0fb
mov rcx, rbx
jmp 0x1406bc0fe
add rcx, rdi
mov r14d, dword [rbp + 0xa4]
mov r12, qword [rbp + 0xb8]
lea rax, [r14 + r14*4]
mov edx, dword [r12 + rax*4]
call fcn.1406be4c0
movzx edx, byte [rdi + 0xa]
mov r13d, eax
movzx ecx, byte [rdi + 0xb]
shl edx, 8
add edx, ecx
je 0x1406bc130
mov ebx, edx
add rbx, rdi
mov r15d, dword [rsi]
mov rcx, rbx
lea rax, [r15 + r15*4]
mov edx, dword [r12 + rax*4]
call fcn.1406be4c0
movzx edx, byte [rdi + 0xc]
mov ebx, eax
movzx ecx, byte [rdi + 0xd]
mov r12, qword [rsp + 0x88]
shl edx, 8
add edx, ecx
cmp r13d, edx
jae 0x1406bc230
movzx eax, byte [rdi + 0xe]
movzx ecx, byte [rdi + 0xf]
shl eax, 8
add eax, ecx
cmp ebx, eax
jae 0x1406bc230
lea r8d, [r15 + 1]
mov eax, r8d
sub eax, r14d
cmp eax, 2
jb 0x1406bc19d
mov edx, r14d
mov rcx, rbp
call fcn.1406b4740
movzx ecx, byte [rdi + 0xf]
mov r14d, dword [rbp + 0xa4]
movzx edx, byte [rdi + 0xe]
mov r8, rdi
shl edx, 8
movzx eax, cl
lea rcx, [rdi + 4]
add eax, edx
imul eax, r13d
add eax, ebx
imul eax, dword [rsp + 0x70]
add rax, 8
lea rbx, [rdi + rax*2]
mov eax, r14d
mov r9, rbx
lea rdx, [rax + rax*4]
mov rax, qword [rbp + 0xc8]
lea rdx, [rax + rdx*4]
mov qword [rsp + 0x20], rdx
mov rdx, rsi
call fcn.1406bd4c0
mov eax, dword [rsi]
lea rcx, [rdi + 6]
lea rdx, [rax + rax*4]
mov rax, qword [rbp + 0xc8]
lea r8, [rax + rdx*4]
mov eax, dword [rsp + 0x78]
mov qword [rsp + 0x20], r8
mov rdx, rsi
mov r8, rdi
lea r9, [rbx + rax*2]
call fcn.1406bd4c0
cmp dword [rsp + 0x80], 0
mov eax, dword [rsi]
mov dword [rbp + 0xa4], eax
je 0x1406bc22c
inc eax
mov dword [rbp + 0xa4], eax
mov al, 1
jmp 0x1406bc232
xor al, al
mov r15, qword [rsp + 0x30]
mov r13, qword [rsp + 0x38]
add rsp, 0x40
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x30
mov rdi, qword [rdx + 0x90]
mov rbx, rcx
movzx ecx, byte [rcx + 2]
mov rsi, rdx
shl ecx, 8
movzx eax, byte [rbx + 3]
add ecx, eax
jne 0x1406bc79a
lea rcx, [0x140e70e30]
jmp 0x1406bc79d
add rcx, rbx
mov eax, dword [rdi + 0xa4]
lea rdx, [rax + rax*4]
mov rax, qword [rdi + 0xb8]
lea r14, [rdx*4]
mov edx, dword [rax + rdx*4]
call fcn.1406be600
cmp eax, 0xffffffff
jne 0x1406bc7c7
xor al, al
jmp 0x1406bc7f1
mov rdx, qword [rdi + 0xc8]
lea r9, [rbx + 6]
add rdx, r14
lea rcx, [rbx + 4]
mov qword [rsp + 0x20], rdx
mov r8, rbx
mov rdx, rsi
call fcn.1406bd4c0
inc dword [rdi + 0xa4]
mov al, 1
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
add rsp, 0x30
pop r14
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x30
mov rdi, qword [rdx + 0x90]
mov rbx, rcx
movzx ecx, byte [rcx + 2]
mov rsi, rdx
shl ecx, 8
movzx eax, byte [rbx + 3]
add ecx, eax
jne 0x1406bc84a
lea rcx, [0x140e70e30]
jmp 0x1406bc84d
add rcx, rbx
mov eax, dword [rdi + 0xa4]
lea rdx, [rax + rax*4]
mov rax, qword [rdi + 0xb8]
lea r14, [rdx*4]
mov edx, dword [rax + rdx*4]
call fcn.1406be600
mov r9d, eax
cmp eax, 0xffffffff
je 0x1406bc915
movzx edx, byte [rbx + 6]
movzx ecx, byte [rbx + 7]
shl edx, 8
add edx, ecx
cmp eax, edx
jae 0x1406bc915
movzx eax, byte [rbx + 5]
movzx edx, byte [rbx + 4]
mov r10, qword [rdi + 0xc8]
shl edx, 8
add r10, r14
add edx, eax
mov qword [rsp + 0x20], r10
mov ecx, edx
shr ecx, 1
and ecx, 0x5b6db6db
mov eax, ecx
shr eax, 1
and eax, 0x5b6db6db
sub edx, eax
mov eax, 0x4104105
sub edx, ecx
lea rcx, [rbx + 4]
mov r8d, edx
shr r8d, 3
add r8d, edx
and r8d, 0xc71c71c7
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
mov rdx, rsi
shr eax, 5
imul eax, eax, 0x3f
sub r8d, eax
imul r8d, r9d
mov eax, r8d
mov r8, rbx
add rax, 4
lea r9, [rbx + rax*2]
call fcn.1406bd4c0
inc dword [rdi + 0xa4]
mov al, 1
jmp 0x1406bc917
xor al, al
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
add rsp, 0x30
pop r14
ret