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

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
cmp dword [0x69f96a08], 0
je 0x69f8bad8
mov dword [rsp + 0xc4], 1
jmp 0x69f8c2a1
mov dword [rsp + 0xd4], 0x60
mov eax, dword [rsp + 0xd4]
mov ecx, eax
mov rcx, qword gs:[rcx]
mov qword [rsp + 0xc8], rcx
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0xb8], rcx
mov rcx, qword [rsp + 0xb8]
mov rcx, qword [rcx + 0x18]
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xa0], 0
mov rcx, qword [rsp + 0xb0]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x98], rcx
mov rax, qword [rsp + 0x98]
cmp qword [rax + 0x30], 0
je 0x69f8be34
xor eax, eax
mov ecx, eax
mov rdx, qword [rsp + 0x98]
mov rdx, qword [rdx + 0x30]
mov qword [rsp + 0xa0], rdx
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x90], rdx
mov rdx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x90]
movsxd r8, dword [r8 + 0x3c]
mov r9, rcx
sub r9, rdx
mov rdx, rcx
sub rdx, r8
add r9, rdx
sub rcx, r9
mov qword [rsp + 0x88], rcx
mov rcx, qword [rsp + 0x88]
add rcx, 0x18
add rcx, 0x70
mov qword [rsp + 0x80], rcx
mov rcx, qword [rsp + 0x80]
mov eax, dword [rcx]
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x7c], 0
jne 0x69f8bbed
jmp 0x69f8be1c
xor eax, eax
mov ecx, eax
mov rdx, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x7c]
mov r8d, eax
mov r9, rcx
sub r9, r8
sub rdx, r9
mov qword [rsp + 0xa8], rdx
mov rdx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xa8]
mov eax, dword [r8 + 0xc]
mov r8d, eax
sub rcx, r8
sub rdx, rcx
mov qword [rsp + 0x70], rdx
mov rcx, qword [rsp + 0x70]
mov eax, dword [rcx]
mov r10d, eax
and r10d, 0x20202020
xor eax, 0x20202020
or r10d, eax
cmp r10d, 0x6c64746e
je 0x69f8bcf1
xor eax, eax
mov ecx, dword [0x69f96958]
mov edx, dword [0x69f96960]
sub eax, 1
mov r8d, ecx
add r8d, eax
imul ecx, r8d
and ecx, 1
cmp ecx, 0
sete r9b
cmp edx, 0xa
setl r10b
mov r11b, r9b
and r11b, r10b
xor r9b, r10b
or r11b, r9b
test r11b, 1
jne 0x69f8bca0
jmp 0x69f8c2b4
mov eax, dword [0x69f96958]
mov ecx, dword [0x69f96960]
mov edx, eax
sub edx, 0x730c10e5
sub edx, 1
add edx, 0x730c10e5
imul eax, edx
and eax, 1
cmp eax, 0
sete r8b
cmp ecx, 0xa
setl r9b
mov r10b, r8b
and r10b, r9b
xor r8b, r9b
or r10b, r8b
test r10b, 1
jne 0x69f8bcec
jmp 0x69f8c2b4
jmp 0x69f8be1c
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax + 4]
mov edx, ecx
and edx, 0x20202020
xor ecx, 0x20202020
or edx, ecx
cmp edx, 0x6c642e6c
jne 0x69f8be17
xor eax, eax
mov ecx, dword [0x69f96958]
mov edx, dword [0x69f96960]
sub eax, 1
mov r8d, ecx
add r8d, eax
imul ecx, r8d
and ecx, 1
cmp ecx, 0
sete r9b
cmp edx, 0xa
setl r10b
mov r11b, r9b
xor r11b, 0xff
mov bl, r10b
xor bl, 0xff
mov sil, 1
xor sil, 0
mov dil, r11b
and dil, 0
and r9b, sil
mov bpl, bl
and bpl, 0
and r10b, sil
or dil, r9b
or bpl, r10b
xor dil, bpl
or r11b, bl
xor r11b, 0xff
or sil, 0
and r11b, sil
or dil, r11b
test dil, 1
jne 0x69f8bd92
jmp 0x69f8c38a
mov eax, dword [0x69f96958]
mov ecx, dword [0x69f96960]
mov edx, eax
add edx, 0x8cd7f343
sub edx, 1
sub edx, 0x8cd7f343
imul eax, edx
and eax, 1
cmp eax, 0
sete r8b
cmp ecx, 0xa
setl r9b
mov r10b, r8b
xor r10b, 0xff
mov r11b, r9b
xor r11b, 0xff
mov bl, 1
xor bl, 0
mov sil, r10b
and sil, 0
and r8b, bl
mov dil, r11b
and dil, 0
and r9b, bl
or sil, r8b
or dil, r9b
xor sil, dil
or r10b, r11b
xor r10b, 0xff
or bl, 0
and r10b, bl
or sil, r10b
test sil, 1
jne 0x69f8be12
jmp 0x69f8c38a
jmp 0x69f8be34
jmp 0x69f8be1c
mov rax, qword [rsp + 0x98]
mov rax, qword [rax]
mov qword [rsp + 0x98], rax
jmp 0x69f8bb48
cmp qword [rsp + 0xa8], 0
jne 0x69f8be53
mov dword [rsp + 0xc4], 0
jmp 0x69f8c2a1
lea rax, [0x69f96a08]
add rax, 4
xor ecx, ecx
mov edx, ecx
mov r8, qword [rsp + 0xa8]
mov ecx, dword [r8 + 0x18]
mov dword [rsp + 0x6c], ecx
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0xa8]
mov ecx, dword [r9 + 0x1c]
mov r9d, ecx
movabs r10, 0x9d353e49948fc2d9
sub r8, r10
add r8, r9
add r8, r10
mov qword [rsp + 0x60], r8
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0xa8]
mov ecx, dword [r9 + 0x20]
mov r9d, ecx
mov r10, rdx
sub r10, r8
mov r8, rdx
sub r8, r9
add r10, r8
sub rdx, r10
mov qword [rsp + 0x58], rdx
mov rdx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xa8]
mov ecx, dword [r8 + 0x24]
mov r8d, ecx
movabs r9, 0x1beedaf435de9478
sub rdx, r9
add rdx, r8
add rdx, r9
mov qword [rsp + 0x50], rdx
mov dword [rsp + 0x4c], 0
mov qword [rsp + 0x40], rax
xor eax, eax
mov ecx, eax
mov rdx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0x58]
mov eax, dword [rsp + 0x6c]
sub eax, 0x91f768d2
sub eax, 1
add eax, 0x91f768d2
mov eax, eax
mov r9d, eax
mov eax, dword [r8 + r9*4]
mov r8d, eax
mov r9, rcx
sub r9, rdx
mov rdx, rcx
sub rdx, r8
add r9, rdx
sub rcx, r9
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0x38]
movzx eax, word [rcx]
cmp eax, 0x775a
jne 0x69f8bfe2
mov rcx, qword [rsp + 0x38]
call fcn.69f8b9e0
xor edx, edx
mov rcx, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x4c]
mov r9d, r8d
mov dword [rcx + r9*8], eax
mov rcx, qword [rsp + 0x60]
mov r9, qword [rsp + 0x50]
mov eax, dword [rsp + 0x6c]
mov r8d, edx
sub r8d, 1
add eax, r8d
mov eax, eax
mov r10d, eax
movzx eax, word [r9 + r10*2]
mov r9d, eax
mov eax, dword [rcx + r9*4]
mov rcx, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x4c]
mov r9d, r8d
mov dword [rcx + r9*8 + 4], eax
mov eax, dword [rsp + 0x4c]
sub edx, 1
sub eax, edx
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x4c], 0x1f4
jne 0x69f8bfdd
jmp 0x69f8c005
jmp 0x69f8bfe2
jmp 0x69f8bfe7
mov eax, dword [rsp + 0x6c]
add eax, 0x28f0bc56
add eax, 0xffffffff
sub eax, 0x28f0bc56
mov dword [rsp + 0x6c], eax
cmp eax, 0
jne 0x69f8bf0d
mov eax, dword [rsp + 0x4c]
mov dword [0x69f96a08], eax
mov dword [rsp + 0x34], 0
mov eax, dword [rsp + 0x34]
mov ecx, dword [0x69f96a08]
sub ecx, 0x9b7d3ffd
sub ecx, 1
add ecx, 0x9b7d3ffd
cmp eax, ecx
jae 0x69f8c296
mov dword [rsp + 0x30], 0
xor eax, eax
mov ecx, dword [rsp + 0x30]
mov edx, dword [0x69f96a08]
mov r8d, dword [rsp + 0x34]
sub eax, r8d
add edx, eax
add edx, 0xba0cb1c0
sub edx, 1
sub edx, 0xba0cb1c0
cmp ecx, edx
jae 0x69f8c1b6
xor eax, eax
mov rcx, qword [rsp + 0x40]
mov edx, dword [rsp + 0x30]
mov r8d, edx
mov edx, dword [rcx + r8*8 + 4]
mov rcx, qword [rsp + 0x40]
mov r9d, dword [rsp + 0x30]
mov r10d, eax
sub r10d, r9d
mov r9d, eax
sub r9d, 1
add r10d, r9d
sub eax, r10d
mov eax, eax
mov r8d, eax
cmp edx, dword [rcx + r8*8 + 4]
jbe 0x69f8c197
xor eax, eax
mov rcx, qword [rsp + 0x40]
mov edx, dword [rsp + 0x30]
mov r8d, edx
mov edx, dword [rcx + r8*8]
mov dword [rsp + 0x28], edx
mov rcx, qword [rsp + 0x40]
mov edx, dword [rsp + 0x30]
mov r8d, edx
mov edx, dword [rcx + r8*8 + 4]
mov dword [rsp + 0x2c], edx
mov rcx, qword [rsp + 0x40]
mov edx, dword [rsp + 0x30]
mov r9d, eax
sub r9d, edx
mov edx, eax
sub edx, 1
add r9d, edx
mov edx, eax
sub edx, r9d
mov edx, edx
mov r8d, edx
mov edx, dword [rcx + r8*8]
mov rcx, qword [rsp + 0x40]
mov r9d, dword [rsp + 0x30]
mov r8d, r9d
mov dword [rcx + r8*8], edx
mov rcx, qword [rsp + 0x40]
mov edx, dword [rsp + 0x30]
add edx, 0xc729902f
add edx, 1
sub edx, 0xc729902f
mov edx, edx
mov r8d, edx
mov edx, dword [rcx + r8*8 + 4]
mov rcx, qword [rsp + 0x40]
mov r9d, dword [rsp + 0x30]
mov r8d, r9d
mov dword [rcx + r8*8 + 4], edx
mov edx, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x40]
mov r9d, dword [rsp + 0x30]
add r9d, 0x6cc35c83
add r9d, 1
sub r9d, 0x6cc35c83
mov r9d, r9d
mov r8d, r9d
mov dword [rcx + r8*8], edx
mov edx, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x40]
mov r9d, dword [rsp + 0x30]
mov r10d, eax
sub r10d, r9d
mov r9d, eax
sub r9d, 1
add r10d, r9d
sub eax, r10d
mov eax, eax
mov r8d, eax
mov dword [rcx + r8*8 + 4], edx
jmp 0x69f8c19c
mov eax, dword [rsp + 0x30]
sub eax, 0x59eb2f09
add eax, 1
add eax, 0x59eb2f09
mov dword [rsp + 0x30], eax
jmp 0x69f8c040
mov eax, dword [0x69f96958]
mov ecx, dword [0x69f96960]
mov edx, eax
sub edx, 0x8373af0d
sub edx, 1
add edx, 0x8373af0d
imul eax, edx
and eax, 1
cmp eax, 0
sete r8b
cmp ecx, 0xa
setl r9b
mov r10b, r8b
xor r10b, 0xff
mov r11b, r9b
xor r11b, 0xff
mov bl, 1
xor bl, 1
mov sil, r10b
and sil, 0xff
and r8b, bl
mov dil, r11b
and dil, 0xff
and r9b, bl
or sil, r8b
or dil, r9b
xor sil, dil
or r10b, r11b
xor r10b, 0xff
or bl, 1
and r10b, bl
or sil, r10b
test sil, 1
jne 0x69f8c236
jmp 0x69f8c2b9
xor eax, eax
mov ecx, dword [0x69f96958]
mov edx, dword [0x69f96960]
sub eax, 1
mov r8d, ecx
add r8d, eax
imul ecx, r8d
and ecx, 1
cmp ecx, 0
sete r9b
cmp edx, 0xa
setl r10b
mov r11b, r9b
and r11b, r10b
xor r9b, r10b
or r11b, r9b
test r11b, 1
jne 0x69f8c27d
jmp 0x69f8c2b9
jmp 0x69f8c282
xor eax, eax
mov ecx, dword [rsp + 0x34]
sub eax, 1
sub ecx, eax
mov dword [rsp + 0x34], ecx
jmp 0x69f8c017
mov dword [rsp + 0xc4], 1
mov eax, dword [rsp + 0xc4]
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
ret
jmp 0x69f8bca0
mov eax, dword [0x69f96958]
mov ecx, dword [0x69f96960]
mov edx, eax
sub edx, 0xf743140d
sub edx, 1
add edx, 0xf743140d
imul eax, edx
and eax, 1
cmp eax, 0
sete r8b
cmp ecx, 0xa
setl r9b
mov r10b, r8b
xor r10b, 0xff
mov r11b, r9b
xor r11b, 0xff
mov bl, 1
xor bl, 1
mov sil, r10b
and sil, 0xff
and r8b, bl
mov dil, r11b
and dil, 0xff
and r9b, bl
or sil, r8b
or dil, r9b
xor sil, dil
or r10b, r11b
xor r10b, 0xff
or bl, 1
and r10b, bl
or sil, r10b
test sil, 1
jne 0x69f8c339
jmp 0x69f8c38f
mov eax, dword [0x69f96958]
mov ecx, dword [0x69f96960]
mov edx, eax
sub edx, 0x3491cf92
sub edx, 1
add edx, 0x3491cf92
imul eax, edx
and eax, 1
cmp eax, 0
sete r8b
cmp ecx, 0xa
setl r9b
mov r10b, r8b
and r10b, r9b
xor r8b, r9b
or r10b, r8b
test r10b, 1
jne 0x69f8c385
jmp 0x69f8c38f
jmp 0x69f8c236
jmp 0x69f8bd92
jmp 0x69f8c339