Function at 0x67a9e0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x34
mov ecx, dword [esp + 0x40]
push esi
mov esi, dword [esp + 0x3c]
push edi
mov edi, dword [esp + 0x44]
push 0
mov eax, dword [esi]
mov dword [esp + 0xc], 0xffffffff
lea edx, [edi + ecx - 4]
mov ecx, dword [esi + 4]
push edx
push ecx
mov word [esp + 0x18], 0x410
mov word [esp + 0x1a], 0x45f3
call dword [eax + 8]
push esi
call fcn.00667cd0
mov edx, dword [esi]
add eax, edi
push 0
push eax
mov eax, dword [esi + 4]
push eax
call dword [edx + 8]
push esi
call fcn.00667c30
and eax, 0xffff
add esp, 0x20
cmp eax, 0x64
jg 0x67b0c0
mov ecx, eax
dec eax
test ecx, ecx
je 0x67b0c0
inc eax
push ebx
push ebp
mov dword [esp + 0x48], eax
push esi
call fcn.00667c30
mov di, ax
push esi
and edi, 0xffff
call fcn.00667cd0
mov edx, dword [esi]
mov ebx, eax
mov eax, dword [esi + 4]
push eax
call dword [edx + 0x18]
mov ebp, dword [esi]
add esp, 0xc
add eax, 4
push 0
push esi
mov dword [esp + 0x20], eax
call fcn.00667cd0
mov edx, dword [esp + 0x54]
mov ecx, dword [esi + 4]
add esp, 4
add eax, edx
push eax
push ecx
call dword [ebp + 8]
mov edx, edi
add esp, 0xc
sar edx, 8
add edx, 8
or edx, 8
cmp edx, 0x38
jne 0x67aac3
mov ecx, dword [esi + 4]
mov eax, dword [esi]
push ebx
push ecx
call dword [eax + 0x18]
add esp, 4
push eax
push esi
call fcn.0067a9e0
add esp, 0xc
cmp edi, 0x810
jne 0x67aae6
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push 1
lea eax, [esi + 0x6545]
push 0x40
push eax
push ecx
call dword [edx]
add esp, 0x10
jmp 0x67b09c
cmp edi, 0x80a
jne 0x67ab34
mov eax, dword [esi + 4]
mov edx, dword [esi]
lea edi, [esi + 0x6485]
push 1
push 0x40
push edi
push eax
call dword [edx]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esi + 4]
mov edx, dword [esi]
not ecx
add ecx, 0xffffffc0
push 1
push ecx
push eax
call dword [edx + 8]
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push 1
lea edx, [esi + 0x64c5]
push 0x40
push edx
push eax
call dword [ecx]
add esp, 0x2c
jmp 0x67b09c
cmp edi, 0x1810
jne 0x67ab5d
mov edx, dword [esi + 4]
mov ecx, dword [esi]
push 1
push 0xc
push edx
call dword [ecx + 8]
push esi
call fcn.00667cd0
add esp, 0x10
mov dword [esi + 0x66c4], eax
jmp 0x67b09c
cmp edi, 0x1835
jne 0x67ab79
push esi
call fcn.00667cd0
add esp, 4
mov dword [esi + 0x65f0], eax
jmp 0x67b09c
cmp edi, 0x2007
jne 0x67ab9e
mov ecx, dword [esi + 4]
mov eax, dword [esi]
push ecx
call dword [eax + 0x18]
add esp, 4
mov dword [esi + 0x65c0], eax
mov dword [esi + 0x65cc], ebx
jmp 0x67b09c
cmp edi, 0x1818
jne 0x67ac16
push esi
call fcn.00667cd0
push esi
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0x40000000
call fcn.00667cd0
push eax
call fcn.00667d40
fchs
fld qword [esp + 0x28]
fxch st(1)
call fcn.006fb640
fstp dword [esi + 0x6594]
push esi
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0x40000000
call fcn.00667cd0
push eax
call fcn.00667d40
fmul dword [0x73150c]
fld qword [esp + 0x38]
fxch st(1)
add esp, 0x14
call fcn.006fb640
fstp dword [esi + 0x6598]
jmp 0x67b09c
cmp edi, 0x102a
jne 0x67ad59
push esi
call fcn.00667cd0
push esi
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0x40000000
call fcn.00667c30
and eax, 0xffff
mov dword [esp + 0x58], eax
fild dword [esp + 0x58]
fmul dword [0x73fa5c]
fsub dword [0x731660]
fld qword [esp + 0x34]
fxch st(1)
call fcn.006fb640
fmul dword [0x73fa30]
push esi
fstp dword [esi + 0x6590]
call fcn.00667c30
push esi
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0x40000000
call fcn.00667c30
movsx edx, ax
mov dword [esp + 0x60], edx
fild dword [esp + 0x60]
fmul dword [0x73fa58]
fld qword [esp + 0x44]
fxch st(1)
call fcn.006fb640
fstp dword [esi + 0x6598]
push esi
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0x40000000
call fcn.00667c30
movsx eax, ax
neg eax
mov dword [esp + 0x64], eax
fild dword [esp + 0x64]
fmul dword [0x73fa5c]
fld qword [esp + 0x50]
fxch st(1)
call fcn.006fb640
fstp dword [esi + 0x6594]
push esi
call fcn.00667c30
push esi
call fcn.00667c30
and eax, 0xffff
add esp, 0x1c
cmp eax, 0x11
mov dword [esp + 0x10], eax
jle 0x67ad0b
mov dword [esp + 0x10], 0
mov edx, dword [esi + 4]
mov ecx, dword [esi]
push 1
push 0x20
push edx
call dword [ecx + 8]
fld dword [esi + 0x6594]
fcomp qword [0x73fa50]
add esp, 0xc
fnstsw ax
test ah, 0x41
jne 0x67b09c
push esi
call fcn.00667c30
add esp, 4
and eax, 0xffff
mov dword [esp + 0x50], eax
fild dword [esp + 0x50]
fmul dword [0x73fa4c]
fstp dword [esi + 0x6594]
jmp 0x67b09c
cmp edi, 0x102c
jne 0x67adf2
push esi
call fcn.00667c30
add esp, 4
cmp ax, 0x200
mov eax, dword [esi]
push 1
jbe 0x67adb3
mov ecx, dword [esi + 4]
push 0x76
push ecx
call dword [eax + 8]
add esp, 0xc
xor edi, edi
push esi
call fcn.00667c30
and eax, 0xffff
mov edx, edi
mov dword [esp + 0x54], eax
add esp, 4
fild dword [esp + 0x50]
xor edx, 2
inc edi
cmp edi, 4
fstp dword [esi + edx*4 + 0xe774]
jl 0x67ad86
jmp 0x67b09c
mov ecx, dword [esi + 4]
push 0x62
push ecx
call dword [eax + 8]
add esp, 0xc
xor edi, edi
push esi
call fcn.00667c30
mov edx, edi
and eax, 0xffff
xor edx, 2
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
sar edx, 1
add esp, 4
xor edx, edi
inc edi
fstp dword [esi + edx*4 + 0xe774]
cmp edi, 4
jl 0x67adc1
jmp 0x67b09c
cmp edi, 0x32
jne 0x67af24
cmp ebx, 0x300
jne 0x67ae4f
mov ecx, dword [esi + 4]
mov eax, dword [esi]
push 1
push 0x48
push ecx
call dword [eax + 8]
add esp, 0xc
xor edi, edi
push esi
call fcn.00667c30
and eax, 0xffff
mov edx, edi
mov dword [esp + 0x54], eax
add esp, 4
fild dword [esp + 0x50]
sar edx, 1
xor edx, edi
inc edi
fdivr dword [0x73fa48]
cmp edi, 4
fstp dword [esi + edx*4 + 0xe774]
jl 0x67ae15
mov eax, dword [esp + 0x10]
test eax, eax
jmp 0x67af0f
fld dword [esi + 0xe774]
fcomp dword [0x71a460]
fnstsw ax
test ah, 0x40
je 0x67b09c
push esi
call fcn.00667c30
add esp, 4
cmp ax, word [esp + 0x14]
jne 0x67aea5
lea eax, [esi + 0x64c5]
push str.Pro1
push eax
call fcn.004501f0
add esp, 8
test eax, eax
mov eax, str.012346000000000000
jne 0x67ae98
mov eax, str.01345:000000006008
mov ebx, dword [esp + 0x10]
movsx eax, byte [eax + ebx]
sub eax, 0x2e
jmp 0x67aebf
mov ebx, dword [esp + 0x10]
movsx eax, byte [ebx + str.023457000000006000]
sub eax, 0x30
xor ecx, ecx
mov word [esp + 0x16], cx
mov word [esp + 0x14], cx
mov ecx, dword [esi]
lea edx, [eax*8 + 0x4e]
mov eax, dword [esi + 4]
push 1
push edx
push eax
call dword [ecx + 8]
add esp, 0xc
xor edi, edi
push esi
call fcn.00667c30
mov ecx, edi
mov edx, edi
and ecx, 1
xor edx, 2
sar edx, 1
xor ax, word [esp + ecx*2 + 0x18]
add esp, 4
xor edx, edi
and eax, 0xffff
inc edi
mov dword [esp + 0x50], eax
cmp edi, 4
fild dword [esp + 0x50]
fstp dword [esi + edx*4 + 0xe774]
jl 0x67aed7
test ebx, ebx
jne 0x67b09c
mov dword [esi + 0xe774], 0xbf800000
jmp 0x67b09c
cmp edi, 0x10a9
jne 0x67af8d
cmp ebx, 0x42
jle 0x67af43
mov eax, dword [esp + 0x10]
movsx ecx, byte [eax + str.0134567028]
sub ecx, 0x30
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
push 1
lea ecx, [eax*8 + 2]
mov eax, dword [esi + 4]
push ecx
push eax
call dword [edx + 8]
add esp, 0xc
xor edi, edi
push esi
call fcn.00667c30
and eax, 0xffff
mov ecx, edi
mov dword [esp + 0x54], eax
add esp, 4
fild dword [esp + 0x50]
sar ecx, 1
xor ecx, edi
inc edi
cmp edi, 4
fstp dword [esi + ecx*4 + 0xe774]
jl 0x67af5f
jmp 0x67b09c
cmp edi, 0x1030
jne 0x67afb7
mov ecx, dword [esp + 0x10]
mov edx, 0x18040
sar edx, cl
test dl, 1
je 0x67b09c
push esi
call fcn.0067a8f0
add esp, 4
jmp 0x67b09c
cmp edi, 0x1031
jne 0x67afe7
push esi
call fcn.00667c30
push esi
call fcn.00667c30
push esi
mov word [esi + 0x66ae], ax
call fcn.00667c30
add esp, 0xc
mov word [esi + 0x66ac], ax
jmp 0x67b09c
cmp edi, 0x5029
jne 0x67b01f
mov eax, ebx
and ebx, 0xffff
sar eax, 0x10
mov dword [esp + 0x50], eax
cmp ebx, 2
fild dword [esp + 0x50]
fst dword [esi + 0x659c]
jne 0x67b09a
fmul dword [0x73fa5c]
fstp dword [esi + 0x659c]
jmp 0x67b09c
cmp edi, 0x5813
jne 0x67b038
push ebx
call fcn.00667d40
fstp dword [esi + 0x6588]
add esp, 4
jmp 0x67b09c
cmp edi, 0x5814
jne 0x67b051
push ebx
call fcn.00667d40
fstp dword [esi + 0x658c]
add esp, 4
jmp 0x67b09c
cmp edi, 0x5817
jne 0x67b061
mov dword [esi + 0x65a4], ebx
jmp 0x67b09c
cmp edi, 0x5834
jne 0x67b071
mov dword [esi + 0x65b4], ebx
jmp 0x67b09c
cmp edi, 0x580e
jne 0x67b081
mov dword [esi + 0x65a0], ebx
jmp 0x67b09c
cmp edi, 0x180e
jne 0x67b09c
push esi
call fcn.00667cd0
add esp, 4
mov dword [esi + 0x65a0], eax
jmp 0x67b09c
fstp st(0)
mov edx, dword [esp + 0x18]
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push 0
push edx
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x54]
add esp, 0xc
dec eax
mov dword [esp + 0x48], eax
jne 0x67aa54
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x34
ret