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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x14d0
call fcn.1400496c0
sub rsp, rax
mov ebx, r9d
mov r15, rdx
mov r12, rcx
mov rdi, qword [rsp + 0x1520]
test rdi, rdi
je 0x14006af82
xor r14d, r14d
mov esi, r14d
cmp r8d, 0xffffffff
cmovne esi, r8d
mov dword [rsp + 0x58], esi
test esi, esi
js 0x14006af82
mov rax, qword [rdi + 0x68]
sub rax, qword [rdi + 0x60]
sar rax, 3
cmp esi, eax
jge 0x14006af82
mov qword [rsp + 0x68], r14
mov dword [rsp + 0xa8], 1
mov dword [rsp + 0x5c], r14d
mov r13d, r14d
xor r8d, r8d
test bl, 2
je 0x140069e85
lea edx, [r14 + 6]
mov rcx, r15
call qword [r12 + 0x10]
mov r9, r15
lea edx, [r14 + 2]
lea r8d, [r14 + 1]
lea rcx, [rsp + 0x44]
call qword [r12]
mov r9, r15
lea edx, [r14 + 2]
lea r8d, [r14 + 1]
lea rcx, [rsp + 0x34]
call qword [r12]
mov rax, qword [rdi + 8]
test rax, rax
je 0x14006986a
movzx ecx, byte [rdi + 0x14]
cmp ecx, dword [rdi + 0x10]
jge 0x14006986a
lea edx, [rax + rcx*2]
add edx, ecx
xor r8d, r8d
mov rcx, r15
call qword [r12 + 0x10]
mov r9, r15
mov edx, 1
mov r8d, edx
lea rcx, [rsp + 0x3a]
call qword [r12]
mov r9, r15
mov edx, 1
mov r8d, edx
lea rcx, [rsp + 0x39]
call qword [r12]
mov r9, r15
mov edx, 1
mov r8d, edx
lea rcx, [rsp + 0x38]
call qword [r12]
jmp 0x140069875
mov word [rsp + 0x39], r13w
mov byte [rsp + 0x38], r13b
mov byte [rsp + 0x3b], r13b
movzx edx, word [rsp + 0x34]
movzx ecx, word [rsp + 0x44]
xor r15d, r15d
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
xor r9d, r9d
lea r8d, [r15 + 0x20]
call fcn.14004c2c0
mov r14, rax
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14006afa1
mov ebx, r15d
cmp r15w, word [rsp + 0x34]
jae 0x140069900
mov edx, ebx
mov rcx, r14
call fcn.14007d5d0
mov edx, r15d
cmp r15w, word [rsp + 0x44]
jae 0x1400698f5
nop word [rax + rax]
mov ecx, dword [rsp + 0x38]
mov dword [rax], ecx
lea rax, [rax + 4]
inc edx
movzx ecx, word [rsp + 0x44]
cmp edx, ecx
jl 0x1400698e0
inc ebx
movzx eax, word [rsp + 0x34]
cmp ebx, eax
jl 0x1400698c1
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x88], xmm0
mov r12, r15
mov qword [rsp + 0xb0], r15
mov qword [rsp + 0x98], r15
mov r15d, esi
mov dword [rsp + 0x60], esi
mov rbx, qword [rsp + 0x90]
nop
test esi, esi
js 0x140069b03
movsxd rax, esi
lea rsi, [rax*8]
mov rax, qword [rdi + 0x48]
mov edx, dword [rsi + rax]
inc edx
xor r8d, r8d
mov rdi, qword [rsp + 0x1508]
mov rcx, rdi
mov r14, qword [rsp + 0x1500]
call qword [r14 + 0x10]
mov r9, rdi
mov edx, 1
mov r8d, edx
lea rcx, [rsp + 0x31]
call qword [r14]
movzx eax, byte [rsp + 0x31]
movzx r14d, al
and r14b, 1
mov edi, eax
shr edi, 2
and edi, 7
mov rax, qword [rsp + 0x1520]
mov rax, qword [rax + 0x60]
xor r8d, r8d
mov edx, dword [rsi + rax]
mov rsi, qword [rsp + 0x1508]
mov rcx, rsi
mov rax, qword [rsp + 0x1500]
call qword [rax + 0x10]
mov r9, rsi
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x4c]
mov rax, qword [rsp + 0x1500]
call qword [rax]
mov r9, rsi
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x50]
mov rax, qword [rsp + 0x1500]
call qword [rax]
mov r9, rsi
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x40]
mov rax, qword [rsp + 0x1500]
call qword [rax]
mov r9, rsi
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x3c]
mov rax, qword [rsp + 0x1500]
call qword [rax]
movzx eax, word [rsp + 0x3c]
movzx ecx, word [rsp + 0x40]
movzx edx, word [rsp + 0x50]
movzx r8d, word [rsp + 0x4c]
mov dword [rsp + 0x70], edi
mov word [rsp + 0x74], r8w
mov word [rsp + 0x76], dx
mov word [rsp + 0x78], cx
mov word [rsp + 0x7a], ax
cmp rbx, r12
je 0x140069a76
mov dword [rbx], edi
mov word [rbx + 4], r8w
mov word [rbx + 6], dx
mov word [rbx + 8], cx
mov word [rbx + 0xa], ax
add rbx, 0xc
mov qword [rsp + 0x90], rbx
jmp 0x140069aa3
lea r8, [rsp + 0x70]
mov rdx, rbx
lea rcx, [rsp + 0x88]
call fcn.14006c2a0
mov r12, qword [rsp + 0x98]
mov qword [rsp + 0xb0], r12
mov rbx, qword [rsp + 0x90]
mov esi, dword [rsp + 0x58]
cmp esi, r15d
je 0x140069bd3
cmp word [rsp + 0x4c], 0
jne 0x140069bd3
cmp word [rsp + 0x50], 0
jne 0x140069bd3
movzx eax, word [rsp + 0x44]
cmp word [rsp + 0x40], ax
jne 0x140069bd3
movzx eax, word [rsp + 0x34]
cmp word [rsp + 0x3c], ax
jne 0x140069bd3
cmp edi, 2
jne 0x140069bc5
sub rbx, 0xc
mov qword [rsp + 0x90], rbx
inc esi
mov dword [rsp + 0x58], esi
xor r12d, r12d
mov dword [rsp + 0x5c], r12d
mov esi, r12d
mov eax, dword [rsp + 0x58]
test eax, eax
cmovns esi, eax
mov rdi, qword [rsp + 0x88]
mov dword [rsp + 0x48], esi
cmp esi, r15d
jg 0x140069d70
mov eax, r15d
sub eax, esi
cdqe
lea rcx, [rax + rax*2]
lea rdi, [rdi + rcx*4]
cmp esi, r15d
je 0x140069be6
mov eax, dword [rdi]
cmp eax, 3
je 0x140069d69
cmp eax, 2
jne 0x140069be6
mov ebx, r12d
cmp r12w, word [rdi + 0xa]
jae 0x140069d69
mov r14, qword [rsp + 0xa8]
nop
movzx eax, word [rdi + 6]
movzx edx, word [rsp + 0x34]
sub edx, eax
sub edx, ebx
sub edx, 1
js 0x140069d69
mov rcx, r14
call fcn.14007d5d0
movzx ecx, word [rdi + 4]
lea rdx, [rax + rcx*4]
mov ecx, r12d
cmp r12w, word [rdi + 8]
jae 0x140069bb4
mov eax, dword [rsp + 0x38]
mov dword [rdx], eax
lea rdx, [rdx + 4]
inc ecx
movzx eax, word [rdi + 8]
cmp ecx, eax
jl 0x140069ba0
inc ebx
movzx eax, word [rdi + 0xa]
cmp ebx, eax
jl 0x140069b70
inc esi
jmp 0x140069b17
cmp edi, 3
je 0x140069bd3
test r14b, r14b
je 0x140069b03
dec esi
mov dword [rsp + 0x58], esi
mov rdi, qword [rsp + 0x1520]
jmp 0x140069930
mov rax, qword [rsp + 0x1520]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8d, esi
mov rdx, qword [rsp + 0x1508]
mov rcx, qword [rsp + 0x1500]
call fcn.140069740
mov r12, rax
test rax, rax
je 0x140069d66
mov rcx, rax
call fcn.14004d300
mov r15, rax
xor r14b, r14b
mov rcx, r12
call fcn.14004daa0
test eax, eax
je 0x140069c71
mov rcx, r12
call fcn.14004d980
movsxd rbx, eax
mov rcx, r12
call fcn.14004d9a0
xor r9d, r9d
mov edx, r9d
test ebx, ebx
jle 0x140069c74
mov ecx, r9d
cmp byte [rcx + rax], r9b
je 0x140069c69
inc edx
inc rcx
cmp rcx, rbx
jl 0x140069c57
jmp 0x140069c74
mov r14b, 1
mov r13d, edx
jmp 0x140069c74
xor r9d, r9d
mov esi, r9d
cmp r9w, word [rdi + 0xa]
jae 0x140069d0b
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rdi + 6]
movzx edx, word [rsp + 0x34]
sub edx, eax
sub edx, esi
sub edx, 1
js 0x140069d0b
mov rcx, qword [rsp + 0xa8]
call fcn.14007d5d0
movzx ecx, word [rdi + 4]
lea rbx, [rax + rcx*4]
movzx edx, word [rdi + 0xa]
sub edx, esi
dec edx
mov rcx, r12
call fcn.14007d5d0
xor r9d, r9d
mov r8d, r9d
cmp r9w, word [rdi + 8]
jae 0x140069d01
test r14b, r14b
je 0x140069ce1
movzx ecx, byte [rax]
cmp ecx, r13d
je 0x140069cee
movzx ecx, byte [rax]
mov edx, dword [r15 + rcx*4]
mov dword [rbx], edx
mov byte [rbx + 3], 0xff
add rbx, 4
inc rax
inc r8d
movzx ecx, word [rdi + 8]
cmp r8d, ecx
jl 0x140069cd4
inc esi
movzx eax, word [rdi + 0xa]
cmp esi, eax
jl 0x140069c90
mov esi, dword [rsp + 0x48]
mov r15d, dword [rsp + 0x60]
cmp esi, r15d
jne 0x140069d5e
lea r9, [rsp + 0x80]
lea r8, str.FrameTime
mov rdx, r12
mov ecx, 9
call fcn.14004e970
test eax, eax
je 0x140069d5e
mov rcx, qword [rsp + 0x80]
call fcn.14007df80
cmp eax, 4
jne 0x140069d5e
mov rcx, qword [rsp + 0x80]
call fcn.14007dfe0
mov edx, dword [rax]
mov dword [rsp + 0x5c], edx
mov rcx, r12
call fcn.14004cbc0
xor r12d, r12d
inc esi
jmp 0x140069b17
call fcn.14007dc30
mov rbx, rax
test rax, rax
je 0x140069e16
lea rdx, str.FrameTime
mov rcx, rax
call fcn.14007e000
mov edx, 0x1005
mov rcx, rbx
call fcn.14007e100
mov esi, 4
mov edx, esi
mov rcx, rbx
call fcn.14007e120
lea edx, [rsi - 3]
mov rcx, rbx
call fcn.14007e140
mov edx, esi
mov rcx, rbx
call fcn.14007e160
lea rdx, [rsp + 0x5c]
mov rcx, rbx
call fcn.14007e180
call fcn.14007d0a0
lea edx, [rsi + 0x13]
mov r8d, 0x1005
mov rcx, rax
call fcn.14007d260
mov rdx, rax
mov rcx, rbx
call fcn.14007e080
mov r9, rbx
lea r8, str.FrameTime
mov r14, qword [rsp + 0xa8]
mov rdx, r14
lea ecx, [rsi + 5]
call fcn.14004e3e0
mov rcx, rbx
call fcn.14007dc90
jmp 0x140069e1e
mov r14, qword [rsp + 0xa8]
test rdi, rdi
je 0x140069e7d
mov r12, qword [rsp + 0xb0]
sub r12, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
imul r12
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 2
mov rax, rdi
cmp rdx, 0x1000
jb 0x140069e75
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006afc4
mov rcx, rdi
call fcn.140048eac
mov rax, r14
jmp 0x14006af84
movsxd rcx, esi
mov rax, qword [rdi + 0x60]
mov edx, dword [rax + rcx*8]
mov rcx, r15
call qword [r12 + 0x10]
mov r9, r15
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x4c]
call qword [r12]
mov r9, r15
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x50]
call qword [r12]
mov r9, r15
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x40]
call qword [r12]
mov r9, r15
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x3c]
call qword [r12]
mov r9, r15
mov edx, 1
mov r8d, edx
lea rcx, [rsp + 0x31]
call qword [r12]
movzx eax, byte [rsp + 0x31]
movzx esi, al
shr sil, 6
and sil, 1
mov byte [rsp + 0x34], sil
movzx edi, al
shr dil, 7
not dil
and dil, 1
mov r8d, 8
mov dword [rsp + 0x38], r8d
test bl, 1
jne 0x140069f8c
test dil, dil
jne 0x140069f5d
mov ecx, eax
and ecx, 7
mov edx, 2
shl edx, cl
cmp edx, 2
jg 0x140069f50
mov r8d, 1
jmp 0x140069f87
cmp edx, 0x10
jg 0x140069f8c
mov r8d, 4
jmp 0x140069f87
mov rax, qword [rsp + 0x1520]
cmp qword [rax + 8], r13
je 0x140069f8c
mov eax, dword [rax + 0x10]
cmp eax, 2
jg 0x140069f7b
mov r8d, 1
jmp 0x140069f87
mov ebx, 4
cmp eax, 0x10
cmovle r8d, ebx
mov dword [rsp + 0x38], r8d
movzx edx, word [rsp + 0x3c]
movzx ecx, word [rsp + 0x40]
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
xor r9d, r9d
call fcn.14004c2c0
mov r14, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14006afca
call fcn.14007dc30
mov rbx, rax
test rax, rax
je 0x14006a05c
lea rdx, str.FrameLeft
mov rcx, rax
call fcn.14007e000
mov edx, 0x1001
mov rcx, rbx
call fcn.14007e100
mov edx, 3
mov rcx, rbx
call fcn.14007e120
mov edx, 1
mov rcx, rbx
call fcn.14007e140
mov edx, 2
mov rcx, rbx
call fcn.14007e160
lea rdx, [rsp + 0x4c]
mov rcx, rbx
call fcn.14007e180
call fcn.14007d0a0
mov edx, 0x17
mov r8d, 0x1001
mov rcx, rax
call fcn.14007d260
mov rdx, rax
mov rcx, rbx
call fcn.14007e080
mov r9, rbx
lea r8, str.FrameLeft
mov rdx, r14
mov ecx, 9
call fcn.14004e3e0
mov rcx, rbx
call fcn.14007dc90
call fcn.14007dc30
mov rbx, rax
test rax, rax
je 0x14006a0ff
lea rdx, str.FrameTop
mov rcx, rax
call fcn.14007e000
mov edx, 0x1002
mov rcx, rbx
call fcn.14007e100
mov edx, 3
mov rcx, rbx
call fcn.14007e120
mov edx, 1
mov rcx, rbx
call fcn.14007e140
mov edx, 2
mov rcx, rbx
call fcn.14007e160
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14007e180
call fcn.14007d0a0
mov edx, 0x17
mov r8d, 0x1002
mov rcx, rax
call fcn.14007d260
mov rdx, rax
mov rcx, rbx
call fcn.14007e080
mov r9, rbx
lea r8, str.FrameTop
mov rdx, r14
mov ecx, 9
call fcn.14004e3e0
mov rcx, rbx
call fcn.14007dc90
mov byte [rsp + 0x30], dil
call fcn.14007dc30
mov rbx, rax
test rax, rax
je 0x14006a1a7
lea rdx, str.NoLocalPalette
mov rcx, rax
call fcn.14007e000
mov edx, 0x1003
mov rcx, rbx
call fcn.14007e100
mov edx, 1
mov rcx, rbx
call fcn.14007e120
mov edx, 1
mov rcx, rbx
call fcn.14007e140
mov edx, 1
mov rcx, rbx
call fcn.14007e160
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.14007e180
call fcn.14007d0a0
mov edx, 0x17
mov r8d, 0x1003
mov rcx, rax
call fcn.14007d260
mov rdx, rax
mov rcx, rbx
call fcn.14007e080
mov r9, rbx
lea r8, str.NoLocalPalette
mov rdx, r14
mov ecx, 9
call fcn.14004e3e0
mov rcx, rbx
call fcn.14007dc90
mov byte [rsp + 0x30], sil
call fcn.14007dc30
mov rbx, rax
test rax, rax
je 0x14006a24f
lea rdx, str.Interlaced
mov rcx, rax
call fcn.14007e000
mov edx, 0x1004
mov rcx, rbx
call fcn.14007e100
mov edx, 1
mov rcx, rbx
call fcn.14007e120
mov edx, 1
mov rcx, rbx
call fcn.14007e140
mov edx, 1
mov rcx, rbx
call fcn.14007e160
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.14007e180
call fcn.14007d0a0
mov edx, 0x17
mov r8d, 0x1004
mov rcx, rax
call fcn.14007d260
mov rdx, rax
mov rcx, rbx
call fcn.14007e080
mov r9, rbx
lea r8, str.Interlaced
mov rdx, r14
mov ecx, 9
call fcn.14004e3e0
mov rcx, rbx
call fcn.14007dc90
mov rcx, r14
call fcn.14004d300
mov r14, rax
test dil, dil
jne 0x14006a2bb
movzx ecx, byte [rsp + 0x31]
and ecx, 7
mov esi, 2
shl esi, cl
xor ebx, ebx
cmp ebx, esi
jge 0x14006a365
movsxd rax, ebx
lea rdi, [r14 + rax*4]
lea rcx, [rdi + 2]
mov r9, r15
mov edx, 1
mov r8d, edx
call qword [r12]
lea rcx, [rdi + 1]
mov r9, r15
mov edx, 1
mov r8d, edx
call qword [r12]
mov r9, r15
mov edx, 1
mov r8d, edx
mov rcx, rdi
call qword [r12]
inc ebx
jmp 0x14006a270
mov rdi, qword [rsp + 0x1520]
cmp qword [rdi + 8], r13
je 0x14006a342
mov rcx, r15
call qword [r12 + 0x18]
mov esi, eax
xor r8d, r8d
mov edx, dword [rdi + 8]
mov rcx, r15
call qword [r12 + 0x10]
xor ebx, ebx
cmp ebx, dword [rdi + 0x10]
jge 0x14006a333
movsxd rax, ebx
lea rdi, [r14 + rax*4]
lea rcx, [rdi + 2]
mov r9, r15
mov edx, 1
mov r8d, edx
call qword [r12]
lea rcx, [rdi + 1]
mov r9, r15
mov edx, 1
mov r8d, edx
call qword [r12]
mov r9, r15
mov edx, 1
mov r8d, edx
mov rcx, rdi
call qword [r12]
inc ebx
mov rdi, qword [rsp + 0x1520]
jmp 0x14006a2e3
xor r8d, r8d
mov edx, esi
mov rcx, r15
call qword [r12 + 0x10]
jmp 0x14006a365
xor eax, eax
lea rcx, [r14 + 1]
nop dword [rax + rax]
mov byte [rcx + 1], al
mov byte [rcx], al
mov byte [rcx - 1], al
inc eax
lea rcx, [rcx + 4]
cmp eax, 0x100
jl 0x14006a350
mov r9, r15
mov edx, 1
mov r8d, edx
lea rcx, [rsp + 0x30]
call qword [r12]
lea rdx, [0x14045f208]
mov ecx, 0x20058
call fcn.1402d0220
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14006a3a9
mov rcx, rax
call fcn.1400685f0
mov r14, rax
mov qword [rsp + 0x80], rax
jmp 0x14006a3b4
xor r14d, r14d
mov qword [rsp + 0x80], r14
movzx edx, byte [rsp + 0x30]
mov rcx, r14
call fcn.1400686c0
xor eax, eax
mov dword [rsp + 0x60], eax
xor r13d, r13d
xor edi, edi
mov esi, 8
mov ecx, dword [rsp + 0x38]
sub esi, ecx
mov eax, 1
shl eax, cl
dec eax
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0x48], edi
movzx edx, word [rsp + 0x3c]
dec edx
mov rcx, qword [rsp + 0x68]
call fcn.14007d5d0
mov qword [rsp + 0x70], rax
mov r9, r15
mov edx, 1
mov r8d, edx
lea rcx, [rsp + 0x30]
call qword [r12]
nop word [rax + rax]
movzx ecx, byte [rsp + 0x30]
test cl, cl
je 0x14006a5b6
mov ebx, ecx
mov edx, ecx
mov rcx, r14
call fcn.140068750
mov rcx, rax
mov r9, r15
mov r8d, 1
mov edx, ebx
call qword [r12]
mov dword [rsp + 0x44], 0x1000
lea r8, [rsp + 0x44]
lea rdx, [rsp + 0x4d0]
mov rcx, r14
call fcn.140068ba0
test al, al
je 0x14006a58d
xor r10d, r10d
mov r15d, r10d
cmp dword [rsp + 0x44], r10d
jle 0x14006a44b
movsxd rbx, r13d
movsxd rdx, dword [rsp + 0x48]
mov r14, rdx
lea r12, [rsp + 0x4d0]
mov r8, qword [rsp + 0x70]
nop word [rax + rax]
movzx eax, byte [r12]
and al, byte [rsp + 0xb0]
mov ecx, esi
shl al, cl
or byte [rbx + r8], al
test esi, esi
jg 0x14006a4be
inc r13d
inc rbx
mov eax, esi
mov ecx, 8
mov r9d, dword [rsp + 0x38]
sub ecx, r9d
sub esi, r9d
test eax, eax
cmovle esi, ecx
mov ecx, dword [rsp + 0x60]
inc ecx
mov dword [rsp + 0x60], ecx
movzx eax, word [rsp + 0x40]
cmp ecx, eax
jl 0x14006a55e
cmp byte [rsp + 0x34], 0
je 0x14006a520
lea r8, [0x140000000]
add edi, dword [r8 + r14*4 + 0x4b0260]
movzx ecx, word [rsp + 0x3c]
cmp edi, ecx
jl 0x14006a527
inc edx
mov dword [rsp + 0x48], edx
inc r14
cmp r14, 4
jge 0x14006a527
mov edi, dword [r8 + r14*4 + 0x4b0250]
jmp 0x14006a527
inc edi
movzx ecx, word [rsp + 0x3c]
movzx edx, cx
cmp edi, edx
jge 0x14006a57c
mov r13d, r10d
mov rbx, r10
mov dword [rsp + 0x60], r10d
mov esi, 8
sub esi, r9d
sub edx, edi
dec edx
mov rcx, qword [rsp + 0x68]
call fcn.14007d5d0
mov r8, rax
mov qword [rsp + 0x70], rax
mov edx, dword [rsp + 0x48]
xor r10d, r10d
inc r15d
inc r12
cmp r15d, dword [rsp + 0x44]
jl 0x14006a4a0
mov r14, qword [rsp + 0x80]
jmp 0x14006a44b
mov r14, qword [rsp + 0x80]
mov byte [r14], 1
jmp 0x14006a44b
mov r15, qword [rsp + 0x1508]
mov r9, r15
mov edx, 1
mov r8d, edx
lea rcx, [rsp + 0x30]
mov r12, qword [rsp + 0x1500]
call qword [r12]
jmp 0x14006a420
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x14006acf4
xor r8d, r8d
lea edx, [rax + 6]
mov rcx, r15
call qword [r12 + 0x10]
mov r9, r15
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x44]
call qword [r12]
mov r9, r15
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x34]
call qword [r12]
call fcn.14007dc30
mov rbx, rax
test rax, rax
je 0x14006a6a2
lea rdx, str.LogicalWidth
mov rcx, rax
call fcn.14007e000
mov edx, 1
mov rcx, rbx
call fcn.14007e100
mov edx, 3
mov rcx, rbx
call fcn.14007e120
mov edx, 1
mov rcx, rbx
call fcn.14007e140
mov edx, 2
mov rcx, rbx
call fcn.14007e160
lea rdx, [rsp + 0x44]
mov rcx, rbx
call fcn.14007e180
call fcn.14007d0a0
mov edx, 0x17
lea r8d, [rdx - 0x16]
mov rcx, rax
call fcn.14007d260
mov rdx, rax
mov rcx, rbx
call fcn.14007e080
mov r9, rbx
lea r8, str.LogicalWidth
mov r13, qword [rsp + 0x68]
mov rdx, r13
mov ecx, 9
call fcn.14004e3e0
mov rcx, rbx
call fcn.14007dc90
jmp 0x14006a6a7
mov r13, qword [rsp + 0x68]
call fcn.14007dc30
mov rbx, rax
test rax, rax
je 0x14006a748
lea rdx, str.LogicalHeight
mov rcx, rax
call fcn.14007e000
mov edx, 2
mov rcx, rbx
call fcn.14007e100
mov edx, 3
mov rcx, rbx
call fcn.14007e120
mov edx, 1
mov rcx, rbx
call fcn.14007e140
mov edx, 2
mov rcx, rbx
call fcn.14007e160
lea rdx, [rsp + 0x34]
mov rcx, rbx
call fcn.14007e180
call fcn.14007d0a0
mov edx, 0x17
lea r8d, [rdx - 0x15]
mov rcx, rax
call fcn.14007d260
mov rdx, rax
mov rcx, rbx
call fcn.14007e080
mov r9, rbx
lea r8, str.LogicalHeight
mov rdx, r13
mov ecx, 9
call fcn.14004e3e0
mov rcx, rbx
call fcn.14007dc90
mov rsi, qword [rsp + 0x1520]
mov rax, qword [rsi + 8]
test rax, rax
je 0x14006a8a6
xor r8d, r8d
mov edx, eax
mov rcx, r15
call qword [r12 + 0x10]
xor edi, edi
nop dword [rax]
mov ebx, dword [rsi + 0x10]
cmp edi, ebx
jge 0x14006a7dc
movsxd rax, edi
lea rbx, [rax*4]
lea rcx, [rsp + 0xd2]
add rcx, rbx
mov r9, r15
mov edx, 1
mov r8d, edx
call qword [r12]
lea rcx, [rsp + 0xd1]
add rcx, rbx
mov r9, r15
mov edx, 1
mov r8d, edx
call qword [r12]
lea rcx, [rsp + 0xd0]
add rcx, rbx
mov r9, r15
mov edx, 1
mov r8d, edx
call qword [r12]
mov byte [rsp + rbx + 0xd3], 0
inc edi
jmp 0x14006a770
lea esi, [rbx*4]
call fcn.14007dc30
mov rdi, rax
test rax, rax
je 0x14006a881
lea rdx, str.GlobalPalette
mov rcx, rax
call fcn.14007e000
mov edx, 3
mov rcx, rdi
call fcn.14007e100
mov edx, reloc.WS2_32.dll_ntohl
mov rcx, rdi
call fcn.14007e120
mov edx, ebx
mov rcx, rdi
call fcn.14007e140
mov edx, esi
mov rcx, rdi
call fcn.14007e160
lea rdx, [rsp + 0xd0]
mov rcx, rdi
call fcn.14007e180
call fcn.14007d0a0
mov edx, 0x17
lea r8d, [rdx - 0x14]
mov rcx, rax
call fcn.14007d260
mov rdx, rax
mov rcx, rdi
call fcn.14007e080
mov r9, rdi
lea r8, str.GlobalPalette
mov rdx, r13
mov ecx, 9
call fcn.14004e3e0
mov rcx, rdi
call fcn.14007dc90
mov rsi, qword [rsp + 0x1520]
movzx eax, byte [rsi + 0x14]
cmp eax, dword [rsi + 0x10]
jge 0x14006a8a6
lea rdx, [rsp + 0xd0]
lea rdx, [rdx + rax*4]
mov rcx, r13
call fcn.14004dde0
mov dword [rsp + 0x48], 1
xor ebx, ebx
movabs rdi, 0x455041435354454e
movabs r14, 0x535458454d494e41
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsi + 0x18]
mov rax, qword [rsi + 0x20]
sub rax, rcx
sar rax, 3
cmp rbx, rax
jae 0x14006a9bf
xor r8d, r8d
mov edx, dword [rcx + rbx*8]
mov rcx, r15
call qword [r12 + 0x10]
mov r9, r15
mov edx, 1
mov r8d, edx
lea rcx, [rsp + 0x30]
call qword [r12]
cmp byte [rsp + 0x30], 0xb
jne 0x14006ab41
mov r9, r15
mov edx, ntohs
lea r8d, [rdx - 0xa]
lea rcx, [rsp + 0x70]
call qword [r12]
mov rcx, qword [rsp + 0x70]
movzx eax, word [rsp + 0x78]
cmp rcx, rdi
jne 0x14006a946
cmp ax, 0x2e32
jne 0x14006a946
cmp byte [rsp + 0x7a], 0x30
je 0x14006a964
cmp rcx, r14
jne 0x14006ab41
cmp ax, 0x2e31
jne 0x14006ab41
cmp byte [rsp + 0x7a], 0x30
jne 0x14006ab41
mov r9, r15
mov edx, 1
mov r8d, edx
lea rcx, [rsp + 0x30]
call qword [r12]
cmp byte [rsp + 0x30], 3
jne 0x14006ab41
mov r9, r15
mov edx, 1
mov r8d, edx
lea rcx, [rsp + 0x30]
call qword [r12]
mov r9, r15
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x54]
call qword [r12]
movzx eax, word [rsp + 0x54]
mov dword [rsp + 0x48], eax
test eax, eax
je 0x14006a9bf
inc eax
mov dword [rsp + 0x48], eax
call fcn.14007dc30
mov rbx, rax
test rax, rax
je 0x14006aa55
lea rdx, str.Loop
mov rcx, rax
call fcn.14007e000
mov edi, 4
mov edx, edi
mov rcx, rbx
call fcn.14007e100
mov edx, edi
mov rcx, rbx
call fcn.14007e120
lea edx, [rdi - 3]
mov rcx, rbx
call fcn.14007e140
mov edx, edi
mov rcx, rbx
call fcn.14007e160
lea rdx, [rsp + 0x48]
mov rcx, rbx
call fcn.14007e180
call fcn.14007d0a0
mov r8d, edi
lea edx, [rdi + 0x13]
mov rcx, rax
call fcn.14007d260
mov rdx, rax
mov rcx, rbx
call fcn.14007e080
mov r9, rbx
lea r8, str.Loop
mov rdx, r13
lea ecx, [rdi + 5]
call fcn.14004e3e0
mov rcx, rbx
call fcn.14007dc90
xor ebx, ebx
mov r14d, ebx
nop word [rax + rax]
mov rcx, qword [rsi + 0x30]
mov rax, qword [rsi + 0x38]
sub rax, rcx
sar rax, 3
cmp r14, rax
jae 0x14006ace6
xor r8d, r8d
mov edx, dword [rcx + r14*8]
mov rcx, r15
call qword [r12 + 0x10]
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x88], 0
mov r9, r15
mov edx, 1
mov r8d, edx
lea rcx, [rsp + 0x30]
call qword [r12]
nop
movzx eax, byte [rsp + 0x30]
test al, al
je 0x14006ab82
mov edx, eax
mov r9, r15
mov r8d, 1
lea rcx, [rsp + 0xd0]
call qword [r12]
movzx edi, byte [rsp + 0x30]
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x14006ab49
lea rax, [rdi + rcx]
mov qword [rsp + 0x98], rax
lea rbx, [rsp + 0x88]
cmp rdx, 0x10
cmovae rbx, qword [rsp + 0x88]
add rbx, rcx
mov r8d, edi
lea rdx, [rsp + 0xd0]
mov rcx, rbx
call fcn.1402d15b0
mov byte [rdi + rbx], 0
jmp 0x14006ab69
inc rbx
jmp 0x14006a8d0
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0xd0]
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x88]
call fcn.14006c510
mov r9, r15
mov edx, 1
mov r8d, edx
lea rcx, [rsp + 0x30]
call qword [r12]
jmp 0x14006aac0
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x14006abc7
lea rax, [rcx + 1]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x88]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x88]
xor edx, edx
mov word [rax + rcx], dx
jmp 0x14006abe5
mov byte [rsp + 0x20], 0
mov r9d, 1
xor r8d, r8d
mov edx, r9d
lea rcx, [rsp + 0x88]
call fcn.14006c6a0
mov r8, r14
lea rdx, str.Comment_zd
lea rcx, [rsp + 0xd0]
call fcn.140019570
mov esi, dword [rsp + 0x98]
lea rdi, [rsp + 0x88]
cmp qword [rsp + 0xa0], 0x10
cmovae rdi, qword [rsp + 0x88]
call fcn.14007dc30
mov rbx, rax
test rax, rax
je 0x14006ac91
lea rdx, [rsp + 0xd0]
mov rcx, rax
call fcn.14007e000
mov edx, 1
mov rcx, rbx
call fcn.14007e100
mov edx, 2
mov rcx, rbx
call fcn.14007e120
mov edx, esi
mov rcx, rbx
call fcn.14007e140
mov edx, esi
mov rcx, rbx
call fcn.14007e160
mov rdx, rdi
mov rcx, rbx
call fcn.14007e180
mov r9, rbx
lea r8, [rsp + 0xd0]
mov rdx, r13
xor ecx, ecx
call fcn.14004e3e0
mov rcx, rbx
call fcn.14007dc90
nop
mov rdx, qword [rsp + 0xa0]
cmp rdx, 0x10
jb 0x14006acd4
inc rdx
mov rcx, qword [rsp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006accf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14006afed
call fcn.140048eac
inc r14
mov rsi, qword [rsp + 0x1520]
xor ebx, ebx
jmp 0x14006aa60
mov r14, qword [rsp + 0x80]
mov eax, dword [rsp + 0x58]
jmp 0x14006acfc
mov rsi, qword [rsp + 0x1520]
movsxd rcx, eax
mov rax, qword [rsi + 0x48]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14006adca
inc edx
xor r8d, r8d
mov rcx, r15
call qword [r12 + 0x10]
mov r9, r15
mov edx, 1
mov r8d, edx
lea rcx, [rsp + 0x31]
call qword [r12]
mov r9, r15
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rsp + 0x54]
call qword [r12]
mov r9, r15
mov edx, 1
mov r8d, edx
lea rcx, [rsp + 0x30]
call qword [r12]
movzx eax, byte [rsp + 0x31]
movzx r8d, al
mov esi, eax
shr esi, 2
and esi, 7
movzx eax, word [rsp + 0x54]
lea edx, [rax + rax*4]
add edx, edx
mov dword [rsp + 0x5c], edx
movzx edi, byte [rsp + 0x30]
and r8b, 1
je 0x14006add1
mov ecx, dword [rsp + 0x38]
mov ebx, 1
shl ebx, cl
cmp edi, ebx
jg 0x14006add1
movsxd r8, ebx
mov edx, 0xff
lea rcx, [rsp + 0xd0]
call fcn.1402d1c50
mov byte [rsp + rdi + 0xd0], 0
mov r8d, ebx
lea rdx, [rsp + 0xd0]
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14004da20
jmp 0x14006add6
mov esi, dword [rsp + 0xa8]
mov rdi, qword [rsp + 0x68]
call fcn.14007dc30
mov rbx, rax
test rax, rax
je 0x14006ae79
lea rdx, str.FrameTime
mov rcx, rax
call fcn.14007e000
mov edx, 0x1005
mov rcx, rbx
call fcn.14007e100
mov edx, 4
mov rcx, rbx
call fcn.14007e120
mov edx, 1
mov rcx, rbx
call fcn.14007e140
mov edx, 4
mov rcx, rbx
call fcn.14007e160
lea rdx, [rsp + 0x5c]
mov rcx, rbx
call fcn.14007e180
call fcn.14007d0a0
mov edx, 0x17
mov r8d, 0x1005
mov rcx, rax
call fcn.14007d260
mov rdx, rax
mov rcx, rbx
call fcn.14007e080
mov r9, rbx
lea r8, str.FrameTime
mov rdx, rdi
mov ecx, 9
call fcn.14004e3e0
mov rcx, rbx
call fcn.14007dc90
mov byte [rsp + 0x30], sil
call fcn.14007dc30
mov rbx, rax
test rax, rax
je 0x14006af21
lea rdx, str.DisposalMethod
mov rcx, rax
call fcn.14007e000
mov edx, 0x1006
mov rcx, rbx
call fcn.14007e100
mov edx, 1
mov rcx, rbx
call fcn.14007e120
mov edx, 1
mov rcx, rbx
call fcn.14007e140
mov edx, 1
mov rcx, rbx
call fcn.14007e160
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.14007e180
call fcn.14007d0a0
mov edx, 0x17
mov r8d, 0x1006
mov rcx, rax
call fcn.14007d260
mov rdx, rax
mov rcx, rbx
call fcn.14007e080
mov r9, rbx
lea r8, str.DisposalMethod
mov rdx, rdi
mov ecx, 9
call fcn.14004e3e0
mov rcx, rbx
call fcn.14007dc90
test r14, r14
je 0x14006af7d
mov rcx, qword [r14 + 0x20040]
test rcx, rcx
je 0x14006af37
call fcn.140048eac
mov rcx, qword [r14 + 0x20038]
test rcx, rcx
je 0x14006af53
call fcn.140048eac
mov qword [r14 + 0x20038], 0
lea rcx, [r14 + 0x38]
lea r9, [fcn.140012d60]
mov edx, 0x20
mov r8d, 0x1000
call fcn.140048b60
nop
mov edx, 0x20058
mov rcx, r14
call fcn.140048eac
nop
mov rax, rdi
jmp 0x14006af84
xor eax, eax
lea r11, [rsp + 0x14d0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov rax, qword [str.DIB_allocation_failed__maybe_caused_by_an_invalid_image_size_or_by_a_lack_of_memory]
mov qword [rsp + 0xb8], rax
lea rdx, [0x1404aae98]
lea rcx, [rsp + 0xb8]
call fcn.1402d12e0
call fcn.1402d6908
int3
mov rax, qword [str.DIB_allocation_failed__maybe_caused_by_an_invalid_image_size_or_by_a_lack_of_memory]
mov qword [rsp + 0xc0], rax
lea rdx, [0x1404aae98]
lea rcx, [rsp + 0xc0]
call fcn.1402d12e0
call fcn.1402d6908
int3