Function at 0x451ce6
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x78
push 8
call fcn.004e1ee0
add esp, 4
mov dword [ebp - 4], eax
mov edi, eax
mov esi, 0x5b2b05
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
push 4
call fcn.004e1ee0
add esp, 4
mov dword [ebp - 0x14], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx], 0x5f6308
push 8
call fcn.004e1ee0
add esp, 4
mov dword [ebp - 0x18], eax
mov edi, eax
mov esi, 0x5b2b05
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x1c], 0
call fcn.0044ed74
push 0xffffffffffffffff
push 8
push 0x16015901
push 0x52010001
call fcn.004e1f0a
add esp, 0x10
mov dword [ebp - 0x20], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x451d90
mov eax, 0x5b2bae
push eax
push 1
mov ebx, 0x4e3300
call fcn.004e1ef8
add esp, 0x10
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x451db6
push ebx
call fcn.004e1ee6
add esp, 4
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
push 1
mov eax, dword [ebp - 0x24]
cdq
push edx
push eax
call fcn.0044f0d3
mov eax, dword [0x6df408]
push eax
mov ebx, eax
call fcn.004013dc
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.004e1ee0
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x451e2c
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
test eax, eax
je 0x451e20
push eax
mov ebx, eax
call fcn.00401b58
inc eax
push eax
call fcn.004e1ee0
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x451e03
pop eax
push eax
mov ebx, dword [ebp - 4]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x451e4b
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x451e47
imul eax, dword [ebx]
jmp 0x451e3c
mov ecx, eax
test ecx, ecx
je 0x451e6a
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x451e63
push ebx
push eax
call fcn.004e1ee6
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x451e51
call fcn.004e1ee6
add esp, 4
pop eax
mov dword [ebp - 4], eax
mov eax, str._QQRichEditFormat__Info_version_1001____Info_
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x451e8c
push ebx
call fcn.004e1ee6
add esp, 4
pop eax
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 4]
call fcn.00401c1f
xor ecx, ecx
push eax
lea eax, [ebp - 0xc]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x45254a
mov ebx, dword [ebp - 4]
call fcn.004013dc
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x451ed6
push 0x1b3
push 0x4016bc3
push 4
call fcn.004e1eec
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x451ef3
push 0x1b3
push 0x4016bc3
push 1
call fcn.004e1eec
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
push dword [ebp - 0x20]
call fcn.0042eac5
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x451f1a
push ebx
call fcn.004e1ee6
add esp, 4
pop eax
mov dword [ebp - 0x10], eax
push str..bmp
push dword [ebp - 0x10]
call fcn.00401abb
add esp, 8
cmp eax, 0
je 0x451f86
push str..jpg
push dword [ebp - 0x10]
call fcn.00401abb
add esp, 8
cmp eax, 0
je 0x451f86
push str..png
push dword [ebp - 0x10]
call fcn.00401abb
add esp, 8
cmp eax, 0
je 0x451f86
push str..gif
push dword [ebp - 0x10]
call fcn.00401abb
add esp, 8
cmp eax, 0
je 0x451f86
xor eax, eax
jmp 0x451f8b
mov eax, 1
test eax, eax
je 0x45204b
push 0
mov ebx, 0x4e24f0
call fcn.004e1ef8
add esp, 4
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 4]
call fcn.004013dc
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x451fcf
push 0x2c2
push 0x4016bc3
push 4
call fcn.004e1eec
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x451fec
push 0x2c2
push 0x4016bc3
push 1
call fcn.004e1eec
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x24], ebx
push str.__shortcut_____EditElement_
mov ebx, dword [ebp - 0x24]
push dword [ebx]
push str.Send_file_
push dword [ebp - 0x20]
push str._EditElement_type_1__filepath_
push dword [ebp - 8]
mov ecx, 6
call fcn.00401bc3
add esp, 0x18
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x45202e
push ebx
call fcn.004e1ee6
add esp, 4
mov eax, dword [ebp - 0x28]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x452042
push ebx
call fcn.004e1ee6
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x452542
mov ebx, dword [ebp - 4]
call fcn.004013dc
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x452072
push 0x322
push 0x4016bc3
push 4
call fcn.004e1eec
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x45208f
push 0x322
push 0x4016bc3
push 1
call fcn.004e1eec
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
push 0x5f616d
mov ebx, dword [ebp - 0x20]
push dword [ebx]
call fcn.00401abb
add esp, 8
cmp eax, 0
jne 0x45212d
push 0x80000301
push 0
push dword [ebp + 8]
push 1
mov ebx, 0x4e3300
call fcn.004e1ef8
add esp, 0x10
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x2c]
mov dword [ebp - 0x24], eax
push str._____EditElement_
push dword [ebp - 0x24]
push str._EditElement_type_0_____CDATA_
push dword [ebp - 8]
mov ecx, 4
call fcn.00401bc3
add esp, 0x10
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x452110
push ebx
call fcn.004e1ee6
add esp, 4
mov eax, dword [ebp - 0x28]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x452124
push ebx
call fcn.004e1ee6
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x452542
mov ebx, dword [ebp - 4]
call fcn.004013dc
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x452154
push 0x3f9
push 0x4016bc3
push 4
call fcn.004e1eec
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x452171
push 0x3f9
push 0x4016bc3
push 1
call fcn.004e1eec
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
push 0x5f626d
mov ebx, dword [ebp - 0x20]
push dword [ebx]
call fcn.00401abb
add esp, 8
cmp eax, 0
jne 0x452223
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
push 0
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
call fcn.00453097
mov dword [ebp - 0x34], eax
push str._____EditElement_
push dword [ebp - 0x34]
push str._EditElement_type_0_____CDATA_
push dword [ebp - 8]
mov ecx, 4
call fcn.00401bc3
add esp, 0x10
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x452206
push ebx
call fcn.004e1ee6
add esp, 4
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x45221a
push ebx
call fcn.004e1ee6
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x452542
mov ebx, dword [ebp - 4]
call fcn.004013dc
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x45224a
push 0x4b5
push 0x4016bc3
push 4
call fcn.004e1eec
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x452267
push 0x4b5
push 0x4016bc3
push 1
call fcn.004e1eec
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
push 0x5f6274
mov ebx, dword [ebp - 0x20]
push dword [ebx]
call fcn.00401abb
add esp, 8
cmp eax, 0
jne 0x452304
push 1
push 8
push 1
push 2
call fcn.004502f4
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
push dword [ebp - 0x20]
call fcn.004537a7
mov dword [ebp - 0x28], eax
push str._____EditElement_
push dword [ebp - 0x28]
push str._EditElement_type_0_____CDATA_
push dword [ebp - 8]
mov ecx, 4
call fcn.00401bc3
add esp, 0x10
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x4522e7
push ebx
call fcn.004e1ee6
add esp, 4
mov eax, dword [ebp - 0x2c]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4522fb
push ebx
call fcn.004e1ee6
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x452542
mov ebx, dword [ebp - 4]
call fcn.004013dc
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x45232b
push 0x593
push 0x4016bc3
push 4
call fcn.004e1eec
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x452348
push 0x593
push 0x4016bc3
push 1
call fcn.004e1eec
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
push 0x5f627b
mov ebx, dword [ebp - 0x20]
push dword [ebx]
call fcn.00401abb
add esp, 8
cmp eax, 0
jne 0x4523e0
push 1
push 8
push 1
push 2
call fcn.004502f4
mov dword [ebp - 0x20], eax
push 1
push 0
push dword [ebp - 0x20]
call fcn.00453aa8
mov dword [ebp - 0x24], eax
push str._____EditElement_
push dword [ebp - 0x24]
push str._EditElement_type_0_____CDATA_
push dword [ebp - 8]
mov ecx, 4
call fcn.00401bc3
add esp, 0x10
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x4523c3
push ebx
call fcn.004e1ee6
add esp, 4
mov eax, dword [ebp - 0x28]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4523d7
push ebx
call fcn.004e1ee6
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x452542
mov ebx, dword [ebp - 4]
call fcn.004013dc
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x452407
push 0x68c
push 0x4016bc3
push 4
call fcn.004e1eec
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x452424
push 0x68c
push 0x4016bc3
push 1
call fcn.004e1eec
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
push 0x5f6282
mov ebx, dword [ebp - 0x20]
push dword [ebx]
call fcn.00401abb
add esp, 8
cmp eax, 0
jne 0x4524bc
push 1
push 8
push 1
push 2
call fcn.004502f4
mov dword [ebp - 0x20], eax
push 1
push 0
push dword [ebp - 0x20]
call fcn.00453d60
mov dword [ebp - 0x24], eax
push str._____EditElement_
push dword [ebp - 0x24]
push str._EditElement_type_0_____CDATA_
push dword [ebp - 8]
mov ecx, 4
call fcn.00401bc3
add esp, 0x10
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x45249f
push ebx
call fcn.004e1ee6
add esp, 4
mov eax, dword [ebp - 0x28]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4524b3
push ebx
call fcn.004e1ee6
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x452542
mov ebx, dword [ebp - 4]
call fcn.004013dc
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x4524e3
push 0x779
push 0x4016bc3
push 4
call fcn.004e1eec
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x452500
push 0x779
push 0x4016bc3
push 1
call fcn.004e1eec
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
push str._____EditElement_
mov ebx, dword [ebp - 0x20]
push dword [ebx]
push str._EditElement_type_0_____CDATA_
push dword [ebp - 8]
mov ecx, 4
call fcn.00401bc3
add esp, 0x10
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x45253e
push ebx
call fcn.004e1ee6
add esp, 4
pop eax
mov dword [ebp - 8], eax
pop eax
pop ebx
pop ecx
jmp 0x451ea1
add esp, 0xc
mov ebx, dword [0x6df40c]
call fcn.00401c1f
xor ecx, ecx
push eax
lea eax, [ebp - 0xc]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x452600
mov ebx, dword [0x6df40c]
call fcn.004013dc
push ebx
push ecx
mov eax, dword [ebp - 0xc]
dec eax
jns 0x452599
push 0x843
push 0x4016bc3
push 4
call fcn.004e1eec
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4525b6
push 0x843
push 0x4016bc3
push 1
call fcn.004e1eec
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x20], ebx
push str.__shortcut_____EditElement_
mov ebx, dword [ebp - 0x20]
push dword [ebx]
push str._EditElement_type_4__filepath_
push dword [ebp - 8]
mov ecx, 4
call fcn.00401bc3
add esp, 0x10
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4525f4
push ebx
call fcn.004e1ee6
add esp, 4
pop eax
mov dword [ebp - 8], eax
pop eax
pop ebx
pop ecx
jmp 0x452561
add esp, 0xc
push str.__QQRichEditFormat_
push dword [ebp - 8]
mov ecx, 2
call fcn.00401bc3
add esp, 8
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x45262f
push ebx
call fcn.004e1ee6
add esp, 4
pop eax
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
call fcn.004540cc
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x452653
push ebx
call fcn.004e1ee6
add esp, 4
pop eax
mov dword [ebp - 8], eax
cmp dword [0x6df410], 0
je 0x452688
push 0x80003
push 0
push dword [0x6df334]
push 1
mov eax, 7
mov ebx, 0x564439
call fcn.004e1f04
add esp, 0x10
push VariantClear
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x45269b
mov eax, 0x5b2bae
push eax
push 1
mov ebx, 0x4e3d20
call fcn.004e1ef8
add esp, 0x10
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
call fcn.0045411d
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x4526ca
push ebx
call fcn.004e1ee6
add esp, 4
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
push 1
push 0
push 0xc8
call fcn.0044f0d3
push dword [ebp + 8]
call fcn.0045480a
and eax, 1
xor eax, 1
test eax, eax
jne 0x4526ca
push 0xffffffffffffffff
push 8
push 0x160158fa
push 0x52010001
call fcn.004e1f0a
add esp, 0x10
mov dword [ebp - 0x20], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x452725
mov eax, 0x5b2bae
push eax
push 1
mov ebx, 0x4e3300
call fcn.004e1ef8
add esp, 0x10
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x45274b
push ebx
call fcn.004e1ee6
add esp, 4
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
push 1
mov eax, dword [ebp - 0x24]
cdq
push edx
push eax
call fcn.0044f0d3
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
push 1
push 0
push 0x64
call fcn.0044f0d3
push dword [ebp + 8]
call fcn.0045480a
and eax, 1
xor eax, 1
test eax, eax
jne 0x452764
push dword [ebp + 8]
call fcn.0045487e
cmp dword [0x6df410], 0
je 0x4527cc
push 0x80003
push 0
push dword [0x6df334]
push 1
mov eax, 7
mov ebx, 0x56444d
call fcn.004e1f04
add esp, 0x10
push 0xffffffffffffffff
push 8
push 0x160158fa
push 0x52010001
call fcn.004e1f0a
add esp, 0x10
mov dword [ebp - 0x20], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x4527f8
mov eax, 0x5b2bae
push eax
push 1
mov ebx, 0x4e3300
call fcn.004e1ef8
add esp, 0x10
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x45281e
push ebx
call fcn.004e1ee6
add esp, 4
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
push 1
mov eax, dword [ebp - 0x24]
cdq
push edx
push eax
call fcn.0044f0d3
push 0xffffffffffffffff
push 0x13
push 0x160158ff
push 0x52010001
call fcn.004e1f0a
add esp, 0x10
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x4528c7
xor ecx, ecx
inc ecx
push ecx
cmp ecx, 2
jg 0x4528c4
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
push 0xd
push dword [ebp + 8]
lea eax, [ebp - 0x14]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x168]
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
push 1
push 0
push 0x32
call fcn.0044f0d3
pop ecx
jmp 0x45285c
add esp, 4
push 0xffffffffffffffff
push 0x13
push 0x160158ff
push 0x52010001
call fcn.004e1f0a
add esp, 0x10
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jne 0x452922
push 1
push 2
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
push 0xd
push dword [ebp + 8]
lea eax, [ebp - 0x14]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x168]
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
push 1
push 0
push 0x3e8
call fcn.0044f0d3
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
push 1
mov eax, 0x5f62be
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
push 1
mov eax, 0x5f62c1
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp + 8]
call fcn.00454978
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x452983
push ebx
call fcn.004e1ee6
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x452993
push ebx
call fcn.004e1ee6
add esp, 4
mov ebx, dword [ebp - 0x18]
call fcn.00401c1f
xor ecx, ecx
push eax
lea eax, [ebp - 0x1c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x452dad
mov ebx, dword [ebp - 0x18]
call fcn.004013dc
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x4529d9
push 0xdcb
push 0x4016bc3
push 4
call fcn.004e1eec
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4529f6
push 0xdcb
push 0x4016bc3
push 1
call fcn.004e1eec
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x34
mov dword [ebp - 0x20], ebx
push 0x5f62c5
mov ebx, dword [ebp - 0x20]
push dword [ebx]
call fcn.00401abb
add esp, 8
cmp eax, 0
je 0x452a8e
mov ebx, dword [ebp - 0x18]
call fcn.004013dc
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x452a45
push 0xe08
push 0x4016bc3
push 4
call fcn.004e1eec
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x452a62
push 0xe08
push 0x4016bc3
push 1
call fcn.004e1eec
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x34
mov dword [ebp - 0x28], ebx
push 0x5f62d3
mov ebx, dword [ebp - 0x28]
push dword [ebx]
call fcn.00401abb
add esp, 8
cmp eax, 0
je 0x452a8e
xor eax, eax
jmp 0x452a93
mov eax, 1
test eax, eax
je 0x452da0
mov ebx, dword [ebp - 0x18]
call fcn.004013dc
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x452ac2
push 0xeac
push 0x4016bc3
push 4
call fcn.004e1eec
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x452adf
push 0xeac
push 0x4016bc3
push 1
call fcn.004e1eec
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x20], ebx
push 0x5f62e1
mov ebx, dword [ebp - 0x20]
push dword [ebx]
call fcn.00401abb
add esp, 8
cmp eax, 0
je 0x452b77
mov ebx, dword [ebp - 0x18]
call fcn.004013dc
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x452b2e
push 0xee6
push 0x4016bc3
push 4
call fcn.004e1eec
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x452b4b
push 0xee6
push 0x4016bc3
push 1
call fcn.004e1eec
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x28], ebx
push 0x5f62ec
mov ebx, dword [ebp - 0x28]
push dword [ebx]
call fcn.00401abb
add esp, 8
cmp eax, 0
je 0x452b77
xor eax, eax
jmp 0x452b7c
mov eax, 1
test eax, eax
je 0x452da0
mov ebx, dword [ebp - 0x18]
call fcn.004013dc
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x452bab
push 0xf5d
push 0x4016bc3
push 4
call fcn.004e1eec
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x452bc8
push 0xf5d
push 0x4016bc3
push 1
call fcn.004e1eec
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x1c
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], 0
push 0
push dword [ebp - 0x24]
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
mov eax, 0x5b2bb8
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
mov eax, 0x5f62f5
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x20]
call fcn.0043f158
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x452c20
push ebx
call fcn.004e1ee6
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x452c30
push ebx
call fcn.004e1ee6
add esp, 4
push VariantClear
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x452c43
mov eax, 0x5b2bae
push eax
push 1
mov ebx, 0x4e3300
call fcn.004e1ef8
add esp, 0x10
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x452c69
push ebx
call fcn.004e1ee6
add esp, 4
fild dword [ebp - 0x38]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
fadd qword [0x5b2b28]
fstp qword [ebp - 0x48]
mov ebx, dword [ebp - 0x18]
call fcn.004013dc
push ebx
push ecx
mov eax, dword [ebp - 0x1c]
dec eax
jns 0x452ca2
push 0xfc9
push 0x4016bc3
push 4
call fcn.004e1eec
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x452cbf
push 0xfc9
push 0x4016bc3
push 1
call fcn.004e1eec
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], 0
push 0
push dword [ebp - 0x50]
mov dword [ebp - 0x54], 0
push 0
push dword [ebp - 0x54]
mov eax, 0x5f62fa
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x4c]
call fcn.00443444
mov dword [ebp - 0x5c], eax
mov ebx, dword [ebp - 0x58]
test ebx, ebx
je 0x452d0b
push ebx
call fcn.004e1ee6
add esp, 4
push VariantClear
push 0
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x452d1e
mov eax, 0x5b2bae
push eax
push 1
mov ebx, 0x4e3300
call fcn.004e1ef8
add esp, 0x10
mov dword [ebp - 0x60], eax
mov ebx, dword [ebp - 0x5c]
test ebx, ebx
je 0x452d44
push ebx
call fcn.004e1ee6
add esp, 4
fild dword [ebp - 0x60]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
fadd qword [0x5f27fd]
fstp qword [ebp - 0x70]
mov dword [ebp - 0x74], 0
push 0
push dword [ebp - 0x74]
mov dword [ebp - 0x78], 0
push 0
push dword [ebp - 0x78]
push 1
fld qword [ebp - 0x70]
call fcn.004013b5
push eax
push 1
fld qword [ebp - 0x48]
call fcn.004013b5
push eax
push 1
push dword [ebp + 8]
call fcn.00456b45
call fcn.00421adf
pop eax
pop ebx
pop ecx
jmp 0x4529a4
add esp, 0xc
push dword [ebp + 8]
call fcn.00456fce
test eax, eax
je 0x452de4
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
push 1
push 0
push 0xc8
call fcn.0044f0d3
call fcn.00421adf
jmp 0x452db0
push 0xffffffffffffffff
push 8
push 0x160158f7
push 0x52010001
call fcn.004e1f0a
add esp, 0x10
mov dword [ebp - 0x20], eax
push VariantClear
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x452e10
mov eax, 0x5b2bae
push eax
push 1
mov ebx, 0x4e3300
call fcn.004e1ef8
add esp, 0x10
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x452e36
push ebx
call fcn.004e1ee6
add esp, 4
mov dword [ebp - 0x28], 0
push 0
push dword [ebp - 0x28]
push 1
mov eax, dword [ebp - 0x24]
cdq
push edx
push eax
call fcn.0044f0d3
push dword [ebp + 8]
lea eax, [ebp - 0x14]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x6c]
push dword [ebp + 8]
call fcn.0045725a
mov eax, 0x5f62ff
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
call fcn.00437f84
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x452e89
push ebx
call fcn.004e1ee6
add esp, 4
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
push 1
push 0
push 0x64
call fcn.0044f0d3
push dword [ebp + 8]
lea eax, [ebp - 0x14]
push eax
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x68]
test eax, eax
jne 0x452e4f
inc dword [0x6df414]
call fcn.0044ee06
mov ebx, dword [ebp - 4]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x452ee4
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x452ee0
imul eax, dword [ebx]
jmp 0x452ed5
mov ecx, eax
test ecx, ecx
je 0x452f03
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x452efc
push ebx
push eax
call fcn.004e1ee6
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x452eea
call fcn.004e1ee6
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x452f1b
push ebx
call fcn.004e1ee6
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x452f2b
push ebx
call fcn.004e1ee6
add esp, 4
mov ebx, dword [ebp - 0x14]
push ebx
mov eax, dword [ebx]
call dword [eax]
call fcn.004e1ee6
add esp, 4
mov ebx, dword [ebp - 0x18]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x452f59
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x452f55
imul eax, dword [ebx]
jmp 0x452f4a
mov ecx, eax
test ecx, ecx
je 0x453089
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x452f74
push ebx
call fcn.004e1ee6
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x452f88
push ebx
call fcn.004e1ee6
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x452f9c
push ebx
call fcn.004e1ee6
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x452fb0
push ebx
call fcn.004e1ee6
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x452fc4
push ebx
call fcn.004e1ee6
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x452fd8
push ebx
call fcn.004e1ee6
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x452fec
push ebx
call fcn.004e1ee6
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x453000
push ebx
call fcn.004e1ee6
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004e1ee6
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x453024
push ebx
call fcn.004e1ee6
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x453038
push ebx
call fcn.004e1ee6
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x45304c
push ebx
call fcn.004e1ee6
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x453060
push ebx
call fcn.004e1ee6
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x453074
push ebx
call fcn.004e1ee6
add esp, 4
pop ebx
call fcn.004e1ee6
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x452f5f
call fcn.004e1ee6
add esp, 4
mov esp, ebp
pop ebp
ret 4